This PR improves the case splitting strategy used in `grind`, and
ensures `grind` also considers simple `match`-conditions for
case-splitting. Example:
```lean
example (x y : Nat)
: 0 < match x, y with
| 0, 0 => 1
| _, _ => x + y := by -- x or y must be greater than 0
grind
```
11 lines
244 B
Text
11 lines
244 B
Text
example (x n : Nat)
|
|
: 0 < match x with
|
|
| 0 => 1
|
|
| _ => x + n := by
|
|
grind
|
|
|
|
example (x y : Nat)
|
|
: 0 < match x, y with
|
|
| 0, 0 => 1
|
|
| _, _ => x + y := by -- x or y must be greater than 0
|
|
grind
|