Commit graph

799 commits

Author SHA1 Message Date
Leonardo de Moura
da91fc4526 refactor: move synthesizeArgs 2021-02-12 16:52:56 -08:00
Leonardo de Moura
9ba8a30fb2 feat: add Repr instance for CongrLemmas 2021-02-11 18:13:33 -08:00
Leonardo de Moura
ffa4a577be feat: add @[congr] attribute 2021-02-11 17:51:04 -08:00
Leonardo de Moura
8b3c61dbb0 fix: checkAssignment 2021-02-11 16:56:32 -08:00
Leonardo de Moura
5e0b6a404f chore: naming convention 2021-02-11 15:05:26 -08:00
Leonardo de Moura
83775b08cb fix: whnfCore not expanding delayed assignments 2021-02-05 15:14:12 -08:00
Leonardo de Moura
4dc2a84302 fix: whnfCore
Update function before invoking `reduceMatcher?`
2021-02-05 13:40:39 -08:00
Leonardo de Moura
cab3c72374 fix: isDefEq for applications in WHNF
The issue fixed by this commit was exposed by c17a1c382f
We also document the TC workaround used at `tryHeuristic`.
2021-02-05 12:42:34 -08:00
Leonardo de Moura
c17a1c382f fix: isDeltaCandidate?
It should return `some ...` only if `ConstantInfo` has a value.
2021-02-05 09:19:37 -08:00
Leonardo de Moura
278d47c772 chore: add Repr instance for TransparencyMode 2021-02-04 20:40:05 -08:00
Leonardo de Moura
e415cfa632 chore: increase synthInstance.maxHeartbeats default 2021-02-04 17:36:12 -08:00
Leonardo de Moura
c747230e28 refactor: move isMonad? to AppBuilder.lean 2021-02-04 17:17:51 -08:00
Leonardo de Moura
e63111b39a fix: fixes #302
TODO: investigage error message duplication
2021-02-03 15:04:18 -08:00
Leonardo de Moura
2888e49785 feat: @ modifier at induction and cases tactic alternatives 2021-02-01 18:03:19 -08:00
Leonardo de Moura
c1dce595a5 feat: add option useNamesForExplicitOnly to introN 2021-02-01 17:35:48 -08:00
Leonardo de Moura
b4dfa08543 chore: store eliminator name at ElimInfo 2021-02-01 13:16:52 -08:00
Leonardo de Moura
b7a0bdb9c9 fix: Injection.lean 2021-01-30 11:58:56 -08:00
Leonardo de Moura
a58ff18a5b refactor: pos at time_task::time_task was a dead field 2021-01-30 11:10:18 -08:00
Leonardo de Moura
761b64c929 fix: missing occursCheck at SyntheticMVars
fixes #301
2021-01-29 17:13:04 -08:00
Leonardo de Moura
bf77f0707e refactor: remove no-mutual workaround
This is still leftover from the old frontend.
2021-01-29 17:13:04 -08:00
Leonardo de Moura
920ae5f1b9 chore: cleanup 2021-01-29 17:13:04 -08:00
Leonardo de Moura
e102cd4f42 fix: checkAssignment must be at assignConst
Example of issue fixed by this commit: the variables `xs` may have references to `mvar`.
2021-01-29 17:13:03 -08:00
Leonardo de Moura
8699f439da chore: avoid big match-expr 2021-01-29 17:13:03 -08:00
Leonardo de Moura
27a27d33d2 feat: special cases for mkCongrArg, mkCongrFun, mkCongr 2021-01-28 12:19:56 -08:00
Leonardo de Moura
1d76f3e1c1 chore: cleanup 2021-01-28 12:03:06 -08:00
Leonardo de Moura
70d6ea57a2 fix: mkSizeOfSpecLemmaInstance
It was not handling correctly constructors with implicit fields.
2021-01-27 18:24:32 -08:00
Leonardo de Moura
f1a0044241 fix: use previously generated sizeOf_spec lemmas to expand rhs 2021-01-27 18:14:25 -08:00
Leonardo de Moura
c47c25cf33 feat: finish sizeOf_spec lemma generation 2021-01-27 17:20:23 -08:00
Leonardo de Moura
7d4f80fbc6 chore: fix name 2021-01-27 16:26:34 -08:00
Leonardo de Moura
992e0c5ded feat: auxiliary sizeOf lemma recursor skeleton
TODO: minor premises
2021-01-27 16:18:53 -08:00
Leonardo de Moura
afdc19c2f1 feat: generalize indices at mkSizeOfAuxLemma 2021-01-27 15:16:43 -08:00
Leonardo de Moura
6c119a1921 chore: use register_builtin_option 2021-01-26 18:24:56 -08:00
Leonardo de Moura
4fc2aead45 fix: missing checkAssignment at assignToConstFun
Fixes #297
2021-01-26 17:33:33 -08:00
Leonardo de Moura
4ed43bd925 chore: cleanup 2021-01-26 17:16:10 -08:00
Leonardo de Moura
2c05e78728 fix: bug at CheckAssignment 2021-01-26 16:20:41 -08:00
Leonardo de Moura
75466a7cf3 chore: cleanup 2021-01-26 16:01:46 -08:00
Leonardo de Moura
3d01327129 chore: remove unnecessary do 2021-01-26 12:41:07 -08:00
Leonardo de Moura
bb3a1a9699 chore: fix comment 2021-01-25 17:29:23 -08:00
Leonardo de Moura
f2f4fdfeb7 feat: first part of the sizeOf spec lemmas for nested inductive types 2021-01-25 17:18:08 -08:00
Leonardo de Moura
fdab5ca835 feat: add helper methods whnfR and whnfI 2021-01-25 17:18:08 -08:00
Leonardo de Moura
0da83dc4ae feat: add unfoldDefinition 2021-01-25 17:18:08 -08:00
Leonardo de Moura
54168b9070 chore: remove unnecessary MonadLiftT 2021-01-25 17:18:08 -08:00
Reid Barton
ccc09d9cbf chore: fix typo
invalide -> invalid
2021-01-25 13:55:39 -08:00
Leonardo de Moura
b575087859 fix: unfold class projections when using TransparencyMode.instances 2021-01-25 12:30:26 -08:00
Leonardo de Moura
8bb7cc10ff chore: cleanup 2021-01-25 11:33:48 -08:00
Leonardo de Moura
f53e83b182 feat: add options maxHeartbeats and synthInstance.maxHeartbeats 2021-01-24 17:45:50 -08:00
Leonardo de Moura
51de663e2c fix: crash when using TransparencyMode.instances 2021-01-22 14:17:19 -08:00
Sebastian Ullrich
0c91b3769e chore: replace variables in src/ 2021-01-22 14:36:05 +01:00
Leonardo de Moura
d6eb5a9ff2 feat: generate sizeOf equality lemmas for constructors
TODO: support for nested inductive types.
2021-01-21 17:44:15 -08:00
Leonardo de Moura
4ffc2c93cd feat: invoke mkSizeOfInstances from structure and inductive commands 2021-01-20 17:07:02 -08:00