Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
We recently discovered inconsistencies in Mathlib and Std over the ordering of the arguments for `==`. The most common usage puts the "more variable" term on the LHS, and the "more constant" term on the RHS, however there are plenty of exceptions, and they cause unnecessary pain when switching (particularly, sometimes requiring otherwise unneeded `LawfulBEq` hypotheses). This convention is consistent with the (obvious) preference for `x == 0` over `0 == x` when one term is a literal. We recently updated Std to use this convention https://github.com/leanprover/std4/pull/430 This PR changes the two major places in Lean that use the opposite convention, and adds a suggestion to the docstring for `BEq` about the preferred convention. |
||
|---|---|---|
| .github | ||
| doc | ||
| images | ||
| nix | ||
| releases_drafts | ||
| script | ||
| src | ||
| stage0 | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .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
- 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).