This PR implements basic support for `CommRing` in `grind`. Terms are already being reified and normalized. We still need to process the equations, but `grind` can already prove simple examples such as: ```lean open Lean.Grind in example [CommRing α] (x : α) : (x + 1)*(x - 1) = x^2 - 1 := by grind +ring open Lean.Grind in example [CommRing α] [IsCharP α 256] (x : α) : (x + 16)*(x - 16) = x^2 := by grind +ring example (x : Int) : (x + 1)*(x - 1) = x^2 - 1 := by grind +ring example (x : UInt8) : (x + 16)*(x - 16) = x^2 := by grind +ring example (x : Int) : (x + 1)^2 - 1 = x^2 + 2*x := by grind +ring example (x : BitVec 8) : (x + 16)*(x - 16) = x^2 := by grind +ring example (x : BitVec 8) : (x + 1)^2 - 1 = x^2 + 2*x := by grind +ring ``` |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lean-toolchain | ||