Gabriel Ebner
7f51628986
fix: simp: strip mdata when testing for True/False
...
Fixes #2173
2023-04-10 21:06:42 -07:00
Gabriel Ebner
572ffe77e3
fix: implement assertAfter using revert
2022-12-21 21:42:07 +01:00
Gabriel Ebner
e386d5941e
refactor: replace ignoreLevelMVarDepth by levelAssignDepth
2022-12-19 20:14:17 +01:00
Leonardo de Moura
0a031fc9bb
chore: replace Expr.forEach with Expr.forEachWhere
2022-12-01 05:19:32 -08:00
Leonardo de Moura
8fc3d77a0b
feat: add trace.Meta.Tactic.simp.numSteps and trace.Meta.Tactic.simp.heads
2022-11-30 07:07:07 -08:00
Leonardo de Moura
c510d16ef5
fix: fixes #1808
2022-11-28 07:48:54 -08:00
Leonardo de Moura
9d8b324f8d
fix: fixes #1869
...
Better support for simplifying class projections.
2022-11-24 11:56:36 -08:00
Leonardo de Moura
556b6706ee
fix: fixes #1856
2022-11-18 19:34:32 -08:00
Leonardo de Moura
edadd8c034
fix: fixes #1841
...
This commit adds the configuration option
`ApplyConfig.approx` (available in Lean 3), and sets it to true by
default like in Lean 3.
2022-11-16 14:46:05 -08:00
Leonardo de Moura
98922b878a
fix: fixes #1815
2022-11-15 17:08:54 -08:00
Leonardo de Moura
1b0c2f7157
feat: parameterize DiscrTree indicating whether non trivial reductions are allowed or not when indexing/retrieving terms
2022-11-15 16:47:12 -08:00
Leonardo de Moura
81c84bf045
feat: do not perform iota reduction at the discrimination tree module
2022-11-15 16:47:12 -08:00
Leonardo de Moura
1cc58e60ef
fix: fixes #1829
2022-11-15 08:31:36 -08:00
Leonardo de Moura
c3d86001c4
chore: simplify dependencies at MatchEqs
2022-11-11 05:51:05 -08:00
Leonardo de Moura
8030aed56e
fix: fixes #1814
...
Missing `hasAssignableMVar` checks.
2022-11-10 20:42:02 -08:00
Mario Carneiro
999b61007c
feat: tweak behavior of congrN to match lean 3 ( #1798 )
2022-11-04 06:55:13 -07:00
Mario Carneiro
ad1c23f172
fix: bug in replaceLocalDeclDefEq
...
fixes #1615
2022-11-01 19:18:25 -07:00
Leonardo de Moura
5f38a483f2
fix: congr tactic
...
`MVarId.congr?` and `MVarId.hcongr?` should return `none` if an
exception is thrown while applying congruence theorem.
`MVarId.hcongr?` should try `eq_of_heq` before trying to apply
`hcongr` theorem.
closes #1787
BTW: Lean 4 `congr` tactic is applying `assumption`. Lean 3 version does not.
2022-10-28 08:00:04 -07:00
Leonardo de Moura
279c34ff46
feat: add MVarId.eqOfHEq tactic
2022-10-28 07:52:45 -07:00
Leonardo de Moura
ad98df80fe
feat: congr theorems using Iff
...
closes #1763
2022-10-26 18:00:24 -07:00
Leonardo de Moura
0b6b754bca
feat: improve apply tactic
...
It tries to address what the Mathlib community calls the "apply bug".
cc @digama0
2022-10-26 16:58:43 -07:00
mcdoll
6cf9a63193
doc: fix typo ( #1775 )
...
equaal -> equal
2022-10-24 15:05:51 +02:00
David Renshaw
16320a297f
doc: fix some typos
...
Leah -> Lean
giveName -> givenName
2022-10-22 21:16:35 +02:00
Mario Carneiro
dd8bbe9367
fix: catch kernel exceptions in Kernel.{isDefEq, whnf}
...
fixes #1756
2022-10-20 05:38:29 -07:00
Mario Carneiro
583e023314
chore: snake-case attributes (part 2)
2022-10-19 09:28:08 -07:00
Mario Carneiro
857e452281
feat: optional doc comment for register_simp_attr
2022-10-13 18:52:56 -07:00
Gabriel Ebner
ba57ad3480
feat: add implementation-detail hypotheses
2022-10-11 17:24:35 -07:00
Leonardo de Moura
0041de5d1d
fix: congr tactic should not try to synthesize instance implicit arguments that have been inferred when applying congr theorem
...
see #1711
2022-10-10 07:24:27 -07:00
Mario Carneiro
391aef5cd7
feat: automatic extension names
2022-10-06 17:19:30 -07:00
Mario Carneiro
73f44ccb7b
feat: hover for cases/induction case names
2022-09-29 19:07:18 +02:00
Mario Carneiro
6f8e861158
fix: case names in congr conv
2022-09-28 14:24:44 -07:00
Mario Carneiro
b6a58d13e1
fix: LHS goals should be pre-whnf'd
2022-09-28 14:24:44 -07:00
Mario Carneiro
85119ba9d1
chore: move Std.* data structures to Lean.*
2022-09-26 05:46:04 -07:00
Mario Carneiro
fa13d7321f
feat: generalize e = x at h
2022-09-25 06:42:20 -07:00
Mario Carneiro
84497c1d09
feat: sort simp lemmas by application order
2022-09-25 06:40:56 -07:00
Mario Carneiro
afca560bda
chore: revert builtin flag on Origin
2022-09-25 06:40:56 -07:00
Mario Carneiro
b739186e98
feat: use a structured type for simp theorem Origin
2022-09-25 06:40:56 -07:00
Mario Carneiro
9550db0e3b
chore: remove fvarIdToLemmaId
2022-09-25 06:40:56 -07:00
Mario Carneiro
606328aceb
feat: improve simp theorem tracing
2022-09-25 06:40:56 -07:00
Mario Carneiro
0961561d4e
feat: track simp lemmas through the core tactics
2022-09-25 06:40:56 -07:00
Mario Carneiro
687f1c2271
refactor: make simp lemma names mandatory
2022-09-25 06:40:56 -07:00
Mario Carneiro
3e83e28e8f
feat: injections with names
2022-09-20 17:36:35 -07:00
Mario Carneiro
6392c5b456
chore: import reductions
2022-09-15 14:02:38 -07:00
Gabriel Ebner
fb259f95db
feat: remove description argument from register_simp_attr
2022-09-08 14:49:43 -07:00
Mario Carneiro
ebb5b97d73
chore: move Bootstrap.Data -> Lean.Data
2022-08-31 11:48:57 -07:00
Mario Carneiro
bf89c5a0f5
chore: move Std -> Bootstrap
2022-08-29 01:26:12 -07:00
Mario Carneiro
ee22e637cd
fix: use withContext at ac_rfl
2022-08-26 15:23:24 -07:00
Sebastian Ullrich
e81ba951c6
fix: Core.transform API and uses
2022-08-25 19:07:42 -07:00
Leonardo de Moura
cae7b7443d
chore: remove trace leftovers
2022-08-21 11:42:50 -07:00
Leonardo de Moura
0d52a3f92b
fix: add attachJp
...
Auxiliary function for attaching jump to a join point to an existing
let-code block.
2022-08-17 07:32:11 -07:00