lean4-htt/src/Lean/Elab/PreDefinition
Joachim Breitner 96c6f9dc96
feat: fun_induction and fun_cases tactics (#7069)
This PR adds the `fun_induction` and `fun_cases` tactics, which add
convenience around using functional induction and functional cases
principles.

```
fun_induction foo  x y z
```
elaborates `foo x y z`, then looks up `foo.induct`, and then essentially
does
```
induction z using foo.induct y
```
including and in particular figuring out which arguments are parameters,
targets or dropped. This only works for non-mutual functions so far.

Likewise there is the `fun_cases` tactic using `foo.fun_cases`.
2025-02-16 10:59:56 +00:00
..
Nonrec refactor: WF: create unfold theorems eagerly (#6898) 2025-02-03 09:05:22 +00:00
PartialFixpoint refactor: WF: create unfold theorems eagerly (#6898) 2025-02-03 09:05:22 +00:00
Structural feat: fun_induction and fun_cases tactics (#7069) 2025-02-16 10:59:56 +00:00
WF feat: propagate wfParam through let (#7039) 2025-02-12 13:22:08 +00:00
Basic.lean feat: asynchronous code generation (#6770) 2025-02-03 17:17:18 +00:00
Eqns.lean refactor: WF: create unfold theorems eagerly (#6898) 2025-02-03 09:05:22 +00:00
EqUnfold.lean feat: generate f.eq_unfold lemmas (#5141) 2024-08-29 16:47:40 +00:00
Main.lean feat: asynchronous code generation (#6770) 2025-02-03 17:17:18 +00:00
MkInhabitant.lean refactor: make mkInhabitantFor error message configurable (#6356) 2024-12-10 14:32:19 +00:00
Mutual.lean feat: partial_fixpoint: partial functions with equations (#6355) 2025-01-21 09:54:30 +00:00
PartialFixpoint.lean feat: partial_fixpoint: partial functions with equations (#6355) 2025-01-21 09:54:30 +00:00
Structural.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
TerminationHint.lean refactor: TerminationArgument → TerminationMeasure (#6727) 2025-01-23 10:41:38 +00:00
TerminationMeasure.lean feat: refactor of find functions on List/Array/Vector (#6833) 2025-01-30 01:14:21 +00:00
WF.lean refactor: WF: create unfold theorems eagerly (#6898) 2025-02-03 09:05:22 +00:00