Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
This PR addresses the lean crash (stack overflow) with nested induction and the generation of the `SizeOf` spec lemmas, reported at #9018. It does not address the underlying issue that in these cases, the generated SizeOf code does not match the the SizeOf function found by instance search, and thus the generation fails. This seem hard to fix: `mkSizeOfMinors` would have to recognize that given, say, `List (Id Tree)`, the derived instance (assuming there was one for `Tree`) is not the same as for `List Tree`. The problem seems just about as hard as getting derived SizeOf right in the presence of nested induction and non-canonical SizeOf instances. |
||
|---|---|---|
| .github | ||
| doc | ||
| images | ||
| nix | ||
| releases_drafts | ||
| script | ||
| src | ||
| stage0 | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .gitpod.Dockerfile | ||
| .gitpod.yml | ||
| .ignore | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| lean-toolchain | ||
| lean.code-workspace | ||
| LICENSE | ||
| LICENSES | ||
| README.md | ||
| RELEASES.md | ||
This is the repository for Lean 4.
About
- Quickstart
- Homepage
- Theorem Proving Tutorial
- Functional Programming in Lean
- Documentation Overview
- Language Reference
- Release notes starting at v4.0.0-m3
- Examples
- External Contribution Guidelines
Installation
See Setting Up Lean.
Contributing
Please read our Contribution Guidelines first.
Building from Source
See Building Lean.