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
d7537f252a
chore: remove unnecessay parser/elab
2021-09-02 17:29:32 -07:00
Leonardo de Moura
391366ef24
refactor: add annotation for displaying conv state
2021-09-02 15:52:11 -07:00
Leonardo de Moura
a8b434f93d
feat: add missing parsers
2021-09-02 15:25:34 -07:00
Leonardo de Moura
4df9983843
feat: lhs and rhs conv tactics
2021-09-02 15:05:51 -07:00
Leonardo de Moura
9bb5d4dc93
chore: Nat.ltWf => Nat.lt_wf
2021-09-02 07:51:41 -07:00
Leonardo de Moura
f1c5e7596b
chore: fix build
2021-09-01 19:26:56 -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
Leonardo de Moura
346e3ac845
feat: add helper methods for conv
2021-09-01 17:43:32 -07:00
Leonardo de Moura
254f82c273
feat: basic infrastructure for conv mode
2021-09-01 17:00:45 -07:00
Leonardo de Moura
1a362bc212
feat: add support for displaying conv goal in interactive mode
2021-09-01 16:45:12 -07:00
Leonardo de Moura
2166057d47
chore: add elab_stx_quot for conv
2021-09-01 15:56:14 -07:00
Leonardo de Moura
6d8058034a
chore: basic conv mode parsers
2021-09-01 15:35:32 -07:00
Leonardo de Moura
b18af2c15c
feat: basic support for displaying conv state
2021-09-01 15:34:59 -07:00
Leonardo de Moura
d67c633ca1
feat: allow user to set "behavior" at declare_syntax_cat
2021-09-01 13:28:12 -07:00
Leonardo de Moura
5f762171cc
feat: add support for split at
2021-08-31 19:35:07 -07:00
Leonardo de Moura
6db4b53c40
fix: missing flag
2021-08-31 19:29:09 -07:00
Leonardo de Moura
8fec444e55
feat: add injections tactic
2021-08-31 19:12:06 -07:00
Leonardo de Moura
ad539a23e1
chore: cleanup proofs for tutorial
2021-08-31 16:37:40 -07:00
Leonardo de Moura
03e61155b0
feat: allow instances to be (temporarily) erased
2021-08-31 15:30:29 -07:00
Leonardo de Moura
56961060d4
fix: use rawIdent at eraseAttr parser
...
Reason: some attribute names are also keywords (e.g., `instance`).
2021-08-31 15:07:21 -07:00
Leonardo de Moura
c7d797f5b6
feat: add simpMatch and use it at splitMatch
2021-08-31 12:53:41 -07:00
Leonardo de Moura
6d4422e5ac
refactor: add Simp.tryLemma?
2021-08-31 12:32:34 -07:00
Leonardo de Moura
a83872c718
chore: add pp.match option
2021-08-31 12:32:04 -07:00
Leonardo de Moura
2375447b4d
chore: remove temporary trace messages
2021-08-31 12:13:07 -07:00
Leonardo de Moura
a79b50d629
chore: add type to error message
2021-08-31 10:06:22 -07:00
Leonardo de Moura
c491f829e0
feat: elaborator for the calc notation
...
- It produces better error messages.
- It tweaks the elaboration order.
- It adds a checkpoint after each step.
- It avoids the `show .. from ..` workaround.
2021-08-31 09:56:49 -07:00
Leonardo de Moura
aba0a479ec
fix: intro at split tactic
2021-08-30 20:58:04 -07:00
Leonardo de Moura
0a215ac1d2
feat: store the number of parameters in each match splitter alternative
2021-08-30 20:57:18 -07:00
Leonardo de Moura
b500a2053d
feat: split tactic for splitting match and if terms
2021-08-30 18:31:20 -07:00
Leonardo de Moura
92cf7c987f
chore: cleanup
2021-08-30 16:33:05 -07:00
Leonardo de Moura
ad3b0b4a2c
feat: nary generalize tactic
...
This commit also fixes a bug when using multiple targets with the
`induction` and `cases` tactics.
2021-08-30 16:31:39 -07:00
Leonardo de Moura
2a6473641a
chore: fix theorem name
2021-08-30 10:10:54 -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
f4c72025ee
feat: add calc tactic macro
2021-08-30 09:33:32 -07:00
Leonardo de Moura
ce47000e33
fix: missing whnf at tryLemma?
2021-08-30 08:33:58 -07:00
Leonardo de Moura
79938056ad
chore: add isIte and isDIte
2021-08-30 07:08:19 -07:00
Leonardo de Moura
02224548d2
chore: generalize signatures
2021-08-30 07:05:40 -07:00
Leonardo de Moura
34d8ecc066
fix: use show .. from .. to implement calc
...
Recall that `show .. from ..` ensures that proof has exactly the type
provided by the user.
In the new test, `rw [ih]` without this change because the goal would
be
```
... |- 0 + succ n = succ n
```
2021-08-29 11:33:50 -07:00
Leonardo de Moura
1f37cc7b41
feat: add next x₁ ... xₙ => tac tactic
2021-08-29 10:51:01 -07:00
Leonardo de Moura
1e5a4729c3
feat: case _ ... => ... as solve next goal
2021-08-29 10:45:38 -07:00
Leonardo de Moura
9d5f211c28
feat: add environment extension for storing match conditional equations and splitter
2021-08-28 14:49:20 -07:00
Leonardo de Moura
e0e3de5c62
feat: allow (decidable) propositions at #eval
2021-08-27 15:06:48 -07:00
Leonardo de Moura
03f095ccab
fix: match + OfNat issue
...
See https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/simp.20match.20question
2021-08-27 11:48:02 -07:00
Leonardo de Moura
152572386b
chore: fix comment
2021-08-27 10:43:51 -07:00