1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA: never halts (delta proof from kill #4)
Submission copy of the working
proof.md, made 2026-10-10 after the kill. The mathematics is unchanged. Only these parts were updated: the title, the header (list and sheet lines, parent pointer, evidence, status, AI line), the §5 heading and its closing paragraphs, which now say how the plan was carried out, one file mention in §6, and §7. This is a delta proof: it cites the parent's informal proof as P§n. The parent's proof is in this folder asparent-proof.md, a verbatim copy of kill #4's submissionproof.mdwith the same section numbers. The scripts it cites (check_proof.py,check_proof.out,check_proof_k15.out, and the parent'scheck_proof.py) live in the working directory and are not in this folder.
- Machine:
1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA, viewer https://bbchallenge.org/1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA - Holdout list: line 17 of the 2026-10-07 holdout list (778 machines), byte for byte. Its equivalence-group member is
1RB0LC_1LC0RB_0LD1LA_0RA1LE_0LA1LF_1LD---(line 24 of the 2026-10-07 equivalence-class file, 1,590 machines). - Sheet: Results row 915, "Sync bouncer counter", with no status, notes or done-by. It is on mxdys's UBRRBA_TODO list (line 45) and dyuan01's Oct 1 longitudinal list (line 7,
<E (0, 1, 0, 0, 0, 0)). Neither list is a claim, and #4 was on both too. - busycoq: the string occurs once, as
tm'inEqv_v2.vModule TM7. That module proves onlyhalts tm c0 <-> halts tm' c0, wheretm = 1LB0RC_1RC0LB_0RD1RA_0LA1RE_0RA1RF_1RD---is #4's table renamed by BCDAEF and started in #4's D. It is an equivalence with no nonhalt proof, so the machine is unclaimed. - Parent: kill #4,
1RB0LA_0RC1RD_0LD1RE_1LA0RB_0RD1RF_1RC---(KILLED_NONHALT; check_kill PASS on its current.v, sha25651e3dea1…e923, 504 lines). "P§n" means section n of the parent'sproof.md(here:parent-proof.md). - Written for the string itself.
- Result. The twin is #4's machine with its states renamed by σ = EDBCFA (A→E, B→D, C→B, D→C, E→F, F→A), with no mirror. It starts in #4's state F, not A, so it runs a different orbit of the same macro map.
- The rules, the cycle lemma, the hexagon invariant and its proof carry over unchanged.
- Only the initial segment changes: c0 →(16,590) S(6,14,4) = Q(7,65,1,14,4), where the parent has c0 →(17,215) S(6,16,0).
- Adjusted invariant: none. The base lies in R_64, on the facet 4Y+2Z ≥ N (64 = 64), as the parent's base does.
- Evidence.
check_proof.py: ALL CHECKS PASSED in 7 s (sections S, L, A, M, I, C, B, H, O;check_proof.out; see §6).1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA.v(in this folder) is #4's.vwith the §5 delta applied by script.check_kill(our checker) passes on it: compile 7.0 s with-native-compiler yes,Print Assumptions nonhaltclosed, coqchk pass in 2.1 s (check_kill.txt).- Status: KILLED_NONHALT (2026-10-10). The §5 delta was applied to the parent's
.v, andcheck_killpasses on the result: 0 assumptions, coqchk pass. - AI assistance: the informal proof and the Coq formalization were produced with the help of Claude (Anthropic), and checked by our checker,
check_kill.
0. The map
| twin state | 0 | 1 | = σ(parent state) | parent 0 | parent 1 |
|---|---|---|---|---|---|
| A | 1RB | --- | σ(F) | 1RC | --- |
| B | 0LC | 1RF | σ(C) | 0LD | 1RE |
| C | 1LE | 0RD | σ(D) | 1LA | 0RB |
| D | 0RB | 1RC | σ(B) | 0RC | 1RD |
| E | 1RD | 0LE | σ(A) | 1RB | 0LA |
| F | 0RC | 1RA | σ(E) | 0RD | 1RF |
The twin's row σ(s) is the parent's row s with every target state t replaced by σ(t); symbols and directions are unchanged. For example, parent C1 = 1RE becomes 1Rσ(E) = 1RF, which is twin B1. check_proof.py §S searches all 720 renamings, each with and without mirroring: σ is the only map that works.
Lemma R (relabelling). For a configuration c, let σc be c with its head state renamed by σ; the tape and the head position stay the same. Then c → c′ in the parent if and only if σc → σc′ in the twin, and c is halted exactly when σc is. So every parent run c →ⁿ c′ gives a twin run σc →ⁿ σc′ of the same length, and the converse also holds.
Start. The twin's c0 is 0^inf A> 0^inf = σ(0^inf F> 0^inf).
- From F, the parent writes F0 = 1RC and is at 0^inf 1 C> 0^inf after one step.
- From its own start A it does A0 = 1RB, B0 = 0RC and is at 0^inf 1 0 C> 0^inf after two steps.
These are different tapes, so the twin's run is the parent's machine on a different orbit, not the parent's run. §L checks the twin from blank against the relabelled parent from 0^inf F> 0^inf in lockstep for 2·10⁶ steps: identical at every step.
Halting cell. The twin's only undefined cell is A1 = σ(F1). By Lemma R, P§4's "Why F1 is never reached" becomes this: - The twin enters A only by F1 = 1RA (= σ of the parent's E1 = 1RF), inside FR3, FR4, FE1 and FE3. - Each time, A then reads a 0.
1. What carries over unchanged
| parent item | twin | reason |
|---|---|---|
P§1 words and families: C_k(n), A/B blocks, P(k,n,X,z), Q(k,n,x,y,z) |
the same words; the right-edge head state is B = σ(C), and the moving head is <E 001 / 001 F> (σ of <A 001 / 001 E>) |
Lemma R |
| P§3.1, the 21 shift rules | identical, with the head states renamed; same step counts | Lemma R; re-executed on the twin's own table: §A, exact |
| P§3.2 repeated rules (AL^a … D0R^t, CTR, OV, QC) and P§3.3 macro rules R1, R2, R3, R4, R5, R5o (R4o as a remark) | identical, same step formulas and domains | Lemma R; §A (ranges), §M (40 random instances per rule, simulated on the twin's table) |
| P§4 cycle states S(k,Y,Z), the cycle lemma with hypotheses (a)–(d), the hexagon R_N, (i)/(ii) and the parity remark (not a cryptid) | identical | the statements and proofs read only the rules and (k,Y,Z), never the start |
| P§4 progress (every macro rule contains ENDL) | identical | Lemma R |
| P§5 initial segment | changed: §2 | different start |
The rules in busycoq comment style, for the twin:
1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA (= sigma of 1RB0LA_0RC1RD_0LD1RE_1LA0RB_0RD1RF_1RC---, sigma = EDBCFA)
C_k(n): n in k bits MSB first, 1 -> 1010, 0 -> 0010; A = 00111, B = 10111; moving head <E 001 / 001 F>
P(k,n,X,z) := 0^inf C_k(n) A^X B^z 00 B> 0^inf
Q(k,n,x,y,z) := 0^inf C_k(n) A^x 111 A^y B^z 00 B> 0^inf (x >= 1)
R1 P(k,n,X,z) --> P(k,n+1,X,z+1) n+1 <= 2^k-1
R2 P(k,2^k-1,X,z) --> Q(k+1,2^k+1,1,X-2,z+1) X >= 2
R3 Q(k,n,x,y+2,z) --> Q(k,n+3,x+2,y,z+1) n+3 <= 2^k-1
R4 Q(k,n,x,0,z) --> P(k,n+z+2,x+z+1,0) n+z+2 <= 2^k-1
R5 Q(k,n,x,1,z) --> P(k,n+2z+7,x+z+4,0) n+2z+7 <= 2^k-1
R5o Q(k,n,x,1,z) --> Q(k+1,2^k+1+3m,1+2m,x+z+2-2m,0) m := n+2z+7-2^k >= 0, x+z+2-2m >= 1, 3m <= 2^k-2
steps: R1 32X+32z+16t(n)+47, R2 32X+32z+16k+61, R3 96x+32y+32z+16(t(n)+t(n+1)+t(n+2))+197
cycle (N = 2^k): S(k,Y,Z) := Q(k+1, N+1+3m, 1+2m, Y-2m, Z+m), m = max(0,-Z)
S(k,2j,Z) -->+ S(k+1, 3j+Z, N-3-4j-Z)
S(k,2j+1,Z) -->+ S(k+1, 3j+3+Z, N-8-5j-2Z)
invariant (N >= 64): 8Y >= N, 8Y <= 3N, 3Z <= N, 8Z >= -N, 4Y+2Z >= N, 20Y+16Z <= 9N
start: c0 -->(16590) S(6,14,4) = Q(7,65,1,14,4) [parent: c0 -->(17215) S(6,16,0)]
2. What changes: the initial segment (replaces P§5)
Direct simulation of the twin from the blank tape (§I). A canonical configuration is a right-edge visit in state B that parses as P or Q.
| twin step | twin configuration | how it is reached | parent step | parent configuration |
|---|---|---|---|---|
| 22 … 399 | P(1,1,0,0), P(2,2,0,0), P(2,3,0,1), P(3,5,1,0), P(3,7,1,2) | simulation; P(3,7,1,2) has X = 1, so R2 does not apply | 110 | P(2,3,1,0) |
| 1,711 | Q(5,20,3,1,0) | simulation (exact) | 1,507 | Q(5,17,1,2,2) |
| 3,047 | P(5,27,7,0) | R5 | 2,826 | P(5,25,7,0) (R3, R4) |
| 4,371 | P(5,31,7,4) | R1^4 | 4,996 | P(5,31,7,6) |
| 4,864 | Q(6,33,1,5,5) = S(5,5,5) | R2 | 5,553 | Q(6,33,1,5,7) = S(5,5,7) |
| 6,186 | Q(6,39,5,1,7) | R3^2 | 7,003 | Q(6,39,5,1,9) |
| 14,036 | P(6,60,16,0) | R5 (no overflow: 39+14+7 = 60 ≤ 63) | — | (parent: R5o with m = 0) |
| 15,825 | P(6,63,16,3) | R1^3 | — | |
| 16,590 | S(6,14,4) = Q(7,65,1,14,4) | R2 | 17,215 | S(6,16,0) = Q(7,65,1,16,0) |
The step numbers in the "how" column are both direct-simulation values and the parent's runner step sums from 1,711 (they agree exactly, §I). The argument needs only the first and last rows: the exact 16,590-step run and its end configuration.
From step 1,711 on, every canonical configuration of the twin's run is the one the rules predict, at the predicted step: 857 of 857 to 3·10⁷ (§C).
The base, clause by clause. In the parent's Rocq coordinates the base is CfgF 5 0 14 4 = Qc 7 (3·0 + (2^6+1)) (1+2·0) 14 4. Inv 5 0 14 4 holds:
Inv clause |
value |
|---|---|
| 64 ≤ 2^6 | 64 ≤ 64 |
| 2^6 ≤ 8(y+2i) | 64 ≤ 112 |
| 8(y+2i) ≤ 3·2^6 | 112 ≤ 192 |
| 3z ≤ 2^6 + 3i | 12 ≤ 64 |
| 8i ≤ 8z + 2^6 | 0 ≤ 96 |
| 2^6 ≤ 4y + 6i + 2z | 64 ≤ 64 (tight) |
| 20y + 24i + 16z ≤ 9·2^6 | 344 ≤ 576 |
In proof.md's coordinates (N = 64, Y = 14, Z = 4), every facet of the hexagon holds, and 4Y+2Z ≥ N is tight (64 = 64). The parent's base S(6,16,0) is tight on the same facet. The cycle-lemma hypotheses also hold there: - (a) Y+2Z = 22 ≥ 1; - (b) 3⌊Y/2⌋ = 21 ≤ 62; - Y = 14 is even, so F(14,4) = (25, 29). Then (c) holds: 25 ≥ 0, 25+58 ≥ 1 and 36 ≤ 126; - (d) Z′ = 29 ≥ 1.
All of these also follow from P§4 (i), since the base is in R_64. check_proof.py §B checks each clause, and includes two negative controls: Inv 5 0 13 4 and Inv 5 0 14 3 fail.
3. The argument (complete)
Theorem. 1RB---_0LC1RF_1LE0RD_0RB1RC_1RD0LE_0RC1RA does not halt from the blank tape.
- Initial segment. The twin runs from c0 to σS(6,14,4) in exactly 16,590 steps without halting. This is a finite exact computation (§I); in Rocq it is one
esx. - Base. (Y,Z) = (14,4) is in R_64 (§2).
- Transfer. Take P§4's cycle lemma and the invariance of R_N under F_N (proved in P§4 (i)–(ii), with the vertex check in P§7 §5). Together they say: for k ≥ 6 and (Y,Z) ∈ R_N, the parent goes S(k,Y,Z) →⁺ S(k+1,F_N(Y,Z)), and F_N(Y,Z) ∈ R_2N. - Their statements and proofs use only the P§2 rules and arithmetic on (k,Y,Z). - By Lemma R, each parent run S →⁺ S′ is a twin run σS →⁺ σS′ of the same length. - So the same holds for the twin's configurations σS.
- Conclusion. By induction from the base, the twin's run is an infinite chain of runs σS(k,·) →⁺ σS(k+1,·), each at least one step long. So it never halts. This is P§4's conclusion paragraph with "the run reaches S(6,16,0)" replaced by "the run reaches S(6,14,4)"; both points are in R_64. A twin run never reads A1, because by Lemma R it is the image of a parent run, which never reads F1 (P§4). ∎
Nothing in the parent's argument depends on its own orbit except P§5. The orbit statistics in P§5 and P§7 §6 (the history rows, the rule tallies) are evidence, not premises.
In the parent's .v this is visible directly:
- cycle_step : Inv k i y z -> exists k' i' y' z', CfgF k i y z -->+ CfgF k' i' y' z' /\ Inv k' i' y' z' does not mention the start.
- Only init (c0 -->* CfgF 5 0 16 0) and the last goal of nonhalt (Inv 5 0 16 0) do. §5 replaces exactly those two.
4. How the twin's orbit relates to the parent's (explanation, not a premise)
There is no exact coupling here, unlike #25 and #3, where one far exponent is +2 at every step. The two machines just visit different points of the same contracting map. Both stay in the hexagon, and the branch sequences differ:
| k | twin S(k,Y,Z), step | branch | parent S(k,Y,Z) | branch |
|---|---|---|---|---|
| 6 | (14, 4), 16,590 | even | (16, 0) | even |
| 7 | (25, 29), 74,884 | odd | (24, 29) | even |
| 8 | (68, 2), 252,898 | even | (65, 48) | odd |
| 9 | (104, 115), 1,142,673 | even | (147, −8) | odd |
| 10 | (271, 186), 4,947,035 | odd | (214, 155) | even |
| 11 | (594, −31), 17,498,220 | even | (476, 438) | even |
| 12 | (860, 888), 72,729,902 | even | (1152, 655) | even |
| 13 | (2178, 1485), 314,863,727 | even | (2383, 1134) | odd |
| 14 | (4752, 2348), 1,268,929,120 | even | (4710, −39) | even |
| 15 | (9476, 4529), 5,039,089,135 | even | (7026, 7000) | even |
- Rules used. From the base to S(14,·) (
check_proof.py§O), the twin's run applies R1 5,046 times, R2 7, R3 2,025, R4 6, R5 1, R5o 1 and R4o never. Its one R5o, Q(11,1430,271,1,321) → Q(12,2142,63,532,0) at step 17,498,220, has m = 31. That is the m ≥ 1 case of the R5o domain (P§3.3), which the parent's own orbit also uses. - Size. At 10⁹ steps the twin spans 29,054 cells (−28..29,025); the parent spans 23,607 (+23%). At 3·10⁹ the twin has 47,451 cells and 18,841 nonzeros, with no halt.
5. Formalization delta (done as planned)
Copy the parent's .v (sha256 51e3dea1f666153c9884283725e1d166428c79fc7d13216c101e567b398ee923, 504 lines) and change only the following:
1. The TM string. Change it in TM_from_str, the header and the closing comment block.
2. State names. Rename {{X}} simultaneously by σ: {{A}} → {{E}} (37 occurrences), {{C}} → {{B}} (6), {{E}} → {{F}} (35). The parent names no other state. Every es proof goes through unchanged by Lemma R. For readability, also rename <A, C> and E> in the comments.
3. init. init0 : c0 -->* 0inf <* d1 <* d0^^5 <* d1 <* bA <* <[1;1;1] <* bA^^14 <* bB^^4 <* <[0;0] {{B}}> 0inf, by esx (16,590 steps), and init : c0 -->* CfgF 5 0 14 4, by apply init0.
4. nonhalt. Start index (5,0,14,4)%nat. The final unfold Inv. cbn. lia. closes Inv 5 0 14 4; the tight clause is a <=.
5. Everything else verbatim: the counter, QC, Gad and its lemmas, Conv0/Conv1/Conv1o, Inv, cycle_step. Update the closing comment's start line.
Plan check. A script applied items 1–4 (checking the occurrence counts, and that the parent names only A, C and E), replaced the header comment with a "plan check" note and appended Print Assumptions nonhalt..
- Compiled with Coq 8.20.1 against unmodified busycoq 0940bb9, -native-compiler yes: 6.7 s, exit 0, "Closed under the global context".
- Apart from state names, it differs from the parent's .v only in the header comment, the TM string (TM_from_str and the closing comment), init0/init, the start index, two comment lines and the appended Print Assumptions.
Done as planned (2026-10-10). The kill file is the plan-check code with a proper header and the state letters in the closing rule-table comment renamed by σ; a script built it from the parent's .v, asserting every substitution count. The σ-swap counts came out as predicted ({{A}} 37, {{C}} 6, {{E}} 35). Every es shift-rule proof, the gadget induction and cycle_step re-closed verbatim, and the final unfold Inv. cbn. lia. closes the tight facet. The file compiled on the first attempt, and check_kill (our checker) passed on the first run. After the σ-swap and outside comments, it differs from the parent's .v in four lines: the TM string, init0, init and the start index. Where each item lives in the .v:
| item | .v |
|---|---|
| §1 shift rules and repeated rules | the 21 shift lemmas ENDL … FE4 (each es) plus D0R' (D0R with 01 carried along), their repeated forms ALs, BLs, ARs, BRs, D1Ls, D0R's, the counter ctr with CTR, OV, RT, OVRT, and QC, stated for head states E/F (moving head) and B (right edge) |
| §1 macro rules R1–R3, R4, R5, R5o | R1, R1s, R2, R3, Pfin; one induction over Gad (ConvNo, PostOV, ConvOV) gives Conv0 (R4), Conv1 (R5) and Conv1o (R5o); all the parent's text, unchanged |
| §2 base S(6,14,4) at step 16,590 | init0 (one esx) and init : c0 -->* CfgF 5 0 14 4 |
| §3 steps 2–4 | Inv, cycle_step (the parent's text, unchanged) and nonhalt (multistep_nonhalt + progress_nonhalt_cond from index (5,0,14,4)) |
Lemma R is not a premise of the formal proof: every rule is re-proved on the twin's own table by es, and Lemma R explains why those proofs re-close. So the kill rests on the .v alone; the prose here and in the parent's §3–§4 is the explanation. The proof is direct on the holdout string; Eqv_v2.v TM7 is not used.
6. Evidence (check_proof.py, 7 s, ALL CHECKS PASSED; output in check_proof.out)
The script loads the parent's check_proof.py read-only, for its abstract model: the rule words and step counts, the derivation runner, the families, S/F and the hexagon. Everything that depends on the machine or the start is run on the twin's own table.
| § | kind | what |
|---|---|---|
| S | exact | EDBCFA is the unique renaming (720 × {plain, mirror}); the twin's start A = σ(F); the halting cells are A1 = σ(F1). Eqv_v2 TM7's tm is #4 renamed by BCDAEF (started in #4's D), and its mirror is the 1590-file member. |
| L | range | Lockstep, 2·10⁶ steps: the twin from blank equals the relabelled parent from 0^inf F> 0^inf at every step. |
| A | exact | The 21 shift rules, renamed, executed on the twin's table: every step count as claimed, A1 never read, all 11 defined transitions used. AL/BL/AR/BR^a for a ≤ 12; CTR for all 502 (k,n) with k ≤ 9; OV for k ≤ 9. |
| M | sample | R1, R2, R3, R4, R5, R4o, R5o: 40 random instances each (k ≤ 10, block counts up to 200 or 2^(k−1)). In each, the parent's runner predicts the result and step count, and direct simulation of the twin from the renamed start agrees. |
| I | exact | Blank → σQ(7,65,1,14,4) at exactly step 16,590. Also blank → Q(5,20,3,1,0) at 1,711, then R5, R1^4, R2, R3^2, R5, R1^3, R2 to the base with runner step sum 14,879 = 16,590 − 1,711. |
| C | range | Every canonical right-edge visit of the twin from step 1,711 to 3·10⁷, against the rule runner started at Q(5,20,3,1,0): 857 of 857 identical, in configuration and step. The other 12 right-edge B visits are the start and mid-conversion edge touches. |
| B | exact | Inv 5 0 14 4 (the parent's Rocq predicate, transcribed); the base is in N·R with 4Y+2Z ≥ N tight; (a)–(d) hold; negative controls fail as they should. |
| H | exact | The parent's own section 5 (exact rational hexagon vertex check, min slack 3/128, max 2u+v = 27/32), re-run unchanged. |
| O | range | The twin's orbit from the base to S(14,4752,2348) at step 1,268,929,120. The runner's predicted cycle states (8/8) and every phase-boundary configuration (38) are hit by chained direct simulation of the twin at the exact predicted steps; all points are in R; R4o is never used. |
python3 -B check_proof.py --kmax 15 extends §O one level, to S(15,9476,4529) at step 5,039,089,135: 9/9 cycle states and 43 boundaries, ALL CHECKS PASSED in 22 s (check_proof_k15.out).
7. Checkpoint B notes
None on file when this was packaged (2026-10-10).