Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
bf4d48f348 chore: cleanup for presentation 2020-11-05 12:43:02 -08:00
Leonardo de Moura
df2cae4f90 chore: remove some old keywords 2020-11-05 07:05:01 -08:00
Leonardo de Moura
ad378414dd chore: update stage0 2020-11-03 17:24:05 -08:00
Leonardo de Moura
29730157ff feat: support for _ and ?hole at all induction/cases variants
This commit also improves error position.
2020-11-03 17:20:53 -08:00
Leonardo de Moura
730b6aa3a3 feat: admit goal when case .. => .. fails 2020-11-03 17:20:53 -08:00
Leonardo de Moura
6466bbbaf9 feat: admit alternatives that failed 2020-11-03 17:20:53 -08:00
Leonardo de Moura
51e7aa8b75 fix: backtrack Term.State at TacticM
It contains references to metavariables that are declared in the
backtracked `MCtx`
2020-11-03 17:20:53 -08:00
Leonardo de Moura
27c495c198 fix: Tactic.orelse was using the wrong try ... catch ... 2020-11-03 17:20:53 -08:00
Leonardo de Moura
bfba03c6e1 fix: missing withMainMVarContext 2020-11-03 17:20:53 -08:00
Leonardo de Moura
4c3ea516b7 feat: clear targets 2020-11-03 17:20:53 -08:00
Leonardo de Moura
fa7fd4687c feat: induction with multiple targets 2020-11-03 17:20:53 -08:00
Leonardo de Moura
2001e1708f feat: add support for cases h_1:e_1, ..., h_n:e_n using elim 2020-11-03 17:20:53 -08:00
Leonardo de Moura
2226ec6426 chore: disable test until we implement "smart unfolding" 2020-11-03 17:20:53 -08:00
Leonardo de Moura
286e6c889f chore: update stage0 2020-11-03 17:20:53 -08:00
Leonardo de Moura
98d86bd902 chore: remove induction h:e
Users should use `cases h:e` instead
2020-11-03 17:20:52 -08:00
Leonardo de Moura
7cbee83a8a feat: add try tactic 2020-11-03 17:20:52 -08:00
Leonardo de Moura
aafa09ddcd chore: fix test 2020-11-03 17:20:52 -08:00
Leonardo de Moura
abd6914ac2 fix: missing indentExpr at error message 2020-11-03 17:20:52 -08:00
Leonardo de Moura
317b3fbc92 test: cases ... using ... 2020-11-03 17:20:52 -08:00
Leonardo de Moura
f28a7306f2 fix: append match_<idx> suffix only there is more than one alternative 2020-11-03 17:20:52 -08:00
Leonardo de Moura
b9a2885e65 feat: add repeat tactic 2020-11-03 17:20:52 -08:00
Leonardo de Moura
f819f3c623 chore: update stage0 2020-11-03 17:20:52 -08:00
Leonardo de Moura
c88d0c8a8c feat: populate builtinTacticSeqParser with tacticSeq 2020-11-03 17:20:52 -08:00
Leonardo de Moura
775096a820 chore: update stage0 2020-11-03 17:20:52 -08:00
Leonardo de Moura
7654fa34e0 feat: add tacticSeq
@Kha This is a small hack to allow users to use `tacticSeq` in
`syntax` command. Example:
```
syntax "repeat" tacticSeq : tactic
```
2020-11-03 17:20:52 -08:00
Leonardo de Moura
f20a4244e4 chore: use named argument 2020-11-03 17:20:52 -08:00
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
Leonardo de Moura
dbe376a45a chore: control code size explosion 2020-11-03 17:20:52 -08:00
Leonardo de Moura
69abb0a35a feat: avoid unnecessary whnfs at unifyEqs 2020-11-03 17:20:52 -08:00
Leonardo de Moura
cdd79ac170 feat: add evalCasesUsing 2020-11-03 17:20:52 -08:00
Leonardo de Moura
9494552d82 chore: remove unnecessary group 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
48d58d20c4 fix: app pretty printer
@leodemoura It was another instance of "syntax kinds of LHS of `<|>` must be known"
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
Sebastian Ullrich
c54dc4e037 feat: KVMap.set 2020-11-03 12:36:33 +01:00
Sebastian Ullrich
564d2be3b3 feat: KVMap.forIn 2020-11-03 12:36:33 +01:00
Sebastian Ullrich
95910108dc fix: delaborator: share mdata tree position with child 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
60c0e7b3d4 chore: avoid ..
@Kha The parenthesizer generates an error when `..` is used in terms
2020-11-02 19:32:32 -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
bb99fc400a chore: remove old crap 2020-11-02 19:16:23 -08:00
Leonardo de Moura
68ef8655bb feat: improve getElimInfo 2020-11-02 18:45:52 -08:00
Leonardo de Moura
8d47e8be3b feat: add basic cases ... using ... methods 2020-11-02 18:28:26 -08:00
Leonardo de Moura
9686515d83 chore: minor 2020-11-02 18:17:10 -08:00
Leonardo de Moura
7d752353a1 feat: add getElimInfo 2020-11-02 17:51:18 -08:00
Leonardo de Moura
1bec9ac3e0 feat: add generalizeTargets and more general unifyEqs 2020-11-02 17:43:43 -08:00
Leonardo de Moura
9932c79127 chore: cleanup 2020-11-02 17:27:34 -08:00
Leonardo de Moura
a6fd611db0 chore: use generalizing 2020-11-02 17:01:10 -08:00
Leonardo de Moura
0586a85807 chore: update stage0 2020-11-02 16:59:07 -08:00