Leonardo de Moura
7e3519a3a2
test: add CPDT first example
2022-03-12 17:06:20 -08:00
Leonardo de Moura
f0c31d7e28
feat: allow rw to unfold nonrecursive definitions too
2022-03-12 15:44:52 -08:00
Leonardo de Moura
c0a72172f1
chore: update stage0
2022-03-12 15:35:09 -08:00
Leonardo de Moura
7af09ac009
refactor: move equation theorem cache to Meta/Eqns.lean
2022-03-12 15:34:32 -08:00
Leonardo de Moura
cf0ca026fb
feat: equation theorems at rw
2022-03-12 13:53:02 -08:00
Leonardo de Moura
9d1dbada79
feat: only try to generate equation theorems for definitions whose types are not propositions
2022-03-12 13:44:33 -08:00
Leonardo de Moura
8a46668884
chore: update stage0
2022-03-12 10:46:17 -08:00
Leonardo de Moura
a6bfefe5bd
fix: nasty performance problem at isDefEq
...
This problem was originally exposed by the `Array.eraseIdxAux`.
2022-03-12 10:44:43 -08:00
Leonardo de Moura
eddcedb58c
fix: pattern normalization code
2022-03-12 06:07:04 -08:00
Lars
95cf18457d
chore: address review comments
2022-03-12 13:25:35 +00:00
Sebastian Ullrich
82c682d385
chore: remove redundant proof
2022-03-12 11:12:56 +01:00
Leonardo de Moura
a4f47adf9e
fix: normalize method at Match.lean
2022-03-11 18:19:37 -08:00
Leonardo de Moura
63dcf2124c
chore: add link to quickstart to README
2022-03-11 16:35:07 -08:00
Chris Lovett
6dc576121d
doc: replace quickstart leanpkg info with info about lake
2022-03-11 16:31:58 -08:00
Leonardo de Moura
15e30a93f3
feat: update RELEASES.md
2022-03-11 16:28:01 -08:00
larsk21
e430496903
doc: fix fuzzy matching docs
2022-03-11 16:25:26 -08:00
larsk21
ea5b6d568f
fix: review suggestions + code structure
2022-03-11 16:25:26 -08:00
larsk21
0ef3ea4bc9
feat: enable fuzzy matching for workspace symbols
2022-03-11 16:25:26 -08:00
larsk21
64dba41b4c
feat: enable fuzzy matching for completion
2022-03-11 16:25:26 -08:00
Sebastian Ullrich
ff11325fce
perf: use mkArray in fuzzyMatchCore
2022-03-11 16:25:26 -08:00
Sebastian Ullrich
d48c5b99e9
perf: eliminate MProd allocations in iterateLookaround
2022-03-11 16:25:26 -08:00
Sebastian Ullrich
896b9b48a3
perf: eliminate some allocations in iterateLookaround
2022-03-11 16:25:26 -08:00
Sebastian Ullrich
7106d3fb34
perf: specialize iterateLookaround
2022-03-11 16:25:26 -08:00
larsk21
135eac71a1
feat: add string fuzzy matching
2022-03-11 16:25:26 -08:00
Leonardo de Moura
5caf1bc692
chore: style
...
Use `·` instead of `.` for structuring tactics.
2022-03-11 16:12:46 -08:00
Leonardo de Moura
ddf93d2f8a
feat: support for arrow types in the dot notation
...
cc @gebner
2022-03-11 15:39:41 -08:00
Leonardo de Moura
8d42978e63
feat: generate error message when induction tactic is used on a nested inductive type without specifying an eliminator
2022-03-11 14:45:57 -08:00
Leonardo de Moura
712e9b7d45
chore: add custom induction principle for LazyList
2022-03-11 14:21:35 -08:00
Leonardo de Moura
7d5da95434
fix: remove unused hypotheses from conditional equation theorems
2022-03-11 14:10:57 -08:00
Leonardo de Moura
54b74796f6
feat: use tryContradiction at mkUnfoldProof
2022-03-11 12:52:15 -08: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
Leonardo de Moura
2364bc7b46
chore: add link to issue
2022-03-10 17:10:12 -08:00
Leonardo de Moura
002412e9d0
chore: missing code block annotation
2022-03-10 17:08:54 -08:00
Leonardo de Moura
1b5e9c7c83
chore: use new notation on its own implementation
2022-03-10 16:56:39 -08:00
Leonardo de Moura
61cd3dcc32
chore: update stage0
2022-03-10 16:55:40 -08:00
Leonardo de Moura
e1fa9c131c
feat: inferring namespace from expected type a la Swift
...
Now that `PatternVars.lean` has been redesigned, it is feasible to
implement issue #944 .
closes #944
2022-03-10 16:55:25 -08:00
Leonardo de Moura
7a7841fa95
chore: update stage0
2022-03-10 16:07:25 -08:00
Leonardo de Moura
1c99fe92ac
feat: add dotIdent parser
...
see #944
2022-03-10 16:04:41 -08:00
Leonardo de Moura
3214a20d33
feat: allow overloaded notation in patterns
2022-03-10 12:51:34 -08:00
Leonardo de Moura
fddc8b06ac
fix: missing case at getStuckMVar?
...
Fix issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/'rewrite'.20failed.20but.20it.20should.20work/near/274870747
2022-03-10 10:33:11 -08:00
Leonardo de Moura
92318d07bb
feat: add MonadBacktrack instance for CollectPatternVars.M monad
2022-03-10 10:23:18 -08:00
Leonardo de Moura
7a39be225d
refactor: move methods to MetaM
2022-03-10 10:00:46 -08:00
Leonardo de Moura
2fb9a39cb4
refactor: implement MonadQuotation at CoreM
2022-03-10 09:55:20 -08:00
Leonardo de Moura
3edb0ede04
chore: update stage0
2022-03-10 08:56:06 -08:00
Leonardo de Moura
7850dc023b
fix: make sure the structure instance notation does not leak auxiliary type annotations (e.g., autoParam and optParam)
2022-03-10 08:41:00 -08:00
Leonardo de Moura
c1b1a916eb
doc: update release notes
2022-03-10 08:26:27 -08:00
Leonardo de Moura
efc89eb4e1
fix: make sure inferProjType consume auxiliary type annotations
2022-03-10 08:15:34 -08:00
Leonardo de Moura
0ef8aaeda0
feat: make sure minor premises in recursors do not include auxiliary type annotations (e.g., autoParam and optParam)
2022-03-10 08:08:36 -08:00
Leonardo de Moura
1afee372f7
refactor: move consume_type_annotations declaration to expr.h
2022-03-10 08:00:39 -08:00
Leonardo de Moura
33883e9d2a
fix: resulting type of projection functions should not include auxiliary type annotations (e.g., autoParam)
2022-03-10 07:47:38 -08:00