Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
@gebner I was getting the following error with valgrind: ==9902== Invalid read of size 1 ==9902== at 0xAD209B: lean::module_mgr::mark_out_of_date(std::string const&, lean::buffer<std::string, 16u>&) (module_mgr.cpp:24) ==9902== by 0xAD3EF5: lean::module_mgr::invalidate(std::string const&) (module_mgr.cpp:286) ==9902== by 0x986A84: lean::server::handle_sync(nlohmann::basic_json<std::map, std::vector, std::string, bool, long, unsigned long, double, std::allocator> const&) (server.cpp:141) ==9902== by 0x986603: lean::server::handle_request(nlohmann::basic_json<std::map, std::vector, std::string, bool, long, unsigned long, double, std::allocator> const&) (server.cpp:105) ==9902== by 0x986313: lean::server::run() (server.cpp:90) ==9902== by 0x975E98: main (lean.cpp:383) ==9902== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==9902== ==9902== ==9902== Process terminating with default action of signal 11 (SIGSEGV) ==9902== Access not within mapped region at address 0x0 ==9902== at 0xAD209B: lean::module_mgr::mark_out_of_date(std::string const&, lean::buffer<std::string, 16u>&) (module_mgr.cpp:24) ==9902== by 0xAD3EF5: lean::module_mgr::invalidate(std::string const&) (module_mgr.cpp:286) ==9902== by 0x986A84: lean::server::handle_sync(nlohmann::basic_json<std::map, std::vector, std::string, bool, long, unsigned long, double, std::allocator> const&) (server.cpp:141) ==9902== by 0x986603: lean::server::handle_request(nlohmann::basic_json<std::map, std::vector, std::string, bool, long, unsigned long, double, std::allocator> const&) (server.cpp:105) ==9902== by 0x986313: lean::server::run() (server.cpp:90) ==9902== by 0x975E98: main (lean.cpp:383) |
||
|---|---|---|
| bin | ||
| doc | ||
| extras | ||
| images | ||
| library | ||
| old_library | ||
| script | ||
| src | ||
| tests/lean | ||
| tmp | ||
| .gitignore | ||
| .travis.osx.yml | ||
| .travis.windows.yml | ||
| .travis.yml | ||
| LICENSE | ||
| README.md | ||
| License | Windows | Ubuntu | OS X | Builds/Tests |
|---|---|---|---|---|
![]() |
![]() |
![]() |
About
- Homepage
- Theorem Proving in Lean: HTML, PDF
- Authors
- Standard Library
- HoTT Library
- Emacs Mode
- Short Tutorial
Requirements
- C++11 compatible compiler: g++ (version >= 4.8.1), or clang++ (version >= 3.3)
- CMake
- GMP (GNU multiprecision library)
- MPFR (GNU MPFR Library)
- (optional) gperftools
- (optional) Boost (version >= 1.54), we can build Lean using boost::thread instead of std::thread. When using Boost, Lean can modify the thread stack size.
Installing required packages at
Windows
Linux
OS X
Build Instructions
Miscellaneous
- Testing and Code Coverage
- Building Doxygen Documentation:
doxygen src/Doxyfile - Coding Style
- Library Style Conventions
- Git Commit Conventions
- Automatic Builds
- Syntax Highlight Lean Code in LaTeX


