Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
As suggested by David Chisnall. If I read the spec correctly, it would be unsafe to use the release ordering for dec_ref_core: then the following situation could happen: ```c++ // m_rc -> 2 // Thread 1: unsigned x = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release); // Thread 2: unsigned y = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release); // x = y = 1u, m_rc -> 2 ``` That is, a release store operation is not required to be visible to another release operation. Herb Sutter also recommends the acq_rel ordering for reference counters. |
||
|---|---|---|
| .github | ||
| bin | ||
| doc | ||
| extras/latex | ||
| images | ||
| leanpkg | ||
| library | ||
| script | ||
| src | ||
| tests | ||
| tmp | ||
| .appveyor.yml | ||
| .clang-format | ||
| .codecov.yml | ||
| .gitignore | ||
| .travis.yml | ||
| LICENSE | ||
| README.md | ||
| License | Windows | Linux / macOS | Test Coverage | Chat |
|---|---|---|---|---|
![]() |
About
- Homepage
- Theorem Proving in Lean
- Standard Library
- Emacs Mode
- Change Log
- For HoTT mode, please use Lean2.
Requirements
- C++11 compatible compiler
- CMake
- GMP (GNU multiprecision library)
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
- Exporting, and reference type-checkers
