Leonardo de Moura
6a39c65bd2
feat: improve match error message
2021-01-14 14:58:34 -08:00
Leonardo de Moura
d2cdef85ea
chore: fix tests
2021-01-14 14:25:41 -08:00
Leonardo de Moura
791388400b
feat: improve do error messages
...
cc @Kha @Vtec234
2021-01-14 14:18:56 -08:00
Leonardo de Moura
25c9727a92
feat: add TermInfo for LVal
...
@Vtec234 Added the missing info.
Given
```lean
def f3 (s : Nat × Array (Array Nat)) : Array Nat :=
s.2[1].push s.1
```
We produce the following `InfoTree` for the body (originally at line 30)
```
Array.push (Array.getOp s.snd 1) s.fst : Array Nat @ ⟨30, 2⟩-⟨30, 17⟩
s : Nat × Array (Array Nat) @ ⟨30, 2⟩-⟨30, 3⟩
Prod.snd : {α β : Type} → α × β → β @ ⟨30, 4⟩-⟨30, 5⟩
Array.getOp : {α : Type} → [inst : Inhabited α] → Array α → Nat → α @ ⟨30, 5⟩-⟨30, 6⟩
1 : Nat @ ⟨30, 6⟩-⟨30, 7⟩
Array.push : {α : Type} → Array α → α → Array α @ ⟨30, 9⟩-⟨30, 13⟩
s.fst : Nat @ ⟨30, 14⟩-⟨30, 17⟩
s : Nat × Array (Array Nat) @ ⟨30, 14⟩-⟨30, 15⟩
Prod.fst : {α β : Type} → α × β → α @ ⟨30, 16⟩-⟨30, 17⟩
```
2021-01-14 12:19:21 -08:00
Leonardo de Moura
fb52ec8ef5
feat: store binder information in the InfoTree
...
@Vtec234 I am storing the binder information using `TermInfo`.
If it helps, I can add a custom `Info` constructor.
Example: `| Info.ofBinderInfo (i : BinderInfo)`.
2021-01-14 12:19:21 -08:00
Leonardo de Moura
e5b93783b0
test: TC issue repro
2021-01-13 18:41:01 -08:00
Leonardo de Moura
6e3792e995
chore: fix tests
2021-01-13 18:31:50 -08:00
Leonardo de Moura
7a1fe0d235
chore: fix tests
2021-01-13 10:35:38 -08:00
Leonardo de Moura
8ddde1443c
test: sorry warning
2021-01-13 10:30:35 -08:00
Leonardo de Moura
0c629b4a26
chore: fix tests
2021-01-12 17:19:38 -08:00
Leonardo de Moura
42b5e780f5
chore: fix test
2021-01-12 08:14:16 -08:00
Leonardo de Moura
7160a010d1
chore: fix test
2021-01-12 06:58:35 -08:00
Leonardo de Moura
b5fdc5e364
fix: expand abbreviations at isClass?
2021-01-12 06:56:23 -08:00
Leonardo de Moura
1ebf69e163
fix: simple-match macro
2021-01-12 06:41:32 -08:00
Leonardo de Moura
36008271ea
feat: ensure no unassigned metavariables in the declaration header when type is explicitly provided
2021-01-11 16:40:14 -08:00
Leonardo de Moura
8d0085ae31
feat: unification hints + type classes
2021-01-11 15:34:57 -08:00
Leonardo de Moura
f0992c7022
chore: fix tests
2021-01-11 13:01:04 -08:00
Leonardo de Moura
84f78edb31
feat: store declaration ranges
2021-01-11 12:50:11 -08:00
Leonardo de Moura
3388c63e11
fix: typo at ParamInfo.isExplicit
2021-01-11 07:08:17 -08:00
Leonardo de Moura
7dec568ef6
fix: missing withDeclName
2021-01-11 06:50:55 -08:00
Leonardo de Moura
300fcc3321
fix: bug at getStuckMVar?
2021-01-11 06:43:08 -08:00
Leonardo de Moura
ac4961fa37
test: check stdlib doc strings
2021-01-10 07:36:16 -08:00
Leonardo de Moura
308c61027a
feat: save doc strings
...
We can now document `let rec` too.
2021-01-10 07:13:33 -08:00
Leonardo de Moura
873634be7e
feat: hierarchical InfoTree
2021-01-09 14:10:11 -08:00
Leonardo de Moura
b069b1174f
fix: nasty interaction between macro scopes and auto bound implicit names
...
See issue #255
2021-01-08 06:33:30 -08:00
Leonardo de Moura
11c7ca40c3
fix: missing case at Match.lean
2021-01-07 17:38:22 -08:00
Leonardo de Moura
fcd73e72c1
feat: add getModuleOf
...
cc @Kha @Vtec234
2021-01-07 15:20:29 -08:00
Leonardo de Moura
5baa162713
chore: lean 3 behavior for apply
2021-01-05 12:29:29 -08:00
Leonardo de Moura
403699f5e4
fix: elim_array_cases
2021-01-04 16:10:49 -08:00
Sebastian Ullrich
a8c04388bb
chore: disable flaky test
2021-01-04 15:44:03 +01:00
Leonardo de Moura
93f3c98780
test: add partial/unsafe tests
2021-01-01 18:46:12 -08:00
Leonardo de Moura
e517d72bee
feat: simpForall
2021-01-01 17:24:56 -08:00
Leonardo de Moura
244b72befd
feat: simpArrow
2021-01-01 17:15:15 -08:00
Leonardo de Moura
15c052d44a
feat: basic simpLet
2021-01-01 15:54:29 -08:00
Leonardo de Moura
493d089878
feat: add support for simp { contextual := true }
2021-01-01 15:39:41 -08:00
Leonardo de Moura
e742dd1348
feat: allow user to set Simp.Config at simp
2021-01-01 15:12:18 -08:00
Leonardo de Moura
ac394e4fdf
fix: simp at hypotheses and using hypotheses
2021-01-01 12:05:38 -08:00
Leonardo de Moura
ce09e795b9
feat: finalizeProof at rewrite step
2021-01-01 11:33:34 -08:00
Leonardo de Moura
3a369938c8
feat: simpLambda
2021-01-01 09:52:01 -08:00
Leonardo de Moura
b756562d4a
feat: simp beta/proj/recursor/matcher
2021-01-01 08:29:21 -08:00
Leonardo de Moura
57e05af9da
feat: add simp benchmark
2020-12-31 15:46:56 -08:00
Leonardo de Moura
e2c8b1694b
feat: improve subst
2020-12-31 10:54:55 -08:00
Leonardo de Moura
698908584b
fix: revert
2020-12-31 09:47:05 -08:00
Leonardo de Moura
90428cc09b
feat: expand let-decls at decide!
2020-12-31 09:47:05 -08:00
Leonardo de Moura
a32c45a515
feat: simp infrastructure
2020-12-30 18:00:04 -08:00
Leonardo de Moura
34f6f8ef5d
feat: pre/post simp lemmas
2020-12-30 13:46:14 -08:00
Leonardo de Moura
03cc69f1db
feat: track permutation simp lemmas
2020-12-30 13:46:14 -08:00
Leonardo de Moura
6aab25b3cc
chore: add missing ppSpace
2020-12-30 11:23:16 -08:00
Sebastian Ullrich
48361d92dd
chore: increase robustness of stdlib benchmark?
2020-12-30 17:01:05 +01:00
Leonardo de Moura
eba3983658
feat: use binrel! gadget to define >, <, ... notations
...
It has better support for applying coercions.
2020-12-29 16:53:10 -08:00