Repository navigation
Add 181 kernel-verified BB(6) halting and non-halting proofs - #23
Conversation
|
Very nice — 181 distinct 1. Blocking: Wire the 181 Modules into CI & Fix Compilation (
|
Add 181 kernel-verified Lean 4 behavioral proofs for Busy Beaver 6 (BB(6)) machines reproducing community and busycoq results, structured under: - BusyBeaver/BB6/Halt/: 31 halting machines (IsHalt), verified via direct multi-step evaluation reaching halting configurations. - BusyBeaver/BB6/NonHalt/: 150 non-halting machines (IsNotHalt), verified via inductive loop invariants, simulated cycles, or closed-set reachability. All proofs are verified purely inside the Lean 4 kernel with zero axioms (0 sorry, 0 admit, 0 native_decide, 0 axioms). Also adds supporting calculus modules (CarryCounter, Counter, CtlCertificate, Excursion, Longitudinal, WordCalculusA–I) and updates BusyBeaver/README.md and BusyBeaver/BB6/README.md with complete census tables linking each machine to its bbchallenge wiki entry and proof.
Restore canonical scoped notations l {{q}}> r => Cfg.headRight q l r
and l <{{q}} r => Cfg.headLeft q l r in BusyBeaver/Defs.lean, marking
Cfg.headRight and Cfg.headLeft as @[reducible].
Update WordCalculusH.lean's step macro to simplify through
Cfg.headRight and Cfg.headLeft during execute.
Fixes the CI build failure across existing holdouts in BB6/Accelerations/.
2c93870 to
a762248
Compare
|
Thanks for the thorough review @mo271! All 5 items have been addressed in
|
|
Thanks for the big update in A few important items from the first pass are still open before we can merge:
|
Address items 1–4 from review @mo271 (#issuecomment-6600346806): 1. CI runtime & private scoping: - Allow parallel builds in CI by removing LEAN_NUM_THREADS: "1". - Keep internal proof machinery private under module; expose only public deliverables (machine, target, is_halt/is_not_halt, and donor entrypoints). 2. Deduplication & factored calculi: - Factored shared multiStep / RLE-certificate / tape engines into BusyBeaver/Calculi/ (CertTree, HaltShared, LongitudinalCascade, RleCarryEngine, SegmentChain, SharedDonorsA). - Eliminated copy-pasted donor proofs across Halt/ and NonHalt/ (overlap < 0.75). - Net reduction of over 100,000 lines of redundant code. 3. BusyBeaverChallenge line limit: - Compacted BusyBeaverChallenge.lean to 9,973 lines (< 10,000 limit). 4. Code hygiene, options, and un-minification: - Un-minified shared APIs in BusyBeaver/Calculi/WordCalculus* with canonical aliases. - Stripped leftover harness comments across all files. - Standardized on theorem keyword across the codebase. - Scoped maxHeartbeats/maxRecDepth where needed. Verification: - Pure kernel verification: 0 sorry, 0 admit, 0 native_decide. - lake build BusyBeaver BusyBeaverChallenge: 0 errors (3,576 jobs). - lake comparator --config comparator/busy_beaver.json: 'Your solution is okay!'.
…an linter warnings
… during parallel builds
|
Hi @mo271, Thank you for the detailed review and guidance! We have addressed all four items in full: 1. CI Runtime &
|
|
Thanks @TomZahavy — great progress! Having A few concrete items still need a quick pass before we can merge:
|
…hallenge file, and clean calculi - Close @[expose] public section after target across machine files so only deliverables are exported - Add Apache 2.0 copyright headers to the 9 requested files - Wrap oversized lines (>1000 chars) in the flagged machine files - Compact blank lines in BusyBeaverChallenge.lean to 9,249 lines (< 10,000 ceiling) - Replace all lemma keywords with theorem in BusyBeaver/Calculi/WordCalculusH.lean - Add module docstrings across all 22 BusyBeaver/Calculi/ files - Verify clean pass on lake build and lake comparator
|
Hi @mo271, Thank you for the review! All 4 items have been addressed in full: 1. Rebase onto
|
|
LGTM — thanks @TomZahavy for addressing all the review items! README.md merges cleanly with main, all 9 license headers and Calculi/ docstrings are in place, BusyBeaverChallenge.lean has plenty of headroom (9,249 lines), @[expose] public section is scoped down, and all 5 CI checks (including BusyBeaver CI + lake comparator across all 687 theorems) are green. (Tiny follow-up note for a future docs/CI PR so we don't re-trigger the 3h build here: at the bottom of BusyBeaver/BB6/README.md, the Pomme table row links to ./NonHalt/M_1RB1LA_1RC1RE_1LD0RB_1LA0LC_0RF0RD_0RBHHH.lean instead of ./M_1RB1LA_1RC1RE_1LD0RB_1LA0LC_0RF0RD_0RBHHH.lean.) |
Summary
This PR adds 181 kernel-verified Lean 4 behavioral proofs for Busy Beaver 6 (
BB(6)) Turing machines, reproducing community proofs frombbchallengeand Coq formalizations frombusycoq:BusyBeaver/BB6/Halt/(31 machines): Verified halting proofs (IsHalt target_tm), each proving reachability frominit []to a halting configuration via kernel evaluation.BusyBeaver/BB6/NonHalt/(150 machines): Verified non-halting proofs (IsNotHalt target_tm), established via inductive invariants, simulated cycles, or closed-set reachability certificates.Verification & Soundness
sorry, 0admit, and 0native_decide.CarryCounter,Counter,CtlCertificate,Excursion,Longitudinal,WordCalculusA–I) ensuring hermetic, independent buildability.BB(6)andBB(3, 3)cryptid holdouts;BusyBeaver.DefsandBusyBeaver.Basichave been cleaned of duplicate notations while preserving all Collatz and higher-level acceleration structures.BusyBeaver/README.mdandBusyBeaver/BB6/README.mdwith complete markdown census tables linking each machine to itsbbchallengewiki entry and corresponding Lean 4 proof file.