Commit graph

56 commits

Author SHA1 Message Date
Sebastian Ullrich
814f614369 fix: simp attributes and macro scopes 2022-04-26 10:39:02 +02:00
Leonardo de Moura
3cf642688b fix: do not generate equation theorems while processing dsimp arguments 2022-04-25 18:11:32 -07:00
Leonardo de Moura
342a26a023 feat: dsimp tactic 2022-04-23 18:05:18 -07:00
Leonardo de Moura
4848ad4869 feat: implement autoUnfold at simp
Right now, it only supports the following kind of definitions
- Recursive definitions that support smart unfolding.
- Non-recursive definitions where the body is a match-expression. This
kind of definition is only unfolded if the match can be reduced.
2022-04-18 16:51:52 -07:00
Leonardo de Moura
321d6b0e67 feat: support for user-defined simp attributes in the simp tactic.
See `RELEASES.md`

TODO: make sure `-thm` also removes `thm` from user-defined simp attributes.
2022-03-20 18:45:57 -07:00
Leonardo de Moura
c1777c17e3 feat: add simpTargetStar 2022-02-08 11:43:45 -08:00
Leonardo de Moura
9c2942c36d chore: "simp lemma" => "simp theorem" 2022-02-06 09:15:39 -08:00
Leonardo de Moura
d6dc077c86 refactor: CongrLemma => SimpCongrTheorem 2022-02-06 09:15:39 -08:00
Leonardo de Moura
96bae46045 refactor: SimpLemma => SimpTheorem 2022-02-06 09:15:39 -08:00
Leonardo de Moura
12e2a79170 chore: fix codebase after removing auto pure 2022-02-03 18:08:14 -08:00
Sebastian Ullrich
9cca1a57e0 feat: generalize syntax of fvar-accepting tactics 2021-11-29 10:06:15 -08:00
Scott Morrison
0fc3702d02
chore: remove superfluous abbrev
This abbreviation already exists as Lean.Meta.FVarIdToLemmaId, which is imported. (And in fact the code relies on the fact they are definitionally equal.)

Closes #781.
2021-11-15 18:21:55 -08:00
Scott Morrison
835bd0869b feat: simpLocation 2021-11-15 18:20:50 -08:00
Leonardo de Moura
c2a5e37c60 feat: simp discharger 2021-09-16 10:11:27 -07:00
Leonardo de Moura
fd8fb3cf9e chore: prepare to change simp syntax 2021-09-16 07:41:04 -07:00
Leonardo de Moura
8c82302aca refactor: add config syntax and macro for boilerplate code 2021-09-12 18:09:19 -07:00
Leonardo de Moura
445cc3085f refactor: avoid Name, MVarId, and FVarId confusion 2021-09-07 19:06:50 -07:00
Leonardo de Moura
3f70bc543f feat: add simp conv tactic 2021-09-03 12:06:29 -07:00
Leonardo de Moura
2012d9dca1 fix: make sure simp only still uses eq_self 2021-08-30 09:50:11 -07:00
Leonardo de Moura
c897f63dd0 fix: using incorrect local context to process simp arguments 2021-08-26 12:49:12 -07:00
Leonardo de Moura
4cfbe6030f feat: add simpLocalDecl 2021-08-17 21:32:32 -07:00
Leonardo de Moura
60ff468a8b feat: add simpGoal helper method
chore: rename `simpGoal?`
2021-08-17 21:32:32 -07:00
Leonardo de Moura
9182ebd4c1 feat: elaborate * simp argument 2021-08-15 08:02:21 -07:00
Leonardo de Moura
3c68703f39 feat: elaborate <- modifier at simp arguments 2021-08-15 07:07:58 -07:00
Leonardo de Moura
7c5ab8b4c9 chore: prepare to add <- as simp argument 2021-08-14 06:59:55 -07:00
Sebastian Ullrich
cef3ade164 fix: info on non-atomic simp args 2021-06-23 00:08:07 -07:00
Leonardo de Moura
f816e6107b fix: report (pending) type mismatch errors in simp arguments 2021-06-16 11:35:49 -10:00
Leonardo de Moura
53b2ceea51 fix: missing withoutModifyingState at elabSimpConfig 2021-05-16 13:07:13 -07:00
Sebastian Ullrich
6303c134a9 feat: add term info at resolveId? 2021-05-05 18:54:47 +02:00
Leonardo de Moura
91cb4aad2a refactor: simplify and document SimpLemma encoding 2021-04-10 15:03:04 -07:00
Leonardo de Moura
4f09390b8e feat: create SimpLemmas.Proof.abst at the simp tactic frontend 2021-04-10 14:17:43 -07:00
Leonardo de Moura
8be9a13679 feat: support for SimpLemma.Proof.abst 2021-04-10 12:46:48 -07:00
Leonardo de Moura
3ba9872f33 feat: allow cdot notation at simp
closes #388
2021-04-09 19:50:42 -07:00
Leonardo de Moura
ec5afce45b feat: contextual := true at simp_all
cc @Kha
2021-03-24 15:49:31 -07:00
Sebastian Ullrich
29c7db3ed2 feat: term info at many more constants 2021-03-20 08:31:06 -07:00
Leonardo de Moura
86a204d8a1 feat: add simp_all tactic
cc @Kha
2021-03-19 22:34:35 -07:00
Leonardo de Moura
d70740fef2 fix: location notation and simp 2021-03-19 19:54:22 -07:00
Leonardo de Moura
1af02dcaca feat: allow users to mark definitions with [simp]
cc @JasonGross @Kha
2021-03-17 19:11:55 -07:00
Leonardo de Moura
205b42a397 feat: proper syntax for configuring simp 2021-03-17 16:37:04 -07:00
Leonardo de Moura
f25f0edda4 chore: prepare to update simp notation 2021-03-17 16:21:10 -07:00
Leonardo de Moura
5eda786f6e feat: use False.elim when simplifying local declarations that rewrite to False 2021-03-17 15:30:54 -07:00
Leonardo de Moura
0720a53a9d chore: refactoring and cleanup 2021-03-17 14:56:08 -07:00
Leonardo de Moura
66f1a88f2c feat: simp [-decl] 2021-03-04 17:50:44 -08:00
Leonardo de Moura
1fedbfb9a3 feat: simp only 2021-03-04 11:58:34 -08:00
Leonardo de Moura
c58b0dd53c chore: prepare for adding simp only 2021-03-04 11:47:38 -08:00
Leonardo de Moura
1ed2ee4df8 fix: local simp lemmas with implicits 2021-02-20 14:29:15 -08:00
Leonardo de Moura
5e24da0c2e fix: simp argument issue
See new test.
2021-02-16 13:12:57 -08:00
Leonardo de Moura
e97df2f61b feat: functions to unfold at simp 2021-02-15 15:32:25 -08:00
Leonardo de Moura
0787886cea feat: improve simp local lemma elaboration 2021-02-13 18:55:19 -08:00
Leonardo de Moura
3a9cd7e85b refactor: use Simp.Context instead of Config+SimpLemmas+CongrLemmas 2021-02-13 18:55:19 -08:00