This PR implements support for equations `<num> = 0` in rings and fields of unknown characteristic. Examples: ```lean example [Field α] (a : α) : (2 * a)⁻¹ = a⁻¹ / 2 := by grind example [Field α] (a : α) : (2 : α) ≠ 0 → 1 / a + 1 / (2 * a) = 3 / (2 * a) := by grind example [CommRing α] (a b : α) (h₁ : a + 2 = a) (h₂ : 2*b + a = 0) : a = 0 := by grind example [CommRing α] (a b : α) (h₁ : a + 6 = a) (h₂ : b + 9 = b) (h₂ : 3*b + a = 0) : a = 0 := by grind example [CommRing α] (a b : α) (h₁ : a + 6 = a) (h₂ : b + 9 = b) (h₂ : 3*b + a = 0) : a = 0 := by grind example [CommRing α] (a b : α) (h₁ : a + 2 = a) (h₂ : b = 0) : 4*a + b = 0 := by grind example [CommRing α] (a b c : α) (h₁ : a + 6 = a) (h₂ : c = c + 9) (h : b + 3*c = 0) : 27*a + b = 0 := by grind ``` |
||
|---|---|---|
| .. | ||
| algebra | ||
| experiments | ||
| grind_palindrome.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!