This PR uses the commutative ring module to normalize nonlinear polynomials in `grind cutsat`. Examples: ```lean example (a b : Nat) (h₁ : a + 1 ≠ a * b * a) (h₂ : a * a * b ≤ a + 1) : b * a^2 < a + 1 := by grind example (a b c : Int) (h₁ : a + 1 + c = b * a) (h₂ : c + 2*b*a = 0) : 6 * a * b - 2 * a ≤ 2 := by grind ``` |
||
|---|---|---|
| .. | ||
| module_normalization.lean | ||
| nat_module.lean | ||
| nlinarith.lean | ||
| ring_normalization.lean | ||