Commit graph

6678 commits

Author SHA1 Message Date
Leonardo de Moura
af4485f40e fix: fixes #482 2021-05-21 19:20:24 -07:00
Leonardo de Moura
8eceb07caf feat: new discriminant refinement procedure 2021-05-21 18:08:11 -07:00
Sebastian Ullrich
93327e2324 fix: tactic state on {/· 2021-05-21 17:13:33 -07:00
Sebastian Ullrich
e257caa446 feat: move block tactic macro to Init 2021-05-21 17:13:33 -07:00
Mac Malone
a6dc9e4ef3 feat: class abbrev now supports a type spec (+ test) 2021-05-20 15:23:30 -07:00
Mac Malone
6c07536b33 feat: simplified, improved class abbrev (+ tests) 2021-05-20 15:23:29 -07:00
Daniel Fabian
42bd44ab82 refactor: Capture environment modification in mkMatcher.
Doing this allows us to add the declaration in the backtracking case of structural recursion.
2021-05-20 15:20:16 -07:00
Sebastian Ullrich
9f3ddb0c43 fix: do not store solved goals in info tree 2021-05-20 15:17:54 -07:00
Sebastian Ullrich
a02c6fd3eb chore: adapt stdlib & tests 2021-05-20 15:17:36 -07:00
Sebastian Ullrich
7242c5c513 fix: rw: add all uninstantiated mvars as goals 2021-05-19 07:31:50 -07:00
Daniel Fabian
ab0ef229ac feat: add getBelowIndices. 2021-05-19 07:28:14 -07:00
Daniel Fabian
91ecbb5b5c feat: Add withMkMatcherInput.
This is the inverse function to `mkMatcher`, i.e. a way to turn a matcher into an input.
2021-05-19 07:28:14 -07:00
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