Commit graph

6983 commits

Author SHA1 Message Date
Leonardo de Moura
ef8aadcbea fix: fixes #653 2021-09-04 18:42:33 -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
6988560177 feat: apply allGoals (try rfl) at end of conv nested blocks 2021-09-03 19:21:34 -07:00
Leonardo de Moura
229373a7e6 chore: fix test 2021-09-03 18:59:13 -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
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
75b8d9aa86 feat: add support for classes with a prefix of outParams at deriving ... 2021-09-03 11:33:09 -07:00
Leonardo de Moura
bbb74bfd9a feat: elaborate optional deriving after def 2021-09-03 10:22:17 -07:00
Leonardo de Moura
8a268e184b feat: update def parser with optional deriving ... 2021-09-03 09:42:17 -07:00
Leonardo de Moura
35c0cc3c91 feat: deriving support for type aliases 2021-09-03 09:33:01 -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
18bcc458d0 feat: add 'enter' conv tactic macro 2021-09-03 08:11:37 -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
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
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
Leonardo de Moura
346e3ac845 feat: add helper methods for conv 2021-09-01 17:43:32 -07:00
Leonardo de Moura
22a80a9623 test: split tactic tests 2021-08-31 17:09:00 -07:00
Leonardo de Moura
03e61155b0 feat: allow instances to be (temporarily) erased 2021-08-31 15:30:29 -07:00
Leonardo de Moura
9e728ebb0a test: split tactic 2021-08-31 13:14:10 -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
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
d37d340bb0 test: MatchEqs.lean 2021-08-31 06:10:10 -07:00
Leonardo de Moura
aba0a479ec fix: intro at split tactic 2021-08-30 20:58:04 -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
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
2012d9dca1 fix: make sure simp only still uses eq_self 2021-08-30 09:50:11 -07:00
Leonardo de Moura
ce47000e33 fix: missing whnf at tryLemma? 2021-08-30 08:33:58 -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
091efbec4f test: simulate split tactic for match 2021-08-29 10:21:52 -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
6713d8777a fix: work duplication bug at specialize.cpp
closes #646
2021-08-27 10:35:27 -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
b5a434d8a9 test: for induction q with Quot.ind issue
See
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Induction.20alternative.20name.20when.20using.20Quot.2Eind.3F
2021-08-26 11:15:14 -07:00
Leonardo de Moura
672849e302 feat: improve error message for constant a b c : Nat
see issue  #645
2021-08-26 08:26:33 -07:00