Denotation of reified expressions #
Converts reified RingExpr, Poly, Mon, Power back into Lean Exprs using
the ring's cached operator functions and variable array.
Convert an integer to a numeral expression in the ring. Negative values use getNegFn.
Instances For
Denote a Power (variable raised to a power).
Instances For
Denote a Mon (product of powers).
Instances For
Denote a Poly (sum of coefficient × monomial terms).
Instances For
Denote a RingExpr whose variables are the current ring's, looked up with getVar.
Instances For
Denote a RingExpr whose variables index vars instead of the current ring's variables.
Proof terms rename the variables of an expression to the compact range 0 .. n-1 of the
variables it actually uses (see renameVars), and build an RArray context out of those
n terms; the denotation of the renamed expression must use that same array.
Instances For
Convert a natural number to a numeral expression in the semiring.
Instances For
Denote a SemiringExpr whose variables index vars, using the semiring's operators.
Fails on the constructors that have no semiring denotation (sub, neg, intCast, negative numerals).