Repository navigation
Classify BB(6) hardness, port 6 missing stack cryptids, and prove halting evidence - #22
Conversation
5442acd to
d7b61de
Compare
|
Thanks @TomZahavy — nice additions!
|
d7b61de to
998f068
Compare
|
Thanks @mo271 for the thorough and constructive review! All 5 items have been addressed:
Verified locally:
|
|
Thanks @TomZahavy — the ClosedStackSystem relabel/mirror refactor in Stack.lean came out super clean, and everything from the review is addressed. LGTM! (Tiny non-blocking nit if you touch this again later: BusyBeaver/BB6/Accelerations/README.md L8 still has one (BusyBeaver.HardnessEvidence) missing .BB6.) |
…chine Hardness sections Record why the hardest BB(6) holdouts are hard, in the bbchallenge cryptid vocabulary (halting trigger RW/RES/EQ/POW, growth regime, shield, heuristic hazard from exact accelerated simulation of the certified rules), for the 33-class hard core: Problems 1-5, the shielded single-base exponential cascades and the Collatz-like stacked cryptids S2-S5, plus the resolved case S1 (1RB1LA_0RC1RD_1LC0LA_1LE1RE_0RB0LF_---0LD), which the community proved halting (busycoq CubicMachines.v, TM49) in line with its critical hazard. - New docstring-only module BusyBeaver/BB6/Hardness.lean (rendered on the docs site), imported from BusyBeaver.lean. - A '## Hardness' section appended to the module docstring of the 27 hard-core machines present in BusyBeaver/BB6 and BusyBeaver/BB6/Accelerations. - README pointers; the 1RB0LE_0RC1RC_0RD1LA_1LD0LA_1LF1LC_---1LC row now records the busycoq Eqv_RegularPairs.v equivalence with its ---0LA sibling. No theorem statements change; comparator configuration untouched.
…--_0RC0RE_1RD1RF_1LE0LB_1RC0LD_1RC1RA The wiki treats 1RB---_0RC0RE_1RD1RF_1LE0LB_1RC0LD_1RC1RA and its restarts from states C, D and E (1RB1RD_1LC0LE_1RA0LB_1RA1RF_0RA0RC_1RE---, 1RB0RE_1LC0RA_1LA1LD_1LC1LF_0LC0LB_1LE---, 1RB0LC_1RC1RE_1LA0LD_0RB0RA_1RB1RF_1RD---) as one probviously halting cryptid. The three new modules are the state relabelling (and, for the state-D restart, left/right mirror) of the existing proof, each with its own blank-tape entry lemma. Hardness.lean now records the community's hazard analysis for this family and points to the BMO Problem 11 odometer family counted as hard by the solvability census.
…1LA_1LD0LA_1LF1LC_---1LC / ---0LA BusyBeaver.BB6.Equivalences transports CollatzHalts along the identity of the two (textually identical) high-level counter systems and combines the two isHalt_iff_highLevel_acceleration theorems into isHalt_HHH1LC_iff_HHH0LA : IsHalt (---1LC) <-> IsHalt (---0LA).
1c90124 to
365ec98
Compare
Summary
This PR formalizes the hardness classification of the 33 open hard-core BB(6) holdout machines, introduces reusable stack transport infrastructure (
ClosedStackSystem,ClosedStackSystem.relabel,ClosedStackSystem.mirrorinBusyBeaver/BB6/Accelerations/Stack.lean) deduplicating ~3,350 lines across#285,#500, and#490, ports the 6 remaining hard-core machines intoBusyBeaver/BB6/Accelerations/with completeHasStackReductionproofs, proves the formal halting equivalence of the synchronized pair1RB0LE_0RC1RC_0RD1LA_1LD0LA_1LF1LC_---1LC / ---0LA, and introduces 74 kernel-checked live-hazard and halting-residue theorems across 26 machine namespaces inBusyBeaver.BB6.HardnessEvidence.Key Additions
Hardness Classification (
BusyBeaver/BB6/Hardness.lean+ 33 Per-Machine Sections):#330,#608,#424,#464,#79,#140,#614,#590/#79).#688,#644,#586,#746,#693,#352,#530,#623,#625,#380,#568).#391,#129,#660,#667,#680,#496,#549,#600,#665, plus calibration#72).#59,#85,#285,#490,#500).1RB0LD_0RC---_1LD0RF_0LE0RA_0RA1LF_0LA1LB).BusyBeaver/BB6/(21 files) andBusyBeaver/BB6/Accelerations/(12 files) now documents its halting trigger (RW/RES/EQ/POW), growth regime, shield, and heuristic hazard in clean prose without dangling declaration names.Stack Transport Infrastructure & 6 Missing Hard-Core Machines Ported (
BusyBeaver/BB6/Accelerations/):BusyBeaver/BB6/Accelerations/Stack.lean): Adds state permutation and tape reflection equivariance forHasStackReductionviaClosedStackSystem.relabelandClosedStackSystem.mirror. Exposes#85's closed stack system and compresses#285,#500, and#490from ~1,177 lines each to ~108 lines each (saving ~3,350 lines).1RB---_0RC0RE_1RD1RF_1LE0LB_1RC0LD_1RC1RA):1RB1RD_1LC0LE_1RA0LB_1RA1RF_0RA0RC_1REHHH(#285)1RB0RE_1LC0RA_1LA1LD_1LC1LF_0LC0LB_1LEHHH(#490)1RB0LC_1RC1RE_1LA0LD_0RB0RA_1RB1RF_1RDHHH(#500)1RB1RA_1LC0RC_1RE0LD_0RE0LF_1RAHHH_1RB1LF(#659,1RB1RC_1LC0LE_1RD1RC_1LB0RA_HHH0LF_1RD1LF(#209,1RB0LC_1LC0RE_1LD1LC_1LA1RD_HHH0RF_0LB0RD(#480,HasStackReductionproofs, bringing the total holdouts in the repository to 95 (54 inBB6/[53 closed-pattern + A6is_not_halt], 35 inBB6/Accelerations/, 6 inBB33/).Formal Equivalence Theorem (
BusyBeaver/BB6/Equivalences.lean):BusyBeaver.BB6.isHalt_HHH1LC_iff_HHH0LA:by transporting
CollatzHaltsacross the state isomorphism between the two machines' high-level counter systems and chaining both machines'isHalt_iff_highLevel_accelerationtheorems.Formal Hardness Evidence (
BusyBeaver/BB6/HardnessEvidence.lean):namespace BusyBeaver.BB6.HardnessEvidenceacross 26 machine namespaces (the 24 hard-core machines that haveIsValidAcceleration, plus#568and1RB1RF_1LC1LF_---1LD_1LE0RA_1RE1LB_1RD0LD, out of 73 accelerated holdouts):highLevelNext s = none(ornext s = none) at an explicit reachable-format configuration for all 26 machines, proving the high-level transition function is genuinely partial.MOD,EQ,DIV, andPOWalgebraic preimages ofnoneunderhighLevelNext/next, including two-step halting proofs via(next ...).bind next = none/(highLevelNext ...).bind highLevelNext = noneon#80(parameterized byr :: R),#693, and#746.Verification
lake build: All 3,882 jobs acrossCryptids,Challenge,BusyBeaver, andBusyBeaverChallengebuilt successfully with 0 errors.comparator/busy_beaver.json: All 506 declarations verified across all 95 machines,Equivalences, andHardnessEvidence(BusyBeaver.BB6.HardnessEvidence.*).python3 verify.py: All zero-dependency first-principles verifier checks passed (EXIT 0).lemmain all Lean source files.sorryoutside specification files (Challenge.leanandBusyBeaverChallenge.lean).native_decideor disabled linters.<!-- hardness:begin/end -->) stripped from docstrings.