Commit graph

804 commits

Author SHA1 Message Date
Leonardo de Moura
1868cea536 fix: "stuck at universe contraint" issues 2021-09-20 07:22:14 -07:00
Leonardo de Moura
9e980b2a78 fix: bug at decAux?
We are getting a few "stuck at universe constraint" errors after the
fix. We may need to add some kind of approximation in the future.
2021-09-20 07:12:57 -07:00
Leonardo de Moura
f2a418a7ae chore: smartUnfolding cleanup
We remove dead code, update comments, and add new tests

See #445
2021-09-19 15:29:11 -07:00
Leonardo de Moura
5b0a1c2b2f feat: smart unfolding support for nested match-expressions
See #445
2021-09-19 15:17:56 -07:00
Leonardo de Moura
35c7081377 feat: improve casesOnStuckLHS 2021-09-19 08:28:10 -07:00
Leonardo de Moura
2775298fef feat: add applyMatchSplitter
It applies the match splitter without using simplification theorems
2021-09-18 16:30:47 -07:00
Leonardo de Moura
38090fa3c0 feat: improve casesOnStuckLHS 2021-09-17 18:48:45 -07:00
Leonardo de Moura
6fbb6c7215 feat: add delta? 2021-09-17 18:46:09 -07:00
Leonardo de Moura
6eff84a7bb refactor: add generic mkBaseNameFor 2021-09-17 16:30:09 -07:00
Leonardo de Moura
70a4d2691f chore: cleanup 2021-09-17 16:00:00 -07:00
Leonardo de Moura
793d493df0 feat: equation theorem manager 2021-09-17 14:20:28 -07:00
Leonardo de Moura
42eba87325 feat: add simpMatchTarget 2021-09-17 14:20:28 -07:00
Leonardo de Moura
dc32a827b3 fix: missing instantiateMVars 2021-09-17 14:20:28 -07:00
Leonardo de Moura
ae8989a8c6 feat: add mkAppOptM' and mkAppM' 2021-09-15 06:35:40 -07:00
Leonardo de Moura
b92a2cd918 feat: heterogeneous congruence theorems
These theorems are needed to implement the congruence closure module.
2021-09-14 17:23:12 -07:00
Leonardo de Moura
35d036b09a chore: cleanup 2021-09-14 16:09:56 -07:00
Leonardo de Moura
736f119beb feat: add FunInfo.getArity 2021-09-14 15:58:00 -07:00
Leonardo de Moura
ea37c64b52 feat: add Meta.Rewrite.Config 2021-09-12 18:44:08 -07:00
Leonardo de Moura
0726b85adb feat: add option for disabling Offset.lean 2021-09-12 18:37:25 -07:00
Leonardo de Moura
6b235b05d2 feat: avoid code generation after stage1 for match auxiliary functions 2021-09-11 13:41:38 -07:00
Leonardo de Moura
54d0fc043e feat: preserve Expr.mdata at simp 2021-09-11 04:49:36 -07:00
Leonardo de Moura
e667385cf5 feat: simpLet when zeta reduction is disabled 2021-09-10 19:34:38 -07:00
Leonardo de Moura
0cf2c19fc2 fix: condition for selecting split target
Only discriminants must not have loose bound variables
2021-09-10 14:56:15 -07:00
Leonardo de Moura
19a710ffc9 feat: add getMatchWithExtra and improve tryLemma at simp 2021-09-09 19:28:09 -07:00
Leonardo de Moura
87f49be5dd fix: missing withReducible 2021-09-09 18:31:10 -07:00
Leonardo de Moura
5154f462f8 feat: add reduce conv tactic 2021-09-09 17:47:10 -07:00
Leonardo de Moura
496cc92ae9 feat: add simpMatch helper conv tactic 2021-09-09 17:29:32 -07:00
Leonardo de Moura
09eecc5c08 fix: simp was not applying rewrites to the function application prefixes 2021-09-09 17:07:14 -07:00
Leonardo de Moura
3c49969832 feat: add replaceLocalDeclDefEq 2021-09-09 13:07:33 -07:00
Leonardo de Moura
9b0dfc4b90 feat: convert "orphan" kernel nat literals n into ofNat n 2021-09-08 14:58:13 -07:00
Leonardo de Moura
445cc3085f refactor: avoid Name, MVarId, and FVarId confusion 2021-09-07 19:06:50 -07:00
Leonardo de Moura
3714cf16ec refactor: lazy evaluation for <|>
see #617
2021-09-07 17:06:10 -07:00
Leonardo de Moura
55f01fb6e1 feat: elaborate binop_lazy% 2021-09-07 13:30:09 -07:00
Leonardo de Moura
a7c621854e feat: optimized noConfusion for enumeration types 2021-09-06 11:52:36 -07:00
Leonardo de Moura
d43a1c7d9a chore: move Constructions to Meta 2021-09-06 10:51:11 -07:00
Leonardo de Moura
a8044eb252 feat: improve Match module for patterns containing Fin and UInt literals 2021-09-05 20:43:40 -07:00
Leonardo de Moura
391366ef24 refactor: add annotation for displaying conv state 2021-09-02 15:52:11 -07:00
Leonardo de Moura
7a69c6483d feat: add congr conv tactic 2021-09-01 18:32:21 -07:00
Leonardo de Moura
1a362bc212 feat: add support for displaying conv goal in interactive mode 2021-09-01 16:45:12 -07:00
Leonardo de Moura
b18af2c15c feat: basic support for displaying conv state 2021-09-01 15:34:59 -07:00
Leonardo de Moura
5f762171cc feat: add support for split at 2021-08-31 19:35:07 -07:00
Leonardo de Moura
6db4b53c40 fix: missing flag 2021-08-31 19:29:09 -07:00
Leonardo de Moura
8fec444e55 feat: add injections tactic 2021-08-31 19:12:06 -07:00
Leonardo de Moura
03e61155b0 feat: allow instances to be (temporarily) erased 2021-08-31 15:30:29 -07:00
Leonardo de Moura
c7d797f5b6 feat: add simpMatch and use it at splitMatch 2021-08-31 12:53:41 -07:00
Leonardo de Moura
6d4422e5ac refactor: add Simp.tryLemma? 2021-08-31 12:32:34 -07:00
Leonardo de Moura
2375447b4d chore: remove temporary trace messages 2021-08-31 12:13:07 -07:00
Leonardo de Moura
aba0a479ec fix: intro at split tactic 2021-08-30 20:58:04 -07:00
Leonardo de Moura
0a215ac1d2 feat: store the number of parameters in each match splitter alternative 2021-08-30 20:57:18 -07:00
Leonardo de Moura
b500a2053d feat: split tactic for splitting match and if terms 2021-08-30 18:31:20 -07:00