Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Rob23oba e77b528ef5
perf: reduce elaboration time and proof size of tree map internals (#7459)
There are several things done here:
1. Use the modified `simp_to_model` which already exists in hash maps.
This version of `simp_to_model` allows specifying the query operations
to use in addition to the modifying operations. This is mostly to
improve elaboration time and actually increases olean size.
2. Instead of proving `toListModel_balance` directly, we write
`toListModel_balanceₘ` and use that instead (this saves ~3 MB).
3. Use `fun_cases` and `dsimp` instead of `rw [x.eq_def]` more
frequently in `Balancing.olean` (this saves a bit over 2 MB).
4. Mark `updateCell` and other functions dependent on it as
`noncomputable`. The main problem with `updateCell` is how other
functions, in particular `glue`, get recursively inlined, which blows
the size of the IR (this saves ~1 MB).
5. Instead of using `simp_to_model` to prove results on `insert!`,
`erase!`, etc., `simpa`s are used now, e.g. `simpa only
[insert_eq_insert!] using isEmpty_insert h`. This mainly improves
elaboration time although the olean size also goes down by ~0.3 MB.
2025-03-17 10:05:49 +00:00
.github chore: don't run MacOS aarch64 in merge queue (#7439) 2025-03-11 14:35:10 +00:00
doc chore: post-#7100 cleanup (#7196) 2025-02-23 22:46:22 +00:00
images
nix
releases chore: copy v4.17.0 release notes from releases/v4.17.0 branch (#7325) 2025-03-04 11:24:51 +00:00
releases_drafts
script fix: indenting in release notes script (#7326) 2025-03-12 23:02:02 +00:00
src perf: reduce elaboration time and proof size of tree map internals (#7459) 2025-03-17 10:05:49 +00:00
stage0 chore: update stage0 2025-03-15 08:02:41 +00:00
tests feat: Neg instance for unsigned integers (#7487) 2025-03-17 09:06:14 +00:00
.gitattributes
.gitignore
.gitpod.Dockerfile
.gitpod.yml
.ignore
CMakeLists.txt feat: upgrade cadical to 2.1.2 (#7347) 2025-03-05 17:58:58 +00:00
CMakePresets.json
CODEOWNERS
CONTRIBUTING.md
flake.lock feat: upgrade cadical to 2.1.2 (#7347) 2025-03-05 17:58:58 +00:00
flake.nix feat: upgrade cadical to 2.1.2 (#7347) 2025-03-05 17:58:58 +00:00
lean-toolchain
lean.code-workspace
LICENSE
LICENSES
README.md
RELEASES.md

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).