Commit graph

37 commits

Author SHA1 Message Date
Leonardo de Moura
d1e5e4166a feat: use sorry instead of trying to synthesize Inhabited at error recovery 2022-02-15 09:15:18 -08:00
Leonardo de Moura
f75fdcb19b feat: when Lean cannot prove termination, then report error and add definition as partial, and if it fails add as axiom 2022-02-15 07:44:27 -08:00
Leonardo de Moura
3b67c7db81 fix: handling of letrec declarations in the well-founded recursion module 2022-02-09 10:13:52 -08:00
Leonardo de Moura
12e2a79170 chore: fix codebase after removing auto pure 2022-02-03 18:08:14 -08:00
Leonardo de Moura
c34adb7dd5 feat: allow partial definitions to be define if type is non empty 2022-01-14 16:50:36 -08:00
Leonardo de Moura
addcbc6fa3 feat: process termination_by syntax 2022-01-12 16:15:30 -08:00
Leonardo de Moura
de19767594 feat: basic skeleton for termination_by' vs termination_by 2022-01-11 16:53:39 -08: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
3fed9c9df7 feat: reject partial when if constant is not a function
fixes #697
2021-09-28 21:07:14 -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
c41b3d6928 fix: reset local context at addPreDefinitions 2021-09-21 20:18:59 -07:00
Leonardo de Moura
640fc964b6 feat: basic termination_by bookkeeping 2021-09-21 15:24:42 -07:00
Sebastian Ullrich
7c3101a51c chore: produce more efficient/pp-able array code from quotations 2021-05-19 09:52:35 +02:00
Leonardo de Moura
50cf4216ac feat: closes #440 2021-05-15 20:54:54 -07:00
Leonardo de Moura
68143ca8ba chore: trace[...]! ==> trace[...]
@Kha I think this one is a good change, there is no real reason for
using the `!` suffix here.
2021-03-10 18:44:43 -08:00
Leonardo de Moura
b7019d913e chore: remove unnecessary lifts and implicits
Use autobound and autolift features
2021-03-07 09:01:54 -08:00
Leonardo de Moura
eb510c16c3 chore: remove two workarounds
They are not needed anymore after 83775b08cb
2021-02-05 15:21:57 -08:00
Leonardo de Moura
24d58b672c chore: add temporary workarounds 2021-02-04 18:38:04 -08:00
Leonardo de Moura
8d9339a856 feat: improve error message position for termination check failures 2021-01-13 10:59:28 -08:00
Leonardo de Moura
f0ac477d2e feat: add sanity checks 2021-01-01 18:31:28 -08:00
Leonardo de Moura
619885e745 feat: add throwMVarError! 2020-12-25 10:03:42 -08:00
Leonardo de Moura
b855d79718 feat: filter "failed to synthesize ..." errors when there are other errors 2020-12-25 10:03:42 -08:00
Leonardo de Moura
db5fe843de chore: add expandInterpolatedStr helper function, rename msg! => m! 2020-11-14 13:52:52 -08:00
Leonardo de Moura
13c2a8ff51 chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Leonardo de Moura
525fb7ca91 chore: cleanup 2020-10-24 06:26:32 -07:00
Leonardo de Moura
b1e720e6cc chore: use #lang lean4 instead of new_frontend 2020-10-15 15:40:56 -07:00
Leonardo de Moura
bdb92ce7a4 feat: add throwError! macro and improve trace[..]! macro 2020-10-13 12:32:33 -07:00
Leonardo de Moura
0889293a2c chore: move to new frontend 2020-10-13 07:57:42 -07:00
Leonardo de Moura
802dd9056c fix: missing braces 2020-10-05 19:09:41 -07:00
Leonardo de Moura
0fe705f3a1 feat: improve error messages for unassigned metavariables
cc @Kha
2020-09-29 17:18:03 -07:00
Leonardo de Moura
3c24366b41 feat: basic toBelow 2020-09-23 18:24:56 -07:00
Leonardo de Moura
0174004b1c feat: improver error message generation for termination checking 2020-09-23 18:24:56 -07:00
Leonardo de Moura
13d067d619 fix: forallTelescopeReducing => forallTelescope
It impacts `mkInhabitantFor`
2020-09-10 18:06:29 -07:00
Leonardo de Moura
83410083a8 fix: do not generate code for noncomputable definitions 2020-09-09 15:28:41 -07:00
Leonardo de Moura
b52713ef8f refactor: split PreDefinition.lean into smaller files 2020-09-08 08:23:41 -07:00