Commit graph

156 commits

Author SHA1 Message Date
Leonardo de Moura
7acbbb4fbb fix: auxiliary whnfAux used at mkEqns 2022-01-06 09:57:41 -08:00
Leonardo de Moura
ff49fd6b7e fix: apply afterCompilation attributes after we have compiled *all* definitions in a mutual block 2022-01-05 15:57:51 -08:00
Leonardo de Moura
4d1343d670 chore: use _eq instead of eq to name auto generated equational theorems 2022-01-04 17:23:34 -08:00
Leonardo de Moura
b2918e0c76 test: add tests for WF.mkEqns 2022-01-04 17:18:51 -08:00
Leonardo de Moura
d782a97f5c feat: add WF.mkProof for WF.mkEqns 2022-01-04 17:00:54 -08:00
Leonardo de Moura
2a0cd18d4b feat: add WF.mkEqns 2022-01-04 15:44:05 -08:00
Leonardo de Moura
d941e97716 feat: add WF/Eqns.lean skeleton 2022-01-04 15:31:22 -08:00
Leonardo de Moura
947240ef9e refactor: add PreDefinition/Eqns.lean 2022-01-04 13:52:41 -08:00
Leonardo de Moura
e9c112007b fix: avoid Syntax trees leaks into .olean files
closes #918
2022-01-03 09:36:06 -08:00
Leonardo de Moura
dce55f79ed feat: eliminate recursive application syntax annotation at addAndCompileUnsafe 2021-12-17 07:24:44 -08:00
Leonardo de Moura
7df9cf6a0a feat: eliminate "recAppSyntax" information during structural recursion 2021-12-17 07:15:14 -08:00
Leonardo de Moura
6b82e15069 feat: preserve variable names when packing domain 2021-12-17 07:10:26 -08:00
Leonardo de Moura
8b7411bdd8 feat: improve error location at well-founded recursion 2021-12-17 06:50:20 -08:00
Leonardo de Moura
e38fab1b4e fix: ignore Expr.MData at deltaRHS? 2021-12-16 16:58:10 -08:00
Leonardo de Moura
e335b2ac8a feat: add noncomputable sections
See https://github.com/leanprover-community/mathport/issues/71
2021-12-13 11:02:46 -08:00
Leonardo de Moura
68bd55af32 chore: fix codebase 2021-12-10 13:12:09 -08:00
Leonardo de Moura
b2d88f7bcc fix: bug at saveEqn 2021-12-02 17:38:39 -08:00
Leonardo de Moura
c42196440f fix: give preference to non-indices at findRecArg
fixes #837
2021-12-01 16:45:19 -08:00
Leonardo de Moura
5d73f0eb01 chore: fix typo 2021-12-01 15:08:41 -08:00
Sebastian Ullrich
4f15805787 feat: annotate declarations with term infos 2021-11-27 07:25:15 -08:00
Sebastian Ullrich
177d45a752 chore: fail without decreasing proof 2021-11-06 18:29:59 +01:00
Leonardo de Moura
b7ff5d3352 fix: make sure unused 'let'-declarations are preserved in WF 2021-10-19 06:51:54 -07:00
Leonardo de Moura
a2bcb1c4c1 fix: typo 2021-10-19 06:47:14 -07:00
Leonardo de Moura
e494329fb3 fix: addNonRecPreDefs at WF/Main.lean 2021-10-19 06:43:07 -07:00
Leonardo de Moura
67c8e76b08 fix: preserve unused let declarations
This commit fixes reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/unused.20let.20disappears/near/257528105
2021-10-18 17:40:15 -07:00
Leonardo de Moura
697e0ce2db feat: apply cleanup tactic before applying decreasing tactic
Alternative design: apply it only before reporting a failure.
2021-10-06 19:56:57 -07:00
Leonardo de Moura
f10101cd58 fix: preserve user variable names in decreasing goals 2021-10-06 18:45:48 -07:00
Leonardo de Moura
079ad47f02 fix: mixed unary and non-unary functions 2021-10-06 17:33:51 -07:00
Leonardo de Moura
988e43d2b4 fix: WF should reject definitions that do not take any arguments 2021-10-04 13:24:30 -07:00
Leonardo de Moura
85c49cfeb3 feat: apply termination tactic provided by user 2021-10-03 18:47:52 -07:00
Leonardo de Moura
23740778d4 refactor: termination hints 2021-10-03 18:09:35 -07:00
Leonardo de Moura
09d0c93589 feat: declare functions in mutual block using auxiliary fuction defined using WF 2021-09-29 11:24:52 -07:00
Leonardo de Moura
3fed9c9df7 feat: reject partial when if constant is not a function
fixes #697
2021-09-28 21:07:14 -07:00
Leonardo de Moura
bd98e6a586 feat: refine WellFounded.fix functional F over PSigma.casesOn 2021-09-27 19:06:10 -07:00
Leonardo de Moura
d0391d07c2 feat: use PSigma.casesOn instead of projections at packDomain
Reason: we want to "refine" the `WellFounded.fix` functional `F` over it.
2021-09-27 19:06:10 -07:00
Leonardo de Moura
8b79176102 feat: refine WellFounded.fix functional F over Sum.casesOn 2021-09-27 19:06:10 -07:00
Leonardo de Moura
108518aad1 feat: use simp at mkDecreasingProof 2021-09-26 16:32:48 -07:00
Leonardo de Moura
d13bdef6e2 feat: add WF.mkFix 2021-09-26 16:01:07 -07:00
Leonardo de Moura
a7f36cc642 chore: style 2021-09-26 15:52:13 -07:00
Leonardo de Moura
9d69189a60 chore: use Sum instead of PSum at PackMutual 2021-09-25 17:24:56 -07:00
Leonardo de Moura
d4509878bb feat: add WellFoundedRelation for termination_by 2021-09-25 17:21:03 -07:00
Leonardo de Moura
ceb9889b0e feat: elaborate temination_by term 2021-09-25 16:54:41 -07:00
Leonardo de Moura
58c938cef8 feat: 'termination_by' goodies 2021-09-22 21:09:33 -07:00
Leonardo de Moura
38f91a2fa4 doc: PackMutual.lean 2021-09-22 18:27:57 -07:00
Leonardo de Moura
0b7b174f25 feat: replace recursive applications at packMutual 2021-09-22 18:07:07 -07:00
Leonardo de Moura
b8454f3568 fix: packDomain 2021-09-22 18:00:22 -07:00
Leonardo de Moura
65983ef45b feat: add WF/PackMutual.lean 2021-09-22 15:46:47 -07:00
Leonardo de Moura
07fb8504a1 fix: bug introduced today 2021-09-21 20:36:18 -07:00
Leonardo de Moura
a909e8cf26 feat: arity mismatch error message at well-founded recursion 2021-09-21 20:34:15 -07:00
Leonardo de Moura
ed47091691 chore: add extra trace messages and document issue 2021-09-21 20:33:44 -07:00