This PR implements `NatModule` normalization when the `AddRightCancel`
instance is not available. Note that in this case, the embedding into
`IntModule` is not injective. Therefore, we use a custom normalizer,
similar to the `CommSemiring` normalizer used in the `grind ring`
module. Example:
```lean
open Lean Grind
example [NatModule α] (a b c : α)
: 2•a + 2•(b + 2•c) + 3•a = 4•a + c + 2•b + 3•c + a := by
grind
```
|
||
|---|---|---|
| .. | ||
| algebra | ||
| experiments | ||
| grind_fin.lean | ||
| 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!