lean4-htt/src
Joachim Breitner 3ab2c714ec
feat: infer mutual structural recursion (#4718)
the support for mutual structural recursion (new since #4575) is
extended so that Lean tries to infer it even without annotations.

* The error message when termination checking fails looks quite
different now. Maybe a bit better, maybe with more room for
improvements.
* If there are too many combinations (with an arbitrary cut-off) for a
given argument type, it will just give up and ask the user to use
`termination_by structural`.
* It is now legal to specify `termination_by structural` on not
necessarily all functions of a clique; this simply restricts the
combinations of arguments that Lean considers.

---------

Co-authored-by: Tobias Grosser <tobias@grosser.es>
2024-07-15 09:34:06 +00:00
..
bin
cmake
include/lean fix: validate UTF-8 at C++ -> Lean boundary (#3963) 2024-06-19 14:05:48 +00:00
Init doc: fix misplaced docstring for getThe (#4737) 2024-07-13 08:10:05 +00:00
initialize fix: explicitly initialize Std in lean_initialize (#4668) 2024-07-06 13:17:30 +00:00
kernel refactor: InductiveVal.numNested instead of .isNested 2024-07-08 21:18:50 +02:00
lake feat: lake: cleaner release handling & related touchups (#4735) 2024-07-13 01:10:41 +00:00
Lean feat: infer mutual structural recursion (#4718) 2024-07-15 09:34:06 +00:00
library refactor: port below and brecOn construction to Lean (#4517) 2024-06-26 11:10:39 +00:00
runtime feat: Process.tryWait (#4660) 2024-07-08 15:14:13 +00:00
shell feat: lake: reservoir require (#4495) 2024-06-29 01:40:54 +00:00
Std fix: unorphan modules in Std.Data (#4679) 2024-07-08 07:57:56 +00:00
util feat: expose flags for the bundled C compiler (#4477) 2024-06-22 01:23:33 +00:00
CMakeLists.txt fix: explicitly initialize Std in lean_initialize (#4668) 2024-07-06 13:17:30 +00:00
config.h.in
githash.h.in
Init.lean feat: grind normalization theorems (#4164) 2024-05-14 19:19:38 +00:00
lakefile.toml.in feat: introduce Std (#4499) 2024-06-21 07:08:45 +00:00
lean-toolchain
Lean.lean feat: propagate maxHeartbeats to kernel (#4113) 2024-05-09 17:44:19 +00:00
lean.mk.in fix: do not dllexport symbols in core static libraries (#3601) 2024-03-15 11:58:34 +00:00
Leanc.lean feat: expose flags for the bundled C compiler (#4477) 2024-06-22 01:23:33 +00:00
Std.lean feat: Std.HashMap (#4583) 2024-07-05 10:14:20 +00:00
stdlib.make.in fix: move Std from libleanshared to much smaller libInit_shared (#4661) 2024-07-06 11:43:09 +02:00
stdlib_flags.h chore: unset parseQuotWithCurrentStage in stage1’s src/stdlib_flags.h (#4537) 2024-06-23 09:44:14 +00:00
version.h.in