Commit graph

2406 commits

Author SHA1 Message Date
Leonardo de Moura
68143ca8ba chore: trace[...]! ==> trace[...]
@Kha I think this one is a good change, there is no real reason for
using the `!` suffix here.
2021-03-10 18:44:43 -08:00
Leonardo de Moura
30ba56126b fix: missing case
Lean should not get stuck at universe constraints such as `?u =?= ?u + 1`.
2021-03-10 14:48:02 -08:00
Leonardo de Moura
a3923eecc8 feat: filter duplicate universe constraints at error message 2021-03-10 14:40:25 -08:00
Leonardo de Moura
847f95021a fix: losing postponed universe constraints
This bug was exposed by #342
2021-03-10 14:18:03 -08:00
Sebastian Ullrich
b6622d2bef feat: server: preserve full range of messages 2021-03-10 17:09:41 +01:00
Sebastian Ullrich
c2f7ecaf37 feat: server: also transmit array of goals 2021-03-10 17:09:41 +01:00
Leonardo de Moura
8f580a5a70 refactor: remove SimpLemmaKind 2021-03-09 19:25:02 -08:00
Leonardo de Moura
0ea267e4de feat: add simp lemma preprocessor 2021-03-09 19:16:14 -08:00
Leonardo de Moura
2004ea5ec0 feat: add AuxLemma.lean 2021-03-09 18:25:19 -08:00
Leonardo de Moura
23319da6c0 fix: position info for rw tactics of the form rw [h1, h2, ..] 2021-03-08 18:18:37 -08:00
Leonardo de Moura
90cab68332 feat: keep going if there are missing alternatives at induction/cases 2021-03-08 17:09:53 -08:00
Leonardo de Moura
142d6cbcbc chore: truncate error messages endPos
@Kha, @Vtec234, @mhuisi:
This is a bit hackish, but it improves the usuability quite a bit in
VS Code. Without this hack, I often get huge blocks of "red squiggly lines".
2021-03-08 16:44:33 -08:00
Leonardo de Moura
ef4ab9c1d1 fix: report error if too many variable names have been provided at induction/cases alternative 2021-03-08 16:26:53 -08:00
Leonardo de Moura
4bbcd305b5 fix: disable implicit-lambdas when elaborating patterns
@Kha, Jason's example on issue #337 suggests that injecting
implicit-lambdas while elaborating patterns is problematic.
The elaborator was injecting `fun {Γ} =>` before the
pattern variable `ftm`.
So, I disabled the implicit-lambda during pattern elaboration. I
didn't find an example where it would be useful.

see #337

cc @JasonGross
2021-03-08 15:45:30 -08:00
Leonardo de Moura
a4abdbf277 refactor: add checkApp
Add comment describing possible extension.
2021-03-08 15:26:07 -08:00
Leonardo de Moura
0c4d72c1d5 refactor: add implicitLambda argument 2021-03-08 15:21:32 -08:00
Leonardo de Moura
f321ad213f fix: reset set of stuck mvars after reporting they are stuck
This bug produced the doubled error message at issue #337
2021-03-08 12:46:50 -08:00
Leonardo de Moura
5d3f0606d2 feat: include type of type in "mismatch errors"
@Kha we do that in Lean 3. It helps when the error is due to incorrect universe levels.

BTW, I had to update `tests/lean/server/content_diag.json` since the
error message is different, but a few other stuff changed too.
Could you please take a look whether the test is still correct?
2021-03-08 09:30:34 -08:00
Leonardo de Moura
0e3aa2c29b fix: scope of forallTelescopeReducing
Nested constructors were being processed using an extended local context.
Fix issue reported by @JasonGross at Zulip.

closes #338
2021-03-08 08:29:48 -08:00
Leonardo de Moura
a7ac27b0e8 refactor: use mutual recursion 2021-03-08 07:41:58 -08:00
Leonardo de Moura
0a881315ba feat: optional preprocessing tactic at induction and cases
cc @Kha
2021-03-07 14:50:49 -08:00
Leonardo de Moura
51e7f45af2 refactor: cases
remove dead `induction/cases` code
2021-03-07 12:37:02 -08:00
Leonardo de Moura
19899d087e refactor: induction 2021-03-07 12:04:36 -08:00
Leonardo de Moura
5f5cc55d6a feat: add helper method 2021-03-07 12:04:14 -08:00
Leonardo de Moura
1e13c26de3 chore: prepare to change inductionAlts 2021-03-07 10:22:27 -08:00
Leonardo de Moura
08fc25217d chore: cleanup, fix docs 2021-03-07 09:01:54 -08:00
Leonardo de Moura
b7019d913e chore: remove unnecessary lifts and implicits
Use autobound and autolift features
2021-03-07 09:01:54 -08:00
Leonardo de Moura
6d236fbf2e chore: fix docstring 2021-03-07 09:01:54 -08:00
Jan Hrcek
2753822fe7
doc: fix typos 2021-03-07 15:06:02 +01:00
Leonardo de Moura
061b9bf60f feat: set_option in terms and tactics
closes #330
2021-03-06 16:43:10 -08:00
Leonardo de Moura
b3d83aa199 feat: set_option parser for terms and tactics 2021-03-06 15:38:02 -08:00
Leonardo de Moura
ad68c5cbaa refactor: polymorphic elabSetOption 2021-03-06 15:33:01 -08:00
Leonardo de Moura
4a39201d55 fix: ambiguity
```
def f (x : Nat) : IO Unit := do
IO.println x

open Nat in
def g (x : Nat) := succ x
```

cc @Kha
2021-03-06 15:33:00 -08:00
Leonardo de Moura
0ed3f08c1b feat: open in terms and tatics
See #330
2021-03-06 15:33:00 -08:00
Leonardo de Moura
4bcfc5f9a6 feat: open parser for terms and tactics 2021-03-06 15:32:59 -08:00
Leonardo de Moura
8249620c9e refactor: add polymorphic elabOpenDecl method 2021-03-06 15:32:59 -08:00
Leonardo de Moura
d75c4e2101 chore: cleanup 2021-03-06 15:32:59 -08:00
Leonardo de Moura
b6c388780f chore: cleanup 2021-03-06 15:32:59 -08:00
Sebastian Ullrich
6664f58a0e chore: link lean using leanc 2021-03-06 10:17:50 +01:00
Leonardo de Moura
7a79ef62d1 fix: bug at hasSyntheticSorry
It was missing a constructor, and not taking assigned metavariables
into account.

Fixes a problem reported by @JasonGross at Zulip
2021-03-05 19:08:10 -08:00
Leonardo de Moura
8d743fc2a7 feat: add MessageData.instantiateMVars 2021-03-05 19:07:08 -08:00
Leonardo de Moura
9b02a80416 fix: fixes #335 2021-03-05 18:16:49 -08:00
Leonardo de Moura
fc79b794ba fix: missing error messages
Issue reported by @JasonGross
2021-03-05 17:20:04 -08:00
Leonardo de Moura
0fa6e733c1 chore: add helper instances 2021-03-05 16:58:50 -08:00
Leonardo de Moura
be4cf605fd feat: improve error message
closes #331
2021-03-05 13:42:54 -08:00
Leonardo de Moura
5e9ccf19d7 fix: fixes #329 2021-03-05 13:42:54 -08:00
Leonardo de Moura
f080389c3f chore: use double-backtick 2021-03-05 13:42:54 -08:00
Leonardo de Moura
210e2ba3bc chore: cleanup 2021-03-05 13:42:54 -08:00
Leonardo de Moura
54c44d2a6f feat: generate error message if term does not reduce to true 2021-03-04 19:15:09 -08:00
Leonardo de Moura
66f1a88f2c feat: simp [-decl] 2021-03-04 17:50:44 -08:00