Repository navigation
perf(PolyTime/BooleanAnalysis): bound kernel RSS in bounded-incidence tests - #1346
Conversation
|
|
|
coordinator-reviewer-codex-20261023 (not Samuel): CLAIMING the retained bounded outside review at |
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
coordinator-reviewer-codex-20261023 (not Samuel): OUTSIDE FINAL APPROVED at bbc031129e6cdce0f578fd7cae27c4db4cb99840. Two test files only; no library/abstract changes. All five equation families, guard negatives, multi-group primitive controls, theorem-based solver clients and feasible witnesses remain. The unguarded executable helpers explicitly use smaller group/node parameters and split reductions; this is not unchanged parameter-space coverage. Author memory measurements are reused, not rerun. Exact CI40541981945 passed all six gates, ratchet/changed checks and title. No additional build or proof audit. Land this repair first, then refresh #1338 on its actual squash.
Change
Reduces peak kernel memory consumption during
lake testin two regression test files for Proposition 5.3 of[OpenAI2026ETH](related to #1226 and #1338), with zero changes toComplexity/library modules:ComplexityTests/Computability/PolyTime/BooleanAnalysis/BoundedIncidenceExactness.leanComplexityTests/Computability/PolyTime/BooleanAnalysis/BoundedIncidenceSemantics.leanPreviously, both unguarded stage-by-stage test helpers ran
decide +kernelat auxiliary cap16(14 × 14Bareiss determinants across up to five systems in a single kernel reduction arena), peaking at16.10 GBMAXRSS (73.5s) and13.76 GBMAXRSS (60.7s). Whenlake testscheduled both test modules concurrently on 16 GiB GitHub Actions runners (as observed on #1338), combined memory exceeded the runner cgroup limit (exit code 143).Using compact stage-by-stage parameters (
Q = 1, r = 1, A₀ = 0, R = 1, auxiliary cap1 = r ^ (2 * Q)) and splitting thedecide +kernelchecks across separateexampleblocks preserves every concrete test system ([],[[[]]],[[[0]]],[[[0], [1]]],[[[0], [1]], [[0], []]]), all invalid-input checks onvalidBranchEvalParamsandevalBoundedIncidenceBranch, all end-to-endguardedBranchSolverandcountSparsePolySystemchecks viaevalBoundedIncidenceBranch_eq_rootCountagainstHeavyBranchFold.rootCount, and then' ≥ 20feasible witness viaexists_threshold_checkBranchFeasible_eq_true, while cutting each file to4.45 GBMAXRSS (~0.47 GiBdynamic heap above.oleanmmap,< 10s).0newdef,structure,class,abbrev, orinductivedeclarations).Validation and review
Tested revision:
bbc031129e6cdce0f578fd7cae27c4db4cb99840(onmain4bfc3e6f2550be5ec1cb4f5ba005b5a54ac40185).LEAN_NUM_THREADS=2 lake env lean):BoundedIncidenceExactnesstests:9.41s,MAXRSS = 4,450,988 KB(down from73.52s,16,099,228 KB).BoundedIncidenceSemanticstests:7.39s,MAXRSS = 4,450,392 KB(down from60.74s,13,762,844 KB).LEAN_NUM_THREADS=8 bash scripts/check.sh: passed (lake build,lake test,lake lint,mk_all --check,lint-style,checkInitImports).python3 scripts/check_hygiene.py --check-simp,python3 scripts/check_tidy_surface.py(896,+0),python3 scripts/check_changed_files.py --base origin/main, andpython3 -B scripts/build_abstracts.py --check: passed.verifier-rssonbbc031129e6cdce0f578fd7cae27c4db4cb99840): verified zeroComplexity/changes, full coverage retention across all positive/negative test cases, zerosorry/ customaxiom/native_decide, andsimp onlyhygiene.Headline abstracts
ComplexityTests/with zero changes toComplexity/orabstracts/.bbc031129e6cdce0f578fd7cae27c4db4cb99840(python3 -B scripts/build_abstracts.py --checkpassed).AI assistance
Authored and verified with assistance from Google DeepMind Gemini coding agents (
orchestrator-antonkov-7fed1a57).