Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Cameron Zwarich 333f7573d7
fix: perform an earlier 'noncomputable' check to avoid misoptimizations (#7824)
This PR fixes an issue where uses of 'noncomputable' definitions can get
incorrectly compiled, while also removing the use of 'noncomputable'
definitions altogether. Some uses of 'noncomputable' definitions (e.g.
Classical.propDecidable) do not get compiled correctly by type erasure.
Running the optimizer on the result can lead to them being optimized
away, eluding the later IR-level check for uses of noncomputable
definitions.

To fix this, we add a 'noncomputable' check earlier in the
erase_irrelevant pass.
2025-04-06 16:01:07 +00:00
.github chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00
doc chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00
images
nix perf: use mimalloc by default (#7710) 2025-03-30 22:40:41 +00:00
releases_drafts chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00
script chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00
src fix: perform an earlier 'noncomputable' check to avoid misoptimizations (#7824) 2025-04-06 16:01:07 +00:00
stage0 chore: update stage0 2025-04-06 01:47:53 +00:00
tests fix: perform an earlier 'noncomputable' check to avoid misoptimizations (#7824) 2025-04-06 16:01:07 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore chore: update .gitignore for release checklist scripts (#7810) 2025-04-03 23:55:48 +00:00
.gitpod.Dockerfile chore: add gitpod configuration (#6382) 2024-12-15 21:38:13 +00:00
.gitpod.yml chore: add gitpod configuration (#6382) 2024-12-15 21:38:13 +00:00
.ignore chore: ignore stage0/ (for rg etc.) 2022-03-18 15:28:20 +01:00
CMakeLists.txt fix: sanitize build and mimalloc (#7772) 2025-04-01 12:57:24 +00:00
CMakePresets.json fix: sanitize build and mimalloc (#7772) 2025-04-01 12:57:24 +00:00
CODEOWNERS chore: adjust CODEOWNERS (#6327) 2024-12-10 08:37:20 +00:00
CONTRIBUTING.md doc: triage 2024-07-26 18:24:06 +02:00
flake.lock feat: upgrade cadical to 2.1.2 (#7347) 2025-03-05 17:58:58 +00:00
flake.nix chore: CI: bring back coredump tracing (#7625) 2025-03-21 15:25:45 +00:00
lean-toolchain doc: VS Code dev setup (#2961) 2023-11-30 08:35:03 +00:00
lean.code-workspace chore: add the lean4 extension to the vscode workspace (#3059) 2023-12-14 08:58:21 +00:00
LICENSE
LICENSES feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
README.md chore: update documentation title and link README to reference (#6409) 2024-12-17 22:18:56 +00:00
RELEASES.md chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00

This is the repository for Lean 4.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean (documentation source: doc/make/index.md).