Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
@gebner, I have been experiencing crashes that are hard to reproduce. I think one of the problems was that get_vm_name was returning a `name const &`. I think this may produce a memory access violation in the following scenario: 1- Thread 1 invokes get_vm_name, and gets a reference R. This is a reference to a memory cell in the vector m_idx2name. 2- Thread 2 invokes get_vm_index, and it triggers a vector resize operation. After the resize, reference R is invalid. 3- Thread 1 crashes trying to access R. |
||
|---|---|---|
| bin | ||
| doc | ||
| extras | ||
| images | ||
| library | ||
| old_library | ||
| script | ||
| src | ||
| tests | ||
| tmp | ||
| .appveyor.yml | ||
| .codecov.yml | ||
| .gitignore | ||
| .travis.yml | ||
| LICENSE | ||
| README.md | ||
| License | Windows | Linux / macOS | Test Coverage |
|---|---|---|---|
![]() |
About
- Homepage
- Theorem Proving in Lean
- Standard Library
- Emacs Mode
- Short Tutorial
- For HoTT mode, please use Lean2.
Requirements
- C++11 compatible compiler
- CMake
- GMP (GNU multiprecision library)
- MPFR (GNU MPFR Library)
- (optional) gperftools
Installing required packages at
Windows
Linux
OS X
Build Instructions
Miscellaneous
- Building Doxygen Documentation:
doxygen src/Doxyfile - Coding Style
- Library Style Conventions
- Git Commit Conventions
- Automatic Builds
- Syntax Highlight Lean Code in LaTeX
