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
Sebastian Ullrich
f56d81de32
chore: revert "chore: avoid .."
...
This reverts commit 60c0e7b3d4 .
2020-11-03 15:12:23 +01:00
Sebastian Ullrich
e6b15ff6b4
feat: delaborator: apply pp options from Expr.mdata nodes
...
/cc @leodemoura
2020-11-03 12:36:33 +01: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
dfc346e76f
chore: remove obsolete attribute
2020-11-02 06:47:20 -08:00
Leonardo de Moura
2367d4d122
chore: fix test
2020-11-01 09:38:39 -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
87bf97bdc1
feat: expand term try, for, unless, and return
2020-10-31 19:19:17 -07:00
Leonardo de Moura
77b160a5a8
chore: use mkFreshUserName at generalizeTelescope
2020-10-31 19:19:17 -07:00
Leonardo de Moura
3101b83f98
fix: missing do
2020-10-30 18:15:37 -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
0af30273c5
feat: hide auxiliary metavariables used to compile let-rec
2020-10-30 14:58:17 -07:00
Leonardo de Moura
0a56057db1
feat: better error message for "unknown" tactic
...
@Kha The hack I posted at Zulip didn't really work
```
macro x:ident : tactic => throw $ Lean.Macro.Exception.error x s!"unknown tactic '{x.getId}'"
```
For example, we would still get a weird error message at
```
theorem ex3 (x : Nat) : x = x → x = x :=
have x = x by foo (aaa bbb) -- The error would be at `bbb`
fun h => h
```
There were other minor issues that could be fixed, but this one was bad.
2020-10-30 14:58:17 -07:00
Sebastian Ullrich
0731d3f080
fix: double indentation inside parentheses
...
Ideally we would skip the indentation after any leading token without trailing
whitespace, but it's not quite clear how to do that in general
2020-10-30 19:10:08 +01:00
Sebastian Ullrich
bc8cb5edda
feat: pretty printer: adapt new indentation style
2020-10-30 19:08:39 +01: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
672436bc5f
feat: allow user to assign parsing priorities in the macro and elab commands
2020-10-29 20:33:51 -07:00
Leonardo de Moura
2a5b18fde4
test: add nondet example
2020-10-29 16:33:40 -07:00
Leonardo de Moura
278883a5d6
feat: improve tryLiftAndCoe
2020-10-29 12:46:04 -07:00
Sebastian Ullrich
0c97f648a8
chore: use stage 2 for benchmarking
...
/cc @leodemoura
2020-10-29 12:29:52 +01:00
Sebastian Ullrich
72fc3f6679
feat: separate benchmark for profiling the stdlib per-file
2020-10-29 11:53:03 +01:00
Sebastian Ullrich
acc1752874
chore: remove old speedcenter config
2020-10-29 11:53:03 +01:00
Leonardo de Moura
4ba21ea10c
chore: cleanup src/Array/Basic.lean
2020-10-28 19:35:42 -07:00
Leonardo de Moura
520714d31d
chore: fix test
2020-10-28 13:29:07 -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
Sebastian Ullrich
7696f71518
Revert "chore: avoid fun | ... => notation"
...
This reverts commit 8c6f536367 .
2020-10-27 16:50:58 +01:00
Sebastian Ullrich
6fb0ae91c7
test: fix tests
2020-10-27 16:50:58 +01:00
Sebastian Ullrich
20ed65605b
fix: don't parenthesize juxtaposed tactics
2020-10-27 14:09:33 +01:00
Sebastian Ullrich
84692acd0e
fix: do not introduce parentheses implied by indentation
2020-10-27 14:09:33 +01:00
Sebastian Ullrich
73323a7500
fix: remove obsolete workaround confusing the formatter
...
We don't generate antiquotations for `tparser!` anymore
2020-10-27 14:09:33 +01:00
Sebastian Ullrich
33c861a80e
fix: parenthesizer: really make sure a trailing parser is of the same category as the continuation
2020-10-27 14:09:33 +01:00
Sebastian Ullrich
eb125c52f1
fix: never pretty-print whitespace before checkNoWsBefore
2020-10-27 14:09:33 +01:00
Sebastian Ullrich
43c875fd7a
fix: tactic block indentation
2020-10-27 14:09:33 +01: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
Sebastian Ullrich
b856553b4f
chore: fix benchmark
2020-10-25 21:55:50 +01:00