W7-4 · 1RB0LD_1RC0RF_0LD0LE_1RF1LC_0LB1LE_0RA--- (740 line 82; table family 464, 722)
Status: CHECKPOINT_A (observe at table level, 2026-10-14). Confidence on the mechanism: high. Class: sheet "Skelet 1-like Class 1". Ours: an exact base-4 counter whose digits are 10-regions in a sea of 100 words, with births at the right end and a left wall that eats digits. Viewer: https://bbchallenge.org/1RB0LD_1RC0RF_0LD0LE_1RF1LC_0LB1LE_0RA---
Checks
- Byte-exact: line 82 =
1RB0LD_1RC0RF_0LD0LE_1RF1LC_0LB1LE_0RA---, line 464 =1RB0RD_0LC0LF_1RD1LB_0RE---_1RA0LC_0LA1LF, line 722 =1RB1LE_0RC---_1RD0LA_1RE0RB_0LA0LF_0LD1LF(data/holdouts/BB6_holdouts_740.txt). - One table, six starts (scratchpad starts.py): A = 82, B = 464, D = 722 (all on the 740 and 778 lists and in eqv_1590). C, E, F are not listed; their first step writes a 0 and moves, so C = D, E = B, F = A after one step. No start is in solved_index.
- Claims: none before; claimed the representative in coord/claims.tsv as
Wave 7 W7-4. Not Astra's (Astra's latest claims are lines 147/493). Census: owner, PR and tags empty;w6_excluded = mined-class. - Ledger before work: 7 rows (2 Astra equivalence sweeps, negative; 2 Wave 7 triage rows; the critic's observe row: 230/230 qsim rules parity-flagged, near-merge 82/464, far-left death at 3.6e10; the plan critic audit). No earlier attempt at a proof.
Halting condition
F1 is the only undefined transition. F is entered by B1 (0RF) and D0 (1RF). So a halt needs B> 1 1 (B reads 1, then F reads 1) or D> 0 1. Never seen.
Mechanism (exact)
Notation: W = 100, V = 10. A digit is D(m,p) = X V^m Y with X0 = 10, X1 = 11, Y0 = 10, Y1 = 00; its phase is p = 2x + y (0: 10..10, 1: 10..00, 2: 11..10, 3: 11..00). In real runs m is always even (0, 2, 4, 6, 8). A C-record is the moment the head enters a fresh cell at the right end in state C; there the tape is
0^inf <wall> W^a D(m1,p1) W^f1 ... D(mk,pk) W^c 11 C> 0^inf
(scripts/macro.py decodes any tape into this form via the gaps between 1s.)
- Sweep = increment (R1, R2). From a C-record the head runs left to the first digit that does not wrap and back. Every digit it passes goes p -> p+1 (3 -> 0 wraps and carries on). A digit going 1->2 or 3->0 shifts one W left (takes 1 from its left field, gives 1 to its right field). The right field gains 1 W per sweep. Steps: 8 per W crossed, 5m+12 per wrapping digit, 11 (p = 0, 2) or 5m+23 (p = 1) at the stopping digit (R3). Validated: scripts/rules.py 400/400 and 300/300 random sweeps; the step formula is exact (matches below).
- J invariant and merges. For an interior field f between a left digit of phase pL and a right digit of phase pR, J = f + 2pL + floor(pR/2) - floor(pL/2) (mod 3) is unchanged by every increment. Check: pR 0->1 and 2->3 change nothing; pR 1->2 takes 1 from f and raises floor(pR/2) by 1; pR 3->0 takes 1 and lowers floor(pR/2) by 1 (-2), and the carry moves pL by one step, which adds +2 (mod 3) in each of its four cases (0->1: +2; 1->2: +2-1+1; 2->3: +2; 3->0: -6+1+1). In real runs J = 0 on 1,456/1,456 fields (scripts/jcheck.py on 300 snapshots to 3e9). With J = 0 a field reaches 0 only when the next wrap glues
Y0 X0=10 10, i.e. the two digits become one D(m+m'+2, 2xL + yR); a negative field never happens. scripts/jtest.py: 1,986/1,986 sweeps on random J-valid configurations with fields 0..18 and glued digits match the counter rule exactly. - Overflow (O1, O2) and births. When every digit is at phase 3 the carry reaches the far-left field.
[10100] W^a -> [] W^a(1 sweep, right field +2),[] W^a -> [10100] W^(a-2)with either a new D(0,0) born at the right end or 2 extra W there (2 sweeps). scripts/overflow_check.py: 300/300 (O1 172, O2 birth 57, O2 no-birth 71). Counting the top digit's own shift, the far-left field loses 4 W per two overflows, alternating[]and[10100](far run: 773, 770, 769, 766, ...). - The wall eats the top digit. When the far-left field is gone, the wall eats the top digit from its left end, one remnant per overflow, while its Y bit keeps toggling:
11(10)^k{10,00} -> 1(10)^k{10,00} -> (10)^k{10,00} -> 1(10)^(k-2){..} -> ... -> 110100 -> [], then the field after it becomes the new far-left field. Entry cases seen:[] W^1(remnant11..),[] W^3(remnant10100.., then1011..),[] W^2,[10100] W^0..3. All distinct clean walls in the three runs to 1e14: 35 strings, all of these shapes (work/far_*.jsonl). scripts/wall_probe.py: 80/80 small-field families (wall x a in 0..4 x m in 0..6 x 2 field sizes, including collisions where the remnant runs into the next digit) return to a clean wall; none halts. - Self-similar sizes. At overflows the fields are multiples of 3·2^k (1536, 6144, 24576, 98304, 393216, ...). The right field resets at each birth; digit count stays 6-10.
All three starts (start-parametric)
At the first C-record after 20,000 steps:
- 82 (A): [] W^1 D0.0 W^6 D0.0 W^73 at step 20,576
- 464 (B): [10100] W^9 D0.3 W^7 D0.0 W^67 at step 20,393
- 722 (D): [10100] W^11 D0.3 W^7 D0.0 W^67 at step 20,541
Same language, different far-left field (the "far-end junk" of the plan). One closed-language argument covers all three; each start needs only its own entry lemma (blank -> L in about 20,600 steps).
Simulation evidence
- Direct C core to 1e11 on all three: no halt. 82: span 896,775, 298,934 ones; 464: span 780,298, 260,110 ones; 722: span 785,055, 261,695 ones (work/direct_1e11_*.jsonl).
- Exact sweep-level simulator (scripts/macrosim.py: counter rule for regular sweeps, the TM itself for overflow/wall sweeps): matches the C core at the first C-record after 1e9 (82, 11,761 sweeps) and after 1e11 on all three: configuration and step count identical (82: 100,000,477,555; 464: 100,000,268,831; 722: 100,000,716,779; scripts/validate_far.py).
- Far runs (scripts/run_far.py): 82, 464 and 722 each to 1e14 steps, no halt, 137-158 overflow/wall sweeps by the TM, at most 10 digits. 82 continued to 1e15: no halt (22,644,532 sweeps, 11 digits at the end, far-left field 674; work/far_82_1e15.jsonl).
- qsim -n 3, 20 s each: 82 5.9e10, 464 8.5e10, 722 8.9e10 steps, no halt; all rules flagged (202/175/158) because W and V are crossed two words at a time, not because of Collatz arithmetic.
- compress track (direct, 3e8, 150 record snapshots): 150 distinct skeletons on each start; the generic compressor does not see the counter, scripts/macro.py does.
Cryptid check
Not a cryptid on the evidence. Every event rule is affine in the field sizes and digit sizes; the only residues are fixed moduli (J mod 3, the parity of m, the far-left field mod 4 picking the wall entry case), and each branch has been run and stays in the language. No x(p/q) maps, no growing-residue branching; the sizes are powers of two times 3. Unlike K42, merges cannot "glue" badly, because J = 0 is invariant.
Template check
- verify/Sk1Machines.v (mxdys, Sk1 Class 1):
Sk1Counter/Sk1CounterMixedare digits with take/give/carry over one periodic word W, proved with segRLswallandonelemmas. Our R1/R2 have exactly this shape (W = 100, digits X V^m Y, take = give = s(p), carry at p = 3), but our digits have unbounded size m, soonemust be parametric in m. - TM17's endgame is an accelerated simulation to a glider (translated cycle). Ours never becomes a glider (fields keep growing), so the endgame must be a closed invariant, as in our #30. Template applies: partly.
- Sk1like_TC_v1/v2 (K42's core) and K42 itself: different words (0001) and a different merge law; K42 is parked as a cryptid family. Not this machine.
Route and next step
Stage 1 is go as far as it goes: the interior counter is closed and exact. The open part is the wall: write its case table as affine rules (entry cases a = 0..3 for both wall forms, the remnant families with general k, the collision chains), then run an exhaustive closure check of the candidate language L = wall grammar · W^a · (D(even m, p) W^f with J = 0)* · W^c 11 C> over small parameters. If closed, proof.md is one closed-language argument plus three entry lemmas. A regular-language certificate may also exist (everything is mod 2 / mod 3 / finite prefixes), which Astra's certificate package could check.
Attempts
- 2026-10-14 claude observe (table level, ~2 h): mechanism found and validated as above; GO signal for stage 1; ledger row added.
- 2026-10-14 claude rule-fit: R1/R2/R3, J invariant, O1/O2 validated (numbers above); ledger row added.
- 2026-10-14 claude halting-sim: exact sweep-level simulator, no halt to 1e14 on 82/464/722 (82 to 1e15); ledger row added.
- 2026-10-14 claude cryptid-check: negative (not cryptid); ledger row added.
Files
- scripts/: gaps.py, macro.py (decoder), rules.py (R1/R2 test), jtest.py, jcheck.py, overflow_check.py, overflow_probe.py, wall_probe.py, closure_probe.py, macrosim.py (exact sweep simulator), macro_validate.py, validate_far.py, run_far.py, sweeps.py, events.py, digitmap.py, run_direct.sh.
- work/: direct_1e11_{82,464,722}.jsonl, far_82_1e14.jsonl, far_82_1e15.jsonl, far_startB.jsonl (464), far_startD.jsonl (722), macro_82_every1e7.txt, gaps_82_every1e6/1e7.txt, qsim_n3_.jsonl, compress_track_.txt.
- img/: default_site_1e4.png, sweeps_carry_closeup.png, digit_worldlines_3e9.png, wall_eats_digit.png.