Repository navigation
Add BB(6) stack, odometer, and transducer reductions and 20 open accelerations - #18
Conversation
…ccelerations README
|
Nice addition (including the 13 new A few specification tightening items on the three new Challenge predicates, plus documentation/formula fixes on 1. Challenge Predicate Tightening (
|
| Section | Machine | README.md |
Actual (.lean) |
|---|---|---|---|
§1.1 (L87) |
1RB0LD_1LC1RD_0LE1LA_0RB1RD_---0LF_1RA1LF |
11 |
19 |
§1.2 (L121) |
1RB0LE_1LB1RC_0RF0RD_1RE0LA_1LA1RE_---0RB |
19 |
12 |
§1.3 (L145) |
1RB0RB_1RC0LE_1LD1LA_---0LC_1RF1LE_1RA0RA |
9 |
16 |
§1.4 (L189) |
1RB1LA_1LA0RC_1RD1RC_1LE0RC_---0LF_1LE0LA |
9 |
7 |
§1.5 (L243) |
1RB1LA_1LC0RE_---0LD_1RE0LF_1RA1RE_1LA0LB |
3 |
1 |
§1.6 (L282) |
1RB1RA_1RC1LB_1LD0RA_---0LE_1LC0LF_1RE0LB |
11 |
19 |
§2.1 (L355) |
1RB0RE_1RC1RE_1LD1LC_0RB0LC_1RF0RB_---1RA |
11 |
16 |
§2.2 (L401) |
1RB1LB_1LC1LA_1RD0LB_1RA1RE_1RF0RD_---1RD |
3 |
6 |
§2.4 (L477) |
1RB1RE_1LC0RC_1RA1LD_1RB0LA_0LC1RF_---1RD |
3 |
4 |
§2.5 (L525) |
1RB1RE_1LC1LB_1LE0LD_1LE1LC_0RF1RA_---1RA |
11 |
4 |
§2.6 (L564) |
1RB1RF_1LC0RE_1RD0LC_0LB0RA_1LD1RD_1RB--- |
3 |
6 |
§2.7 (L596) |
1RB1RF_1LC1LF_---1LD_1LE0RA_1RE1LB_1RD0LD |
9 |
5 |
§3.3 (L726) |
1RB1LB_1RC0RD_0LA1RE_0RF1LC_1LA0RB_---1LC |
4 |
8 |
Two formula typos in BusyBeaver/BB6/Accelerations/README.md (all other base T and high-level T_HL recurrences match Lean next / highLevelNext):
- §1.3 (
L175,1RB0RB_1RC0LE_1LD1LA_---0LC_1RF1LE_1RA0RA): In the high-level contraction\Xi(u, v, L, r, R), the"if u = 0 and v ≥ 1 is odd"branch writesF_{\mathrm{HL}}(v + 1, c^+, L', r, R); in Lean'sexitC(let b' := b - 1; if b' % 2 = 0 then some (.F (b' + 3) ...)),(v - 1) + 3 = v + 2(matchingT(C(0, v, ...)) = F(v + 2, ...)), so this should beF_{\mathrm{HL}}(v + 2, c^+, L', r, R). - §2.2 (
L410-411,1RB1LB_1LC1LA_1RD0LB_1RA1RE_1RF0RD_---1RD): In both"if d ≥ 2 is even"branches,[0]^{(d-1)/2}has a half-integer exponent; Lean'sd_lean / 2(ford = d_lean + 1even) is[0]^{(d-2)/2}.
Terminology, attribution & stray @[simp]
"prefix-free"→"strict-sub-Kraft"inBusyBeaver/README.md:30andBusyBeaver/BB6/Accelerations/README.md:14:kraftSum < (k + 2)^maxLenenforces strict sub-Kraft rather than prefix-freeness (e.g.TokL = {[1], [0,0,0], [1,0,0]}has[1]as a prefix of[1,0,0];BusyBeaver/Defs.leanalready saysstrict-sub-Kraft)."state-relabeled"attribution inBusyBeaver/BB6/Accelerations/README.md:27-28,M_1RB0LD_0RCHHH_1LD0RF_0LE0RA_0RA1LF_0LA1LB.lean:14, andM_1RB0LD_0RCHHH_0LD0RF_1LE1LD_0LA0RD_0RB1RA.lean:14: neither machine is a state/mirror relabeling of the cited Wiki RLE (1RB0LD_0RC---_1LD0RF_...differs in 6 transitions from BMO Problem 11 while realizing the reflected macro-odometer;1RB0LD_0RC---_0LD0RF_...differs in 2 transitions from1RB0LE_0RC---_1LC0RD_0RB1RA_1LF1LE_0LA1LFand shifts raw blank-tape step counts by-2). Suggest"macro-equivalent holdout"/"behaviorally equivalent holdout".- Stray
@[simp]followed by a blank line atBusyBeaverChallenge.lean:7728(aboveM_1RB1LA_1RC0RF_1RDHHH_0LE1RB_HHH0LA_1LD1RF.has_stack_reduction).
…ME counts/formulas
|
Thanks for the thorough review, @mo271! All 6 items have been addressed in
Verification
|
Summary
This PR introduces three structural reduction predicates in
BusyBeaver/Defs.lean(HasStackReduction,HasOdometerReduction, andHasTransducerReduction), formalizes 9 community-documentedbbchallengeWiki machines under these three predicates, and adds 20 openBB(6)acceleration problems across stacked, odometer, and transducer dynamics inBusyBeaver/BB6/Accelerations/— including 13 higher-level Poincaré / epoch accelerations (HighLevelState) that contract multi-step drains, carry sweeps, and transient modes onto minimal single-stack or single-mode sections (335 -> 424theorems across59 -> 88machines inBusyBeaverChallenge.leanandcomparator/busy_beaver.json).1. Structural Reduction Predicates (
BusyBeaver/Defs.lean,BusyBeaver/BB6/Accelerations/Stack.lean)HasStackReduction: Closed two-sided variable-length digit-stack system (StackTuple,IsValidStackModeswith boundedHalfTapeViewprefixes≤ 8) with non-blank/blank block recurrences (stackDigit,stackSepLen), non-surjective head-symbol boundaries, certifiedReachesPlusclosure frominit [], blank-tape reachability of a multi-digit stack (3 ≤ L_g.length + R_g.length), and an arbitrary-depth stack-frame transfer transition (with 1-digit helperHasStackReduction.of_oneDigitinStack.lean).HasOdometerReduction: Closed mixed-radix odometer stack + active bit-stream system (evalOdomR/evalOdomL) with certified decrement (cap (dec stk) = cap stk - 1), zero-capacity drain (drain),0-bit reflection, unconditionalReachesPlusstep partition and closure over all(stk, w), and blank-tape reachability of a non-trivial odometer stack (2 ≤ stk₀.length ∧ 1 ≤ cap stk₀).HasTransducerReduction: Closed bidirectional macro-word transducer (IsValidTransducerModes,iterTransducerMacro) over strict-sub-Kraft block alphabets (kraftSum) with certified orbit expansion, a non-bypassable multi-token halting exit gate (exitNext), and unbounded sweeps in both directions.2. Formalized
bbchallengeWiki Machines (9Machines)HasStackReduction, 6 machines):M_1RB1LA_1RC0RF_1RDHHH_0LE1RB_HHH0LA_1LD1RF(Wiki)M_1RB1LD_1RC0LE_1LA1RE_0LF1LA_1RB0RB_HHH0LB(Wiki)M_1RBHHH_0RC0RE_1RD1RF_1LE0LB_1RC0LD_1RC1RA(Wiki)M_1RB1RA_1LC0RC_HHH0LD_0LE0RF_1RE0RA_0LF1LB(Wiki)M_1RB0RE_0RCHHH_1LD1LE_1LE1LD_1RF0LC_1RA1RF(Wiki)M_1RBHHH_0RC1RD_1LA0LA_1LE0RB_1LF1LE_1LC0LD(Wiki)HasOdometerReduction, 2 machines):M_1RB0LB_0RC0LD_1LD1RE_0LA0RF_0RD1RF_0RCHHH(Wiki, Beaver Math Olympiad Problem 10)M_1RB0LD_0RCHHH_1LD0RF_0LE0RA_0RA1LF_0LA1LB(Wiki, Beaver Math Olympiad Problem 11, macro-equivalent reflected holdout)HasTransducerReduction, 1 machine):M_1RB0LD_0RCHHH_0LD0RF_1LE1LD_0LA0RD_0RB1RA(Wiki (Bell_eats_counter), macro-equivalent holdout)3. Open
BB(6)Acceleration Problems (20Machines,13with Higher-Level Poincaré Accelerations)Every open machine certifies
is_valid_accelerationandisHalt_iff_acceleration; the 13 machines marked[+HL]additionally defineHighLevelStateand proveis_valid_highLevel_acceleration,isHalt_iff_highLevel_acceleration, andacceleration_iff_highLevel_accelerationviaIsValidAcceleration.of_collatz:7machines,5[+HL]):M_1RB0LD_1LC1RD_0LE1LA_0RB1RD_HHH0LF_1RA1LF[+HL],M_1RB0LE_1LB1RC_0RF0RD_1RE0LA_1LA1RE_HHH0RB[+HL],M_1RB0RB_1RC0LE_1LD1LA_HHH0LC_1RF1LE_1RA0RA[+HL],M_1RB1LA_1LA0RC_1RD1RC_1LE0RC_HHH0LF_1LE0LA[+HL],M_1RB1LA_1LC0RE_HHH0LD_1RE0LF_1RA1RE_1LA0LB,M_1RB1RA_1RC1LB_1LD0RA_HHH0LE_1LC0LF_1RE0LB[+HL],M_1RBHHH_0RC0LD_1LB1RC_0LE0LF_1RD1LE_1RF1RA7machines,6[+HL];M_1RB1LD_0RC0LF_...also provesHasOdometerReduction):M_1RB0RE_1RC1RE_1LD1LC_0RB0LC_1RF0RB_HHH1RA[+HL],M_1RB1LB_1LC1LA_1RD0LB_1RA1RE_1RF0RD_HHH1RD[+HL],M_1RB1LD_0RC0LF_1LD1RE_0LA0RB_0RD1RB_0LDHHH[+HL],M_1RB1RE_1LC0RC_1RA1LD_1RB0LA_0LC1RF_HHH1RD[+HL],M_1RB1RE_1LC1LB_1LE0LD_1LE1LC_0RF1RA_HHH1RA,M_1RB1RF_1LC0RE_1RD0LC_0LB0RA_1LD1RD_1RBHHH[+HL],M_1RB1RF_1LC1LF_HHH1LD_1LE0RA_1RE1LB_1RD0LD[+HL]6machines,2[+HL]):M_1RB0LE_0RC0RA_1RD1RB_0LA0RB_1LFHHH_1LD1LF,M_1RB0RE_0RC1RE_1RD1LE_0LEHHH_1RA1LF_1RF0LC[+HL],M_1RB1LB_1RC0RD_0LA1RE_0RF1LC_1LA0RB_HHH1LC[+HL],M_1RB1LF_0RC0RB_0LD1RB_1LE0LB_0LA1LC_0LBHHH,M_1RB1RE_1LC0RA_HHH1LD_1LA0LF_0LB0LC_1RB0LB,M_1RBHHH_1LC0RF_0RA0LD_1LE1LA_1RF0LF_0LC0RA4. Documentation (
BusyBeaver/BB6/Accelerations/README.md)Listoperations ([],::,++), plus high-level structural overview paragraphs for Stacked, Odometer, and Transducer classes and exact mathematical transition systems (Verification
python3 verify.pylake build BusyBeaver BusyBeaverChallenge(0 errors, 0 non-sorrywarnings)lake comparator --config comparator/busy_beaver.json(424theorems verified)lean_unused_decls.lean): 0 unused declarations, 0 leaked proof-only helpersBusyBeaverChallenge.lean,comparator/busy_beaver.json,BusyBeaver/BB6/Accelerations/README.md,BusyBeaver/BB6/README.md,BusyBeaver/README.md,README.md, andcomparator/README.md.