Leonardo de Moura
a37e24af4a
test: _root_
...
cc @Kha
2020-11-05 15:39:22 -08:00
Leonardo de Moura
bf4d48f348
chore: cleanup for presentation
2020-11-05 12:43:02 -08:00
Leonardo de Moura
29730157ff
feat: support for _ and ?hole at all induction/cases variants
...
This commit also improves error position.
2020-11-03 17:20:53 -08:00
Leonardo de Moura
fa7fd4687c
feat: induction with multiple targets
2020-11-03 17:20:53 -08:00
Leonardo de Moura
2001e1708f
feat: add support for cases h_1:e_1, ..., h_n:e_n using elim
2020-11-03 17:20:53 -08:00
Leonardo de Moura
2226ec6426
chore: disable test until we implement "smart unfolding"
2020-11-03 17:20:53 -08:00
Leonardo de Moura
7cbee83a8a
feat: add try tactic
2020-11-03 17:20:52 -08:00
Leonardo de Moura
aafa09ddcd
chore: fix test
2020-11-03 17:20:52 -08:00
Leonardo de Moura
317b3fbc92
test: cases ... using ...
2020-11-03 17:20:52 -08:00
Leonardo de Moura
b9a2885e65
feat: add repeat tactic
2020-11-03 17:20:52 -08:00
Leonardo de Moura
ffc792ee02
test: dep-elim cases
2020-11-03 17:20:52 -08:00
Leonardo de Moura
5ef7fd08ab
test: cases ... using ... test
2020-11-03 17:20:52 -08:00
Leonardo de Moura
425cbac0dc
chore: fix tests
2020-11-02 19:33:08 -08:00
Leonardo de Moura
5854b5b9fe
feat: disallow alternatives of the form | _ ids => ...
...
@Kha We are still accepting wildcard alternatives of the form
`| _ => ...`
It is useful when we can discharge many alternatives using the same
tactic, and it looks like the wildcard alternative used in "match"-expressions.
2020-11-02 19:23:30 -08:00
Leonardo de Moura
f64bd9e1e3
chore: remove unnecessary with at induction/cases tactics
2020-11-02 13:30:54 -08:00
Leonardo de Moura
de8f8f0e28
feat: improve local context reduction approximation
2020-10-31 19:19:18 -07:00
Leonardo de Moura
f9194737f0
chore: fix tests
2020-10-31 19:19:18 -07:00
Leonardo de Moura
dd3501a4a7
chore: move test
2020-10-31 19:19:18 -07:00
Leonardo de Moura
77b160a5a8
chore: use mkFreshUserName at generalizeTelescope
2020-10-31 19:19:17 -07:00
Leonardo de Moura
f856849f8f
test: tactic framework
2020-10-30 18:01:20 -07:00
Leonardo de Moura
060535679f
test: let rec in tactic mode
...
@Kha: I added support for using `let rec` in tactic mode.
2020-10-30 14:58:17 -07:00
Leonardo de Moura
486d8457fa
test: tactic framework
2020-10-29 20:42:34 -07:00
Leonardo de Moura
84de2e4a5b
test: add injection notation test
2020-10-29 20:41:33 -07:00
Leonardo de Moura
278883a5d6
feat: improve tryLiftAndCoe
2020-10-29 12:46:04 -07:00
Leonardo de Moura
898a08a0c1
chore: avoid Has prefix in type classes
...
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
5fed774461
chore: HasRepr ==> Repr
2020-10-27 16:15:10 -07:00
Leonardo de Moura
10c32fcf94
chore: HasToString => ToString
2020-10-27 16:11:48 -07:00
Leonardo de Moura
592b73daf6
feat: expand suffices macro
2020-10-27 13:05:13 -07:00
Leonardo de Moura
573ca7dcad
chore: remove workarounds
2020-10-27 13:05:13 -07:00
Leonardo de Moura
633578cfaf
chore: use StateRefT macro
2020-10-27 13:05:12 -07:00
Leonardo de Moura
c979d81934
refactor: add polymorphic methods for updating/querying reducibility status
2020-10-26 17:07:28 -07:00
Leonardo de Moura
79609938a8
feat: allow universe constraints to be postponed longer
...
Before this commit, each `isDefEq u v` invocation would fail if there
were pending universe level constraints. This commit, moves the
postponed universe constraints back to the `MetaM` state.
It also adds the combinator
```lean
withoutPostponingUniverseConstraints x
```
which executes `x` and throws an error if there are pending universe
constraints. We use the combinator at `elabApp` and `elabBinders`.
Without this commit, we would fail to elaborate simple terms such as
```lean
Functor.map Prod.fst (x s)
```
because after elaborating `Prod.fst` and trying to ensure its type
match the expected one, we would be stuck at the universe constraint:
```
u =?= max u ?v
```
Another benefit of the new approach is better error messages. Instead
of getting a mysterious type mismatch constraint, we get a list of
universe contraints the system is stuck at.
cc @Kha
2020-10-26 15:50:05 -07:00
Leonardo de Moura
40f99327e9
fix: missing withMainMVarContext
2020-10-26 11:35:54 -07:00
Leonardo de Moura
7e244686e9
chore: remove old notation
2020-10-26 09:16:51 -07:00
Leonardo de Moura
db9e390b4d
chore: remove new_frontend from tests
2020-10-25 09:16:38 -07:00
Leonardo de Moura
fa101444b4
chore: fix tests
2020-10-25 09:11:13 -07:00
Leonardo de Moura
575db3bb3b
fix: improve structure/inductive commands universe level inference and validation
...
chore: cleanup
2020-10-25 05:46:51 -07:00
Leonardo de Moura
a4c69ec32c
chore: fix tests
2020-10-24 16:46:21 -07:00
Leonardo de Moura
0af4b6fb6f
chore: remove hack that produces big search space
2020-10-24 07:21:06 -07:00
Leonardo de Moura
21587ff19b
chore: move tests to new frontend
2020-10-23 16:18:52 -07:00
Leonardo de Moura
8cb1ff206c
chore: move tests to new frontend
2020-10-23 14:07:26 -07:00
Leonardo de Moura
40578d6d24
test: add explicit motive test
2020-10-23 06:00:51 -07:00
Leonardo de Moura
a7116b44c1
test: add new subst tests
2020-10-23 05:39:25 -07:00
Leonardo de Moura
474f9a3695
chore: fix tests
2020-10-22 17:46:15 -07:00
Leonardo de Moura
7c0b55ec6a
chore: fix tests
2020-10-22 17:34:30 -07:00
Leonardo de Moura
de0eb8035f
chore: fix test
2020-10-22 16:58:12 -07:00
Leonardo de Moura
85c955d77f
feat: improve ▸ notation
2020-10-22 10:35:45 -07:00
Leonardo de Moura
34945dfc1c
feat: elaborate ▸ notation
2020-10-22 10:20:23 -07:00
Leonardo de Moura
2041277cae
fix: field default value with implicit type
2020-10-22 07:02:40 -07:00
Leonardo de Moura
6ca1768957
fix: optional := in the structure command
2020-10-22 04:39:20 -07:00