lean4-htt/src
Henrik Böving c1e76e8976
perf: optimize LRAT trimming in bv_decide (#7257)
This PR improves performance of LRAT trimming in bv_decide.

The underlying idea is taken from LRAT trimming as implemented in
[`lrat-trim`](https://github.com/arminbiere/lrat-trim/t): As we only
filter about half to two thirds of the LRAT proof steps anyway, there is
no need to use tree or hash maps to store information about them and we
can instead use arrays indexed by the proof step directly. This does not
meaningfully increase the amount of memory required but makes the
trimming step basically disappear from profiles, e.g.
`smt/non-incremental/QF_BV/20210312-Bouvier/vlsat3_a72.smt2` [used
to](https://share.firefox.dev/41kJTle) have 8% of its time spent in
trimming [now](https://share.firefox.dev/3QAKI4w) 1.5%.
2025-02-27 13:47:21 +00:00
..
bin feat: API to avoid deadlocks from dropped promises (#6958) 2025-02-07 15:33:10 +00:00
cmake fix: Windows stage0 linking (#6622) 2025-01-14 09:09:50 +01:00
include/lean feat: IntX.abs (#7131) 2025-02-18 13:16:30 +00:00
Init chore: cleanup of remaining Array-specific material (#7253) 2025-02-27 10:51:30 +00:00
initialize fix: explicitly initialize Std in lean_initialize (#4668) 2024-07-06 13:17:30 +00:00
kernel perf: optimize sorry detection in unused variables linter (#7129) 2025-02-22 16:43:39 +00:00
lake feat: lake: builtin inits, elabs, & macros for DSL (#7171) 2025-02-27 02:34:14 +00:00
Lean perf: optimize LRAT trimming in bv_decide (#7257) 2025-02-27 13:47:21 +00:00
library feat: Environment.realizeConst (#7076) 2025-02-26 19:32:21 +00:00
runtime feat: Environment.realizeConst (#7076) 2025-02-26 19:32:21 +00:00
shell chore: avoid rebuilding leanmanifest in each build (#5057) 2024-08-15 14:55:36 +00:00
Std feat: well-formedness lemmas for raw tree map operations (#7237) 2025-02-27 13:08:41 +00:00
util fix: set CP_UTF8 on Windows (#7213) 2025-02-26 18:36:32 +00:00
cadical.mk feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
CMakeLists.txt feat: staged CMake build with Lake as a plugin (#6929) 2025-02-21 04:03:50 +00:00
config.h.in
githash.h.in
Init.lean feat: binderNameHint (#6947) 2025-02-06 11:03:27 +00:00
lakefile.toml.in feat: Lake plugin w/ USE_LAKE (#7233) 2025-02-26 04:05:15 +00:00
lean-toolchain
Lean.lean feat: premise selection API (#7061) 2025-02-14 04:08:18 +00:00
lean.mk.in chore: trivial changes from async-proofs branch (#7028) 2025-02-10 16:44:05 +00:00
Leanc.lean
Std.lean feat: Std.Net.Addr (#6563) 2025-01-09 09:33:03 +00:00
stdlib.make.in fix: make the stage2 Leanc build use stage2 oleans rather than stage1 oleans (#7190) 2025-02-25 06:20:50 +00:00
stdlib_flags.h feat: add debug.proofAsSorry (#6300) 2024-12-03 23:21:38 +00:00
version.h.in chore: tag prerelease builds with -pre (#5943) 2024-11-06 14:47:52 +00:00