Commit graph

16651 commits

Author SHA1 Message Date
Sebastian Ullrich
2734a5baba feat: show state on by 2021-05-02 23:07:15 +02:00
Leonardo de Moura
1a0fc816b1 feat: rename inaccessible variable names at cases 2021-05-01 21:51:58 -07:00
Leonardo de Moura
663a5124f4 chore: naming convention 2021-05-01 21:29:06 -07:00
Leonardo de Moura
93189e0fce chore: prepare to change case tactic 2021-05-01 19:53:44 -07:00
Leonardo de Moura
ba5d622e59 chore: avoid case tactic 2021-05-01 19:50:50 -07:00
Leonardo de Moura
106952622a chore: modify induction hypotheses generated names 2021-05-01 16:21:12 -07:00
Leonardo de Moura
a2e8bc0780 feat: use binop% to define arith operators
closes #382
2021-04-30 19:40:45 -07:00
Leonardo de Moura
9d934694e7 feat: refine binop% elaborator
see issue #382
2021-04-30 19:37:58 -07:00
Leonardo de Moura
d01fb5451c feat: add support for binop% at elabCDotFunctionAlias 2021-04-30 19:17:16 -07:00
Leonardo de Moura
0a018f2369 chore: add support for binop% in patterns 2021-04-30 18:38:44 -07:00
Leonardo de Moura
f22fd49ae2 feat: add binop% elaborator
This is an experiment, we will probably need to tweak its behavior.

See issue #382
2021-04-30 18:21:21 -07:00
Leonardo de Moura
f8ac5d25dd feat: add notation for helper elaboration function
This similar to `binrel%` but for binary operators.

See issue #382
2021-04-30 17:14:17 -07:00
Sebastian Ullrich
e1cde87c43 fix: server: completion & goal state at EOF 2021-04-30 19:25:53 +02:00
tydeu
44f45f426c
feat: add scoped macro_rules (#432) 2021-04-30 09:05:09 +02:00
Leonardo de Moura
adae6fdb40 fix: tolerate type incorrect terms
This bug was producing a type error when I was using `set_option trace.Elab true`
2021-04-29 21:34:15 -07:00
Daniel Fabian
d54c964a51 fix: improve the tactic for brecOn for inductive predicates. 2021-04-29 17:19:09 -07:00
Sebastian Ullrich
ae9b2131c1 chore: reset prefer_native 2021-04-29 13:37:41 +02:00
Sebastian Ullrich
f0960b7f89 fix: ignore antiquotations outside quotations 2021-04-29 13:33:48 +02:00
Sebastian Ullrich
73cf3533a1 fix: count quotation depth in parser correctly 2021-04-29 13:33:48 +02:00
Sebastian Ullrich
7990f6e6e1 perf: use optimized withAntiquot in leading_parser 2021-04-29 13:30:09 +02:00
Sebastian Ullrich
683ecb2d65 feat: ignore unquoted identifiers in prechecked quotations 2021-04-29 13:30:09 +02:00
Leonardo de Moura
f75c9caf30 chore: disable check in the prelude inferInstance helper functions 2021-04-28 17:22:20 -07:00
Leonardo de Moura
45bcf4a32c feat: check instance implicit binder annotations 2021-04-28 17:15:08 -07:00
Sebastian Ullrich
40b17bc364 refactor: introduce a few double-backtick quotations 2021-04-28 12:09:13 +02:00
Sebastian Ullrich
75e95f93a9 feat: improve let error locality 2021-04-27 16:38:46 -07:00
Sebastian Ullrich
9f0fa19237 feat: notation: unfold to prechecked quotation 2021-04-27 16:38:37 -07:00
Sebastian Ullrich
ad7ee2c81b fix: disable quotation precheck if hygiene is false 2021-04-27 16:38:37 -07:00
Sebastian Ullrich
9301e05a7e feat: double-quoted quotation semantics and basic precheck hooks 2021-04-27 16:38:37 -07:00
Sebastian Ullrich
e9441e4d45 refactor: iterative fun expansion as a macro 2021-04-27 16:38:37 -07:00
Sebastian Ullrich
8119daeb18 feat: syntax & attribute for double-quoted quotations 2021-04-27 16:38:37 -07:00
Leonardo de Moura
26b6953558 chore: remove dead code
Tuple notation is a macro now.
2021-04-27 16:14:45 -07:00
Leonardo de Moura
5f29cf1568 fix: update ref after macro expansion 2021-04-27 16:05:44 -07:00
Leonardo de Moura
e8531ef4de fix: new type ascription elaborator
It was propating the incorrect type.
2021-04-27 16:03:27 -07:00
Sebastian Ullrich
2e250e6f04 refactor: paren as a (partial) macro 2021-04-27 14:50:44 -07:00
Leonardo de Moura
920a2b2a14 perf: Ord USize instance and missing inline 2021-04-27 12:08:21 -07:00
Daniel Fabian
0238bf8c33 refactor: use Ordering inside of rbmap instead of lt. 2021-04-27 07:58:58 -07:00
Leonardo de Moura
18085b9712 fix: improve match generalizing feature 2021-04-26 19:22:03 -07:00
Daniel Fabian
1f05f5bf11 chore: rename ProofBelow to below. 2021-04-26 20:33:21 +02:00
Daniel Fabian
eda4bdd337 test: extend inductive_pred.lean with tests using the new construction. 2021-04-25 20:02:22 -07:00
Daniel Fabian
371504e9cf feat: add ProofBelow construction for inductive predicates.
This construction allows us to define `brecOn` for inductive predicates.
2021-04-25 20:02:22 -07:00
Sebastian Ullrich
53b0e7dde8 fix: ban tabs
Fixes #339
2021-04-25 19:55:15 -07:00
Leonardo de Moura
675bebb446 fix: isLevelDefEq missing case 2021-04-25 10:27:14 -07:00
Leonardo de Moura
d68d1f0841 fix: fixes #423 2021-04-25 10:00:38 -07:00
Leonardo de Moura
67f007fb51 feat: improve error message 2021-04-25 09:59:32 -07:00
Leonardo de Moura
f47f605039 fix: remove incorrect test
It had two problems:
- It was preventing coercions from being applied.
- It was compromising error recovery. The body of the lambda was not
being elaborated when the exception was thrown.

The new error message is more verbose and potentially confusing, but
it is better than the one produced this morning.
2021-04-24 22:17:29 -07:00
Leonardo de Moura
1f9975d35d feat: improve error message and include variables introduced by the implicit lambda notation 2021-04-24 21:34:42 -07:00
Leonardo de Moura
10185d24dd feat: improve error message 2021-04-24 20:43:13 -07:00
Leonardo de Moura
a6888f72dd fix: instance + where + implicts issue
The following could not be elaborated.

```lean
instance : MulComm Bool where
  mulComm := fun {a b} =>
    match a, b with
    | true, true   => rfl
    | true, false  => rfl
    | false, true  => rfl
    | false, false => rfl
```
2021-04-24 20:07:35 -07:00
Leonardo de Moura
2ff8052ce4 fix: missing do 2021-04-24 19:40:40 -07:00
Leonardo de Moura
c76820a251 fix: no method lift over let 2021-04-24 19:33:55 -07:00