This PR implements support for normalization for commutative semirings that do not implement `AddRightCancel`. Examples: ```lean variable (R : Type u) [CommSemiring R] example (a b c : R) : a * (b + c) = a * c + b * a := by grind example (a b : R) : (a + b)^2 = a^2 + 2 * a * b + b^2 := by grind example (a b : R) : (a + 2 * b)^2 = a^2 + 4 * a * b + 4 * b^2 := by grind example (a b : R) : (a + 2 * b)^2 = 4 * b^2 + b * 4 * a + a^2 := by grind ``` |
||
|---|---|---|
| .. | ||
| algebra | ||
| experiments | ||
| grind_palindrome.lean | ||
| nat_repeat.lean | ||
| README.md | ||
| sublist.lean | ||
Aspirational test cases for grind
These are not expected to work yet; we're collecting examples that we'd like to make work!