Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Joachim Breitner 466ef74ccc
feat: functional induction for structural recursion (#3738)
This extends `derive_functional_induction` to work with structural
recursion as well.

It produces the less general, more concrete induction rule where the
induction hypothesis is
specialized for every argument of the recursive call, not just the the
one that the function
is recursing on.

Care is taken so that the induction principle and it's motive take the
arguments in the same
order as the original function.

While I was it, also makes sure that the order of the cases in the
induction principle matches
the order of recursive calls in the function better.

---------

Co-authored-by: David Thrane Christiansen <david@davidchristiansen.dk>
Co-authored-by: Leonardo de Moura <leomoura@amazon.com>
2024-03-26 13:36:24 +00:00
.github chore: replace shell.nix with a devShell in flake.nix (#3717) 2024-03-21 13:24:01 +00:00
doc chore: replace shell.nix with a devShell in flake.nix (#3717) 2024-03-21 13:24:01 +00:00
images chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean 2015-01-31 17:38:49 -08:00
nix fix: Build failure of nix build . on macOS (#3712) 2024-03-18 21:39:39 +00:00
script fix: C++ exceptions across shared libraries on Linux (#3500) 2024-02-26 10:35:11 +00:00
src feat: functional induction for structural recursion (#3738) 2024-03-26 13:36:24 +00:00
stage0 chore: update stage0 2024-03-22 18:09:36 +00:00
tests feat: functional induction for structural recursion (#3738) 2024-03-26 13:36:24 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore chore: update tests to account for .lake 2023-11-13 20:31:24 -05:00
.ignore chore: ignore stage0/ (for rg etc.) 2022-03-18 15:28:20 +01:00
CMakeLists.txt feat: embed and check githash in .olean (#2766) 2023-11-27 10:24:43 +00:00
CODEOWNERS feat: snapshot trees and language processors (#3014) 2024-03-14 13:40:08 +00:00
CONTRIBUTING.md doc: Adjust contributor's docs to squash merging (#2927) 2023-11-21 10:13:43 +00:00
flake.lock chore: replace shell.nix with a devShell in flake.nix (#3717) 2024-03-21 13:24:01 +00:00
flake.nix chore: replace shell.nix with a devShell in flake.nix (#3717) 2024-03-21 13:24:01 +00:00
lean-toolchain doc: VS Code dev setup (#2961) 2023-11-30 08:35:03 +00:00
lean.code-workspace chore: add the lean4 extension to the vscode workspace (#3059) 2023-12-14 08:58:21 +00:00
LICENSE chore: remove LICENSE header that confused GitHub 2021-11-18 09:42:35 +01:00
LICENSES chore: add GMP license for now 2021-11-18 09:42:35 +01:00
README.md doc: remove nightly and other outdated references (#3027) 2024-01-25 13:53:36 +00:00
RELEASES.md feat: functional induction for structural recursion (#3738) 2024-03-26 13:36:24 +00:00

This is the repository for Lean 4.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.