Commit graph

6956 commits

Author SHA1 Message Date
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
Leonardo de Moura
efa5db197e fix: position information for implicit type 2021-08-26 08:07:16 -07:00
Leonardo de Moura
1ede4843e3 feat: add renameI tactic 2021-08-25 18:50:59 -07:00
Leonardo de Moura
5e4c79964a fix: nasty bug at rename tactic 2021-08-25 15:27:29 -07:00
Leonardo de Moura
5003c74191 chore: fix test 2021-08-25 07:00:25 -07:00
Leonardo de Moura
42f1e16f44 chore: fix calc test 2021-08-25 06:59:46 -07:00
Sebastian Ullrich
f9fd0b3de4 feat: calc 2021-08-25 06:57:09 -07:00
Leonardo de Moura
2f8d2e8a12 feat: add procedure for solving subgoals generated by mkSplitterProof 2021-08-24 20:23:13 -07:00
Leonardo de Moura
214f2f7bb6 fix: toFVarsRHSArgs 2021-08-24 16:50:03 -07:00
Sebastian Ullrich
e632c14f3f chore: align stx precedence in syntax to the new one in macro 2021-08-24 10:11:12 -07:00
Wojciech Nawrocki
feff4c2ed3 feat: unify goal handlers 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
e8af38f586 chore: fix tests 2021-08-24 08:57:41 -07:00
Leonardo de Moura
4f45a514fc fix: TC issue introduced by recent bug fix
This commit fixes the issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/instance.20not.20synthesizing.20issue.3F
2021-08-23 17:32:19 -07:00
Leonardo de Moura
79e6732fc6 fix: update tokenTable at withNamespace parser combinator
It also moves `withOpen` and `withOpenDecl` applications to simplify
their definitions and make sure we do not need to reset the cache.
2021-08-23 09:41:36 -07:00
Leonardo de Moura
7edc42fdfc fix: scoped command after open command
The issue was reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Ending.20a.20command
2021-08-23 08:29:30 -07:00
Leonardo de Moura
d93c4317d1 feat: add withOpenDecl and withOpen parsers
It allow us to process `open .. in ..` while parsing.
This is useful for activating a scoped parser while parsing.
TODO: `openOnly` and `openHiding`, these two cases are rarely used
with `open .. in ..`

closes #529
2021-08-22 20:50:35 -07:00
Leonardo de Moura
ca747e9b27 feat: use contradiction at leaves
closes #644
2021-08-22 18:41:02 -07:00
Leonardo de Moura
48e6188e89 feat: use exfalso at ElimEmptyInductive 2021-08-22 18:16:14 -07:00
Leonardo de Moura
7385cbfe2d test: add mapTR test 2021-08-22 16:51:38 -07:00
Leonardo de Moura
21c68a49e3 feat: elaborate nonrec modifier 2021-08-21 17:02:54 -07:00
Leonardo de Moura
46a5f06121 feat: do not consider dot notation when isAuxDecl is true 2021-08-21 16:35:32 -07:00
Leonardo de Moura
ec6af1ba26 feat: use simple List.append definition and add csimp theorem 2021-08-21 16:11:54 -07:00
Leonardo de Moura
4d1d06fcbc chore: fix test 2021-08-21 15:07:36 -07:00
Leonardo de Moura
3b240d9a14 feat: use simple List.length definition and add csimp theorem 2021-08-21 13:11:06 -07:00
Leonardo de Moura
6cfdfe9942 feat: apply csimp attribute constant replacements 2021-08-21 12:22:15 -07:00
Leonardo de Moura
e8d23f305d chore: elaborate open scoped 2021-08-21 07:16:24 -07:00
Leonardo de Moura
7066619123 refactor: define Nat.le using inductive type 2021-08-20 19:39:45 -07:00
Sebastian Ullrich
5f4b1b1d44 Revert "Revert "feat: reintroduce libleanshared, link lean & leanpkg against it""
This reverts commit ccbc9d00db.
2021-08-20 09:42:05 -07:00