Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Henrik Böving 6f16a535f8
perf: speedup bv_decide's LRAT checker by improving input validaton (#7491)
This PR achieves a speed up in bv_decide's LRAT checker by improving its
input validation.

When the LRAT checker works on a clause it needs to know that the clause
has no duplicate literals and is not tautological (i.e. doesn't contain
the same variable in different polarities). Previously this was done
using a naive quadratic algorithm, now we check the property using a
HashMap in linear time. Beyond this there is also a few micro
optimizations.
Together they improve the runtime on the SMTLIB problem
`non-incremental/QF_BV/20210312-Bouvier/vlsat3_a15.smt2` from `1:25.31`
to `1:01.32` minutes (where 39 seconds of this run time are the SAT
solver and thus completely unaffected by the optimization)

Co-authored-by: @JOSHCLUNE

---------

Co-authored-by: JOSHCLUNE <josh.seth.clune@gmail.com>
2025-03-16 14:29:33 +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: speedup bv_decide's LRAT checker by improving input validaton (#7491) 2025-03-16 14:29:33 +00:00
stage0 chore: update stage0 2025-03-15 08:02:41 +00:00
tests feat: Nat.sub in cutsat (#7503) 2025-03-16 03:03:36 +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 chore: split RELEASES.md into releases/ folder (#6918) 2025-02-03 11:04:09 +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).