Leonardo de Moura
29b340aa36
fix: consume Expr.mdata at congr tactic
...
fixes #1118
2022-04-25 06:33:32 -07:00
Leonardo de Moura
099fba43d3
chore: remove trace[Meta.debug] leftovers
2022-04-08 06:49:09 -07:00
Leonardo de Moura
272dd5533f
chore: style use · instead of . for lambda dot notation
...
We are considering removing `.` as an alternative for `·` in the
lambda dot notation (e.g., `(·+·)`).
Reasons:
- `.` is not a perfect replacement for `·` (e.g., `(·.insert ·)`)
- `.` is too overloaded: `(f.x)` and `(f .x)` and `(f . x)`. We want to keep the first two.
2022-03-11 07:49:03 -08:00
Sebastian Ullrich
54522006f4
refactor: List.get: take Fin to align with Array.get
...
/cc @leodemoura
2022-02-15 18:41:22 +01: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
12e2a79170
chore: fix codebase after removing auto pure
2022-02-03 18:08:14 -08:00
Leonardo de Moura
d4f7899591
chore: avoid code duplication setting Simp.Config
2022-01-24 18:57:31 -08:00
Leonardo de Moura
6d235586f0
fix: ignore TC failures while processing patterns
...
closes #948
2022-01-13 10:55:09 -08:00
Leonardo de Moura
1cf8467847
feat: add unfold conv tactic
2022-01-07 13:51:45 -08:00
Leonardo de Moura
83cf5b20a1
fix: simpLet
...
Given `let x := v; b`, `simpLet` was using an incorrect local context to simplify `v`.
2021-10-22 16:29:00 -07:00
Leonardo de Moura
78b3b8b1e8
fix: pattern should only match if the head symbols are equal
2021-10-22 14:26:11 -07:00
Leonardo de Moura
881bf2a088
fix: set zeta to true at pattern conv tactic
2021-10-22 14:14:49 -07:00
Leonardo de Moura
fbdb68b669
feat: conv in conv
...
Featured suggested at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Pattern.20matching.20lambda.20body.20in.20conv/near/257193307
2021-10-22 13:53:56 -07:00
Leonardo de Moura
002fb7f446
fix: make sure pattern is tried on partial applications
...
This commit fixes issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Pattern.20matching.20lambda.20body.20in.20conv/near/256939753
2021-10-10 15:47:04 -07:00
Leonardo de Moura
04fae18fe4
fix: make sure stop conv pattern stop at first match
2021-10-10 15:47:04 -07:00
Leonardo de Moura
e8bdb66dda
fix: make sure we can match pattern inside binders
...
This commit fixes issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Pattern.20matching.20lambda.20body.20in.20conv/near/256890867
2021-10-10 15:47:04 -07:00
Leonardo de Moura
7f660af4c6
feat: add repeat tactic to conv mode
2021-10-06 14:05:44 -07:00
Leonardo de Moura
0a898965a3
chore: use snake_case for user-facing tactic names
2021-09-16 10:23:12 -07:00
Leonardo de Moura
c2a5e37c60
feat: simp discharger
2021-09-16 10:11:27 -07:00
Leonardo de Moura
bfa1c86b24
feat: add optional config parser to rewrite tactics
2021-09-12 19:05:15 -07:00
Leonardo de Moura
ea37c64b52
feat: add Meta.Rewrite.Config
2021-09-12 18:44:08 -07:00
Leonardo de Moura
5154f462f8
feat: add reduce conv tactic
2021-09-09 17:47:10 -07:00
Leonardo de Moura
496cc92ae9
feat: add simpMatch helper conv tactic
2021-09-09 17:29:32 -07:00
Leonardo de Moura
b5b5370181
feat: add delta to conv mode
2021-09-09 13:07:33 -07:00
Leonardo de Moura
029c5b74a2
feat: ignore implicit arguments at congr conv tactic
2021-09-05 09:44:52 -07:00
Leonardo de Moura
d3c487ddbf
feat: change lhs and rhs conv tactic semantics
...
They can now be applied to non binary applications.
2021-09-05 09:29:40 -07:00
Leonardo de Moura
aedc706e7d
feat: in modifier at conv tactic
...
It is just a macro for `pattern`
2021-09-04 18:20:33 -07:00
Leonardo de Moura
41cfef5bc4
feat: add pattern conv tactic
2021-09-04 18:02:46 -07:00
Leonardo de Moura
53a3831fd5
feat: add apply conv macro
2021-09-03 20:23:15 -07:00
Leonardo de Moura
94bc386fb4
feat: remark goals as conv goals at the end of nested tactic block
2021-09-03 19:52:51 -07:00
Leonardo de Moura
de455a9010
chore: add tactic' => ... which preserves the conv goal annotation
2021-09-03 19:41:39 -07:00
Leonardo de Moura
6988560177
feat: apply allGoals (try rfl) at end of conv nested blocks
2021-09-03 19:21:34 -07:00
Leonardo de Moura
e6c9da0fcc
feat: add support for implication at congr conv tactic
2021-09-03 18:50:19 -07:00
Leonardo de Moura
69075c775f
fix: missing withMainContext
2021-09-03 16:57:24 -07:00
Leonardo de Moura
44e7033c27
feat: add support for forall_congr at conv
2021-09-03 16:57:15 -07:00
Leonardo de Moura
3f70bc543f
feat: add simp conv tactic
2021-09-03 12:06:29 -07:00
Leonardo de Moura
8a249bddd2
feat: add try rfl at end of convTarget
2021-09-03 08:14:47 -07:00
Leonardo de Moura
b5b5ef6fdf
feat: add funext conv tactic
2021-09-03 08:00:37 -07:00
Leonardo de Moura
95b83ac2c0
feat: add 'conv at .. => ..' support
2021-09-02 19:40:08 -07:00
Leonardo de Moura
7b8ee8f9d8
feat: add 'change' conv tactic
2021-09-02 19:26:25 -07:00
Leonardo de Moura
397774157f
feat: nested tactic support in conv mode
2021-09-02 19:12:05 -07:00
Leonardo de Moura
39adda8ffe
fix: missing goals
2021-09-02 19:11:52 -07:00
Leonardo de Moura
41ce24e2c6
feat: add done and traceState conv tactics
2021-09-02 18:46:03 -07:00
Leonardo de Moura
33361929b9
feat: add rewrite conv tactic
2021-09-02 18:13:19 -07:00
Leonardo de Moura
4d32f8eb9d
feat: add arg conv tactic
2021-09-02 17:43:43 -07:00
Leonardo de Moura
391366ef24
refactor: add annotation for displaying conv state
2021-09-02 15:52:11 -07:00
Leonardo de Moura
4df9983843
feat: lhs and rhs conv tactics
2021-09-02 15:05:51 -07:00
Leonardo de Moura
e3ccc03a45
chore: add nested conv tactics
2021-09-01 18:44:35 -07:00
Leonardo de Moura
7a69c6483d
feat: add congr conv tactic
2021-09-01 18:32:21 -07:00