Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
This PR adds a slight performance improvement to reflection of `if` statements that I noticed by profiling Leanwuzla against SMTCOMP's `non-incremental/QF_BV/fft/Sz256_6616.smt2`. In particular: 1. The profile showed about 4 percent of the total run time were spent constructing these decidable instances in reflection of `if` statements. We can construct them much quicker by hand as they always have the same structure 2. This delays construction of these statements until we actually generate the reflection proof that we wish to submit to the kernel. Thus if we encounter a SAT instad of an UNSAT problem we will not spend time generating these expressions anymore. ``` baseline Time (mean ± σ): 31.236 s ± 0.258 s Range (min … max): 30.899 s … 31.661 s 10 runs after Time (mean ± σ): 30.671 s ± 0.288 s Range (min … max): 30.350 s … 31.156 s 10 runs ``` |
||
|---|---|---|
| .github | ||
| doc | ||
| images | ||
| nix | ||
| releases_drafts | ||
| script | ||
| src | ||
| stage0 | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .ignore | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| debug.log | ||
| 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
- Manual
- Release notes starting at v4.0.0-m3
- Examples
- External Contribution Guidelines
- FAQ
Installation
See Setting Up Lean.
Contributing
Please read our Contribution Guidelines first.
Building from Source
See Building Lean (documentation source: doc/make/index.md).