lean4-htt/src/Init/Grind
Leonardo de Moura 349da6cae2
feat: improve [grind =] attribute (#6614)
This PR improves the usability of the `[grind =]` attribute by
automatically handling
forbidden pattern symbols. For example, consider the following theorem
tagged with this attribute:
```
getLast?_eq_some_iff {xs : List α} {a : α} : xs.getLast? = some a ↔ ∃ ys, xs = ys ++ [a]
```
Here, the selected pattern is `xs.getLast? = some a`, but `Eq` is a
forbidden pattern symbol.
Instead of producing an error, this function converts the pattern into a
multi-pattern,
allowing the attribute to be used conveniently.
2025-01-12 16:51:09 +00:00
..
Cases.lean feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Lemmas.lean feat: add support for splitting on <-> to grind (#6607) 2025-01-12 02:25:02 +00:00
Norm.lean feat: improve [grind =] attribute (#6614) 2025-01-12 16:51:09 +00:00
Offset.lean feat: improve inequality offset support theorems for grind (#6595) 2025-01-09 20:43:30 +00:00
Propagator.lean feat: support for builtin grind propagators (#6448) 2024-12-25 22:55:39 +00:00
Tactics.lean feat: improve case-split heuristic used in grind (#6609) 2025-01-12 04:21:04 +00:00
Util.lean feat: split on match-expressions in the grind tactic (#6569) 2025-01-08 03:10:11 +00:00