Commit graph

5776 commits

Author SHA1 Message Date
Daniel Fabian
cf030a1634 refactor: Add MkMatcherInput.
Since we are going to make `mkMatcher` reversible, it's quite useful to have the input be a `structure`. This way we make sure, that the inverse function always returns the same type as `mkMatcher` needs as input.
2021-05-19 07:28:14 -07:00
Sebastian Ullrich
cd5dbc66ce fix: isolate std streams for all commands in server mode
Fixes #475
2021-05-19 13:30:54 +02:00
Sebastian Ullrich
7c3101a51c chore: produce more efficient/pp-able array code from quotations 2021-05-19 09:52:35 +02:00
Sebastian Ullrich
23f0c1051c feat: improve ToString/Quote Name 2021-05-19 09:34:01 +02:00
Sebastian Ullrich
3dafe26c72 feat: delab Name.mkStr/Num 2021-05-19 09:21:52 +02:00
Leonardo de Moura
a2cafbf56f test: for tactic state visualization bug 2021-05-17 15:12:50 -07:00
Leonardo de Moura
e466498e80 chore: fix tests 2021-05-17 15:09:51 -07:00
Leonardo de Moura
8bbe6cac02 chore: fix test 2021-05-17 14:47:24 -07:00
Sebastian Ullrich
eb93894683 fix: do not abort elaboration on unclosed parenthesis 2021-05-17 22:29:06 +02:00
Leonardo de Moura
53b2ceea51 fix: missing withoutModifyingState at elabSimpConfig 2021-05-16 13:07:13 -07:00
Leonardo de Moura
ac90052139 feat: add option for controlling how deep we go when trying to discharge simp theorem hypotheses 2021-05-16 12:32:05 -07:00
Leonardo de Moura
a498a64490 chore: disable injectivity theorems generation for big structure tests
The test was producing a stack overflow in debug mode in CI.
2021-05-15 21:30:40 -07:00
Leonardo de Moura
5d305faee0 chore: increase threshold for Windows workaround in the previous commit 2021-05-15 21:15:37 -07:00
Leonardo de Moura
50cf4216ac feat: closes #440 2021-05-15 20:54:54 -07:00
Leonardo de Moura
3b8b46b16c test: closes #441 2021-05-15 20:37:48 -07:00
Leonardo de Moura
37c1608ec3 feat: improve error handling in tactic blocks 2021-05-15 20:18:48 -07:00
Leonardo de Moura
c7096f54a2 feat: injectivity theorems for types defined in the prelude 2021-05-14 18:32:26 -07:00
Leonardo de Moura
dbe0d2d706 feat: automatically generate injectivity theorems 2021-05-14 18:05:04 -07:00
Sebastian Ullrich
7ca2f70c2f feat: Eq.rec delaborator 2021-05-14 18:36:59 +02:00
Sebastian Ullrich
3f9c015dd4 feat: pp.proofs & pp.proofs.withType
Resolves #210
2021-05-14 15:14:58 +02:00
Leonardo de Moura
ea45d3bd40 fix: fixes #457 2021-05-12 20:45:54 -07:00
Leonardo de Moura
4db3ccaddb feat: type ascription should disable implicit lambdas 2021-05-12 19:29:36 -07:00
Sebastian Ullrich
8ae726203d fix: plainGoal: consider original positions only when deciding whether a tactic is a combinator 2021-05-12 10:51:42 +02:00
Leonardo de Moura
c9db8619f1 fix: fixes #456 2021-05-11 21:07:21 -07:00
Sebastian Ullrich
1e6dadfa52 fix: documentHighlight on partial input
Fixes #455
2021-05-11 17:03:18 +02:00
Leonardo de Moura
ad45c18503 fix: fixes #448 2021-05-10 20:07:28 -07:00
Leonardo de Moura
b52edf1259 fix: fixes #452
The new syntax is similar to `matchAlts` and uses `colGe`.
The first `|` is not optional anymore.
2021-05-10 17:28:10 -07:00
Leonardo de Moura
0e1f645b07 fix: fixes #450 2021-05-10 13:55:06 -07:00
Leonardo de Moura
2a676b6dfb fix: fixes #449 2021-05-10 13:10:59 -07:00
Leonardo de Moura
89373bd64f fix: fixes #447 2021-05-08 19:04:12 -07:00
Leonardo de Moura
4675817a9e fix: projection of string literals 2021-05-07 14:38:21 -07:00
Leonardo de Moura
5fcd08326f fix: bug at reduceRec 2021-05-07 14:21:37 -07:00
Sebastian Ullrich
088774536e fix: syntax match: do not discard other patterns after splices 2021-05-07 16:08:10 +02:00
Leonardo de Moura
475f5fecaa feat: improve error recovery at Tactic.elabTerm 2021-05-06 20:44:36 -07:00
Leonardo de Moura
7fc6607611 feat: have ... := ... syntax closer to let 2021-05-06 15:38:57 -07:00
Leonardo de Moura
48bffedc74 fix: unresolved holes in the exact tactic, backtracking issues
This commit also adds the `throwAbortTactic` for throwing "silent"
exceptions in `TacticM`.
2021-05-06 13:44:01 -07:00
Sebastian Ullrich
99864bbb31 chore: reintroduce as regular notation 2021-05-06 22:41:23 +02:00
Sebastian Ullrich
9ed8db4bc3 feat: add constructor tactic 2021-05-06 10:40:56 -07:00
Sebastian Ullrich
e6132d37a5 fix: induction/cases: accept wildcard alternative even if some (but not all) cases have been excluded 2021-05-06 14:28:00 +02:00
Leonardo de Moura
c4e3b36d56 test: for issue #439
closes #439
2021-05-05 11:13:23 -07:00
Sebastian Ullrich
6303c134a9 feat: add term info at resolveId? 2021-05-05 18:54:47 +02:00
Sebastian Ullrich
66c0f6ae9d fix: goal state at induction/cases e with 2021-05-05 15:27:40 +02:00
Leonardo de Moura
a43dca0b9f fix: add basic support for accessing the field of a section variable in the notation prechecker
see #435
2021-05-04 22:41:25 -07:00
Leonardo de Moura
3d829c825c fix: Info nodes for overloaded notation/declarations
See new test to understand the problem that has been fixed.
2021-05-04 22:07:21 -07:00
Leonardo de Moura
ed1eee201a fix: avoid "failed to evaluate" error when extension has sorry
See updated test output.
2021-05-04 20:57:53 -07:00
Leonardo de Moura
164b26bf01 fix: make sure the resulting array size is equal to the number of binders
The following code relies on this property
```lean
       for uid in scope.varUIds, x in xs do
          sectionFVars := sectionFVars.insert uid x
```
2021-05-04 19:46:14 -07:00
Leonardo de Moura
fc96a24d7b chore: improve error message 2021-05-04 19:37:24 -07:00
Leonardo de Moura
7398db5f3f fix: rw final goal state 2021-05-04 16:58:44 -07:00
Leonardo de Moura
56d5d6c564 chore: fix tests 2021-05-04 15:42:03 -07:00
Sebastian Ullrich
aabb4a50aa feat: remove bracket-less rw 2021-05-04 15:24:22 -07:00