Helper definitions and theorems for constructing linear arithmetic proofs.
Similar to Poly.denote, but produces a denotation better for simp +arith.
Remark: we used to convert Poly back into Expr to achieve that.
Instances For
Normalizes the given polynomial by fusing monomial and constants.
Instances For
Converts the given expression into a polynomial.
Instances For
Converts the given expression into a polynomial, and then normalizes it.
Instances For
Returns the ceiling-compatible remainder of the division a / b.
This function ensures that the remainder is consistent with cdiv, meaning:
a = b * cdiv a b + cmod a b
See theorem cdiv_add_cmod. We also have
-b < cmod a b ≤ 0
Instances For
Returns the constant of the given linear polynomial.
Instances For
Returns true if k divides all coefficients and the constant of the given
linear polynomial.
Instances For
Returns true if k divides all coefficients of the given linear polynomial.
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Constraint propagation helper theorems.
Helper theorem for linearizing nonlinear terms