/machines/1RB0RD_1RC1RF_1LD0LE_1RA0LC_1RE1LC_0RA---/submission/proof.md · raw

1RB0RD_1RC1RF_1LD0LE_1RA0LC_1RE1LC_0RA---: never halts

This machine never halts. Its transition table is the table of another machine, called the parent below, with four of its six states renamed.

The difference is where it starts: it starts in the state that corresponds to the parent's state B, not A. So it is the same machine, run on a different orbit of the same macro map.

Almost all of the parent's proof carries over by renaming. Only the initial segment of the run and the base, where the induction starts, are new.

Machine, parent and status

Notation

This write-up uses the parent's notation. The table says where each piece is defined.

notation meaning defined in
K(h; P; T) the family of configurations, with a number h, a list P of L pairs (p_j, q_j, d_j) and a tail T P§1; restated for this machine in §1
L the number of pairs in P P§1
T1(t), T2(k), − the tails (10)^t 1 and (101)^2 (01)^k, and the empty tail P§1
D the set of K that some rule covers P§3.1
cycle, E-start, L-start a cycle runs from one re-pairing (Ov or X1) to the next; an E-start (L-start) is the K right after the re-pairing that begins an E-cycle (L-slot) P§3.3
L*, e_j, r_j L* := L + 1 at a T2 start and L* := L otherwise; depth e_j := L* − j; scaled value r_j P§3.3
interior pair, far pair the pairs j ≤ L* − 1; the last pair at a regular start P§3.3
INV, INV+(e) INV is clauses (a)–(d) at an E-start, INV+(e) is all five; INV(b) means clause (b), and so on P§3.3, stated as inequalities in P§3.8.1
regular start, T2 start, θ the two shapes in clause (a); θ := 5 at a regular start and 4 at a T2 start P§3.8.1
x the p of the last pair at the Ov that ends an E-cycle P§3.4
J, PN, PI, PC, TC the per-step invariant of the parent's .v and its parts P§4
ρ, ρc the state renaming, and a configuration with its head state renamed §0

Summary

The parent's table, run from the parent's state B instead of A, is the same machine run on a different orbit of the same macro map.

What carries over

Everything in the parent's proof that does not mention the start carries over by renaming: - the family K; - the nine macro rules and the outside cases; - the invariant INV+(e) and its period theorem (P§3.8); - the per-step invariant J of the parent's .v, with its preservation lemma Jstep.

What changes

Only the initial segment and the base change. The machine reaches K0′ at step 402, and the base E-start B′ at step 38,732:

K0' = K(2; (7,4,0); -)                                at step 402
B'  = K(2; (47,32,0), (40,33,1), (13,34,1); -)        at step 38,732   (the base E-start)

The invariant is unchanged

B′ has L* = 3, the smallest value INV+(e) allows. Every clause of INV+(e) and of J holds there.

The parent's theorem covers L* = 3 (§3).

A different orbit

This orbit is not a shifted copy of the parent's. Its base differs in every number but h, and it has 3 pairs where the parent's base has 4 (§4).

0. The map

state 0 1 = ρ(parent state) parent 0 parent 1
A 1RB 0RD ρ(B) 1RC 0RA
B 1RC 1RF ρ(C) 1RD 1RF
C 1LD 0LE ρ(D) 1LA 0LE
D 1RA 0LC ρ(A) 1RB 0LD
E 1RE 1LC ρ(E) 1RE 1LD
F 0RA --- ρ(F) 0RB ---

The renaming is

ρ:    A ↦ D,  B ↦ A,  C ↦ B,  D ↦ C,  E ↦ E,  F ↦ F
ρ   = (A D C B)        (a 4-cycle)
ρ⁻¹ = (A B C D)

Relabelling

For a configuration c, let ρc be c with its head state renamed by ρ. The tape and head position stay the same.

Lemma R (relabelling).

c → c′ in the parent    if and only if    ρc → ρc′ in this machine
c is halted             exactly when      ρc is halted

So every parent run c →ⁿ c′ gives a run ρc →ⁿ ρc′ of this machine of the same length, and the converse also holds.

Start

This machine's start configuration is

c0 = 0^inf A> 0^inf = ρ(0^inf B> 0^inf)

Halting cell

Only B1 (1RF) enters F, and only A0 (1RB) enters B. So the machine halts exactly when it reaches A> 0 1 1, which is ρ of the parent's B> 0 1 1.

1. What carries over unchanged

Each row below is an item of the parent's proof, what it becomes for this machine, and why.

parent item this machine reason
P§1 family K(h; P; T) K_D(h; P; T) := ρK(h; P; T) (formula below): the same words, with head state D Lemma R
P§2 rules Dec, DecMerge, DecMergeTail, DecMergeEmpty, End, EndLast, Ov, X1, X2 and outside cases (o1)–(o7) identical (table below), with <A read as <D; step counts unchanged Lemma R; each rule is also re-proved on this machine's own table in the .v (§5)
P§3.1 reduction (domain D, chain of rule applications) identical uses only the rules
P§3.2 counter lemmas L1–L6 identical statements about the abstract map
P§3.3 INV+(e) (statement P§3.8.1) and the period theorem identical statement and proof read only (h, P, T) and the rules, never the start
P§3.4–3.5, P§3.8.2–3.8.4 (one cycle pair, preservation) identical same
P§2 halting examples for (o1), (o3), (o6) (1,480 / 1,554 / 1,684 steps) identical, from ρK Lemma R
P§3.7 initial segment and base changed: §2 different start

The family for this machine is

K_D(h; P; T) := ρK(h; P; T) = 0^inf <D (10)^h 11001 [p_1,q_1,d_1] … [p_L,q_L,d_L] T 0^inf

The rules for this machine

The rules are below in busycoq comment style, for this machine. They use two abbreviations:

Z             := pairs 1..k-1, all d = 0, q >= 2
touch (p,q,d) := (p+1, q-1, 1-d)
1RB0RD_1RC1RF_1LD0LE_1RA0LC_1RE1LC_0RA---       (= rho of 1RB0LD_1RC0RA_1RD1RF_1LA0LE_1RE1LD_0RB---,
                                                  rho: A->D, B->A, C->B, D->C, E, F fixed)

[p,q,d] := (10)^p (01)^q s(d),  s(1) = 0001, s(0) = 0010
K(h; P; T) := 0^inf <D (10)^h 11001 [p_1,q_1,d_1] ... [p_L,q_L,d_L] T 0^inf,   T in { -, (10)^t 1, (101)^2 (01)^k }

Dec            K(h; Z ++ (p,q+2,1) :: R; T)             -->+ K(h+4; touch Z ++ (p+1,q+1,0) :: R; T)
DecMerge       K(h; Z ++ (p,1,1) :: (p',q',d') :: R; T)  -->+ K(h+4; touch Z ++ (p+p'+3,q',d') :: R; T)
DecMergeTail   K(h; Z ++ [(p,1,1)]; (10)^t 1)           -->+ K(h+4; touch Z; (10)^(p+t+3) 1)
DecMergeEmpty  K(h; Z ++ [(p,1,1)]; -)                  -->+ K(h+4; touch Z; (10)^(p+2) 1)
End            K(h; Z ++ [(p,q+2,0)]; -)                -->+ K(h+4; touch Z ++ [(p+1,q+1,0)]; (10)^1 1)
EndLast        K(h; Z ++ [(p,1,0)]; -)                  -->+ K(h+4; touch Z; (10)^(p+4) 1)
X2             K(h; Z ++ [(p,q+2,0)]; (101)^2 (01)^(k+1)) -->+ K(h+4; touch Z ++ [(p+1,q+1,0); (3,k+1,1)]; -)
Ov             K(h; (p1+2,q1,0) :: Y; (10)^t 1)         -->+ K(2; (h+5,p1+1,0) :: ovp q1 Y t; -)
X1             K(h; (p1+2,q1,0) :: Y ++ [(pa+1,1,0); (pb,1,0)]; -)
                                                        -->+ K(2; (h+5,p1+1,0) :: ovpX q1 Y (pa+1); (101)^2 (01)^(pb+3))
               (Ov, X1: Y all d = 0, all p,q >= 1, q1 >= 1;
                ovp q [] t = [(q,t+1,1)],    ovp q ((p',q',_) :: Y) t = (q,p',1) :: ovp q' Y t,
                ovpX q [] pa = [(q,pa,0)],   ovpX q ((p',q',_) :: Y) pa = (q,p',1) :: ovpX q' Y pa)

start: c0 -->(402) K(2; (7,4,0); -) -->(38,330) K(2; (47,32,0),(40,33,1),(13,34,1); -)

2. What changes: initial segment and base (replaces P§3.7)

These are facts of direct simulation of this machine from the blank tape.

A canonical configuration is state D on a new leftmost cell, with the tape to its right parsing as a K.

The first configurations

step K note
121 K(2; −; T1(4)), L = 0 outside D (empty pair list); the parent's analogue is step 8, K(0; −; −)
402 K0′ = K(2; (7,4,0); −) first K in D; End predicts the next one exactly. Parent: K0 = K(2; (11,11,0); −) at step 956
598 K(6; (8,3,0); T1(1)) Ov next
1,083 K(2; (11,7,0),(3,2,1); −) re-pairing 1 (an L-start: far q = 2)

As in the parent, the run passes through L = 0 before K0′, so the argument starts at K0′.

From K0′ on, every canonical transition is the one the rules predict: - 1,607 of 1,607 to step 3·10⁷; - 5,323 of 5,323 to step 3·10⁸ (Dec 5,266, Ov 26, End 13, EndLast 13, DecMerge 3, DecMergeTail 2).

Re-pairings

Re-pairings are the Ov and X1 steps. They happen at these steps:

re-pairing 1 2 3 4 5 6
this machine 1,083 3,520 6,965 17,738 23,871 38,732
the parent 1,845 4,610 8,319 19,436 34,137 78,710

As in the parent, the E-starts are the configurations after even re-pairings.

Which E-start is the base

The E-starts after re-pairings 2 and 4 cannot be the base, because both have L* = 2 and INV(d) needs L* ≥ 3:

after re-pairing 2 (step 3,520):    K(2; (23,14,0), (3,9,1); -)      also fails (e2)
after re-pairing 4 (step 17,738):   K(2; (47,32,0), (16,30,1); -)

The .v invariant J fails there too, since PI for pair 1 needs n = L − 1 ≥ 2.

The base is the E-start after re-pairing 6. Here it is next to the parent's base:

B' = K(2; (47,32,0), (40,33,1), (13,34,1); -)                at step 38,732   (L = L* = 3)
B  = K(2; (95,68,0), (34,33,1), (10,15,1), (1,24,1); -)      the parent's base, at step 78,710   (L* = 4)

INV+(e) at B′

Here is INV+(e) at B′, clause by clause, as stated in P§3.8.1. At B′: - L = L* = 3, and it is a regular start; - θ = 5, e_1 = 2 and e_2 = 1; - the interior pairs are j = 1, 2.

clause at B′
(a) h = 2, every block ≥ 1, p_1 = 47 ≥ 7; T = −, digits (0,1,1), far pair (p_3, q_3) = (13, 34) with p_3 ≥ 1 and q_3 ≥ 6
(b) q_1 + 1 = 33 ≥ 5·2² = 20, q_2 = 33 ≥ 5·2 = 10 (r_1 = 8.25, r_2 = 16.5)
(c) p_1 + d_1 = 47, p_2 + d_2 = 41, both odd
(d) L* = 3 ≥ 3, with equality
(e) p_1 + 1 = 48 ≥ 2⁵ = 32 and p_2 = 40 ≥ 2³ = 8

The value of p_1 meets a bound exactly:

p_1 = 47 = 3·2^(L*+1) − 1

This is the bound the parent's argument gives for p_1 at every regular start (P§3.8.1, P§3.8.4 (e1)), attained here. The parent's base attains it too, with 95 at L* = 4.

J at B′

In the .v, the invariant at B′ is

J (mkst 2 base TN E1 false)

It asks for: - P ≠ []; - TC E1 false TN; - PC E1 for every pair.

The Definitions PN, PI and PC are the parent's (P§4). For each pair, write n for the number of pairs to the right, tv for the digit value from the pair up, and w = 2^n.

pair n, tv, w PN E1 PI
1 (47,32,0) 2, 6, 4 q = 32 ≥ tv+3w+1 = 19; p+tv = 53 odd; p+tv+w = 57 ≥ 3w = 12 h even; n = 2 ≥ 2; p+tv+w+3 = 60 ≥ 11w = 44; h+4(tv+w)+6 = 48 ≥ 12w = 48 (tight, as at the parent's base: 96 ≥ 96)
2 (40,33,1) 1, 3, 2 q = 33 ≥ 10; p+tv = 43 odd; 45 ≥ 6 p+tv+w+1 = 46 ≥ 7w = 14
3 (13,34,1) 0, 1, 1 q = 34 ≥ tv+w+1 = 3; p+tv+w = 15 ≥ 3 —

All clauses hold; J_base closes them by lia.

The tight clause is tight at every regular start. The values there,

h = 2,   tv = 2^L − 2,   w = 2^(L−1),

give exactly 12w.

The next E-start

The next E-start comes after re-pairing 8 (step 104,510):

K(2; (95,68,0), (34,33,1), (34,33,1), (10,38,1); -)

It has L* = 4, and INV+(e) and J hold there as well. B′ is the earliest E-start where they hold.

3. The argument (complete)

Theorem. 1RB0RD_1RC1RF_1LD0LE_1RA0LC_1RE1LC_0RA--- does not halt from the blank tape.

Proof.

  1. Initial segment. The machine runs from c0 to B′ in exactly 38,732 steps without halting. This is a finite exact computation; in Rocq it is one esx (init).

  2. Base. INV+(e)(B′) holds (§2).

  3. Transfer.

  1. Conclusion. By induction from B′, the run is an infinite chain of rule applications, each taking at least one step, so it never halts.

L* = 3 is inside the theorem's scope

The theorem assumes INV+(e), whose clause (d) is L* ≥ 3. So B′ meets it with equality.

The proof uses the size of L* in three places, and each holds at L* = 3:

where what it uses
P§3.8.4 Step 2 and (d) M = L* + 1 ≥ 4 pairs at the L-start, so pairs 1 and 2, the x-pair and the last pair are distinct
P§3.8.3 the pair-1 and pair-2 budgets need L* ≥ 2
P§3.8.4 (e2) needs L* ≥ 2

Nothing in P§3.4–3.5 or P§3.8 assumes L* ≥ 4. The case L* = 3 was also checked numerically, for the parent's abstract map and for starts near B′ (§6).

In Rocq, Jstep is proved for every J state, and B′ satisfies J (§2).

Nothing else depends on the orbit

Beyond the initial segment and the base (P§3.7, and the base checks in P§3.3 and P§3.8.1), nothing in the parent's argument depends on the parent's orbit.

The orbit-specific numbers quoted in the parent's write-up (r values, merge counts, X1 counts) are not premises.

4. How this orbit relates to the parent's (explanation, not a premise)

No coupling

Two other holdout machines have the same table up to renaming and mirroring. At every macro step, their K is the parent's K with one far exponent larger, by the amount in the last column.

machine relation to the parent's table far exponent
1RB1RF_1LC0LE_1RD0LB_1RA0RC_1RE1LB_0RD--- the table started in the parent's C +2
1RB0RE_1LC0RA_1LD0LB_1LA1LF_1LE1RA_0LC--- mirrored, started in the parent's D +1

This machine has no such coupling:

The E-start after B′, and the parent's base:

E-start after B':   K(2; (95,68,0), (34,33,1), (34,33,1), (10,38,1); -)
parent's base B:    K(2; (95,68,0), (34,33,1), (10,15,1), (1,24,1); -)

L* at the n-th E-start:

E-start n this machine the parent
10 9 10
20 15 16
119 73 73

The tape at 10⁹ steps:

at 10⁹ steps this machine the parent
tape span 79,454 cells (−79,241..212) 67,343 cells
nonzeros 39,718 33,665

So this machine's tape is 18% wider.

Same macro map, same behaviour

On its own orbit to L* > 600, this machine shows the parent's pattern: - 1,102 cycle pairs; - 1 X1 slot (x ∈ {3, 4, 5} all seen); - 504 L-slot merges (494 interior Ep run-outs).

Its INV(b) margins are comparable to the parent's. The table gives the minimum interior r on each orbit, with the thresholds.

minimum interior r this orbit the parent's orbit threshold
at regular E-starts 8.25 7.5 5
after the X1 slot just under 8 7.906 4

5. The .v file

The .v is the parent's .v with the following changes, and no others.

  1. tm is TM_from_str "1RB0RD_1RC1RF_1LD0LE_1RA0LC_1RE1LC_0RA---".

  2. The state names are renamed by ρ simultaneously wherever the parent's .v names a state. These names occur in the statements of the 14 sweep lemmas (28 occurrences), of the list sweeps PassesR, PassesL and OvPasses (2 each, 6 in all) and of K (1).

parent's .v occurrences this .v
{{A}} 4 {{D}}
{{B}} 12 {{A}}
{{D}} 19 {{C}}
  1. The start:

init0 : c0 -->* K 2 [(7,4,false)] TN (402 steps; not used by nonhalt) base := [(47,32,false); (40,33,true); (13,34,true)] (a 3-element list) init : c0 -->* K 2 base TN (one esx over 38,732 steps)

  1. J_base uses the parent's script (cbn … repeat split; lia). Every clause is a closed arithmetic fact at B′ (§2). The tight one, h + 4(tv + w) + 6 = 48 ≥ 12w = 48, is closed by lia exactly as in the parent.

  2. The comments: the header, the start, and the closing rule table (TM line, <D in K, start line).

Everything from Require Import ZifyNat to Lemma nonhalt is byte-identical to the parent's .v. That includes:

Where everything lives in the .v

Two views of the same layout. By section of this write-up:

section .v
§1 family and rules K, RP, RT, Tl; the 14 sweep lemmas Start, PassR, Borrow, PassL, EndPh, EndT, EndLastT, MergeB, MergeE, OvT, OvL, OvEnd, X1Sw, X2T (each a plain es on this machine's table); the list sweeps PassesR, PassesL, OvPasses; the macro rules Dec, DecMerge, DecMergeTail, DecMergeEmpty, EndR, EndLast, X2, Ov, X1
§2 initial segment and base init0 (K0′, 402 steps), base and init (B′, 38,732 steps), J_base
§3 argument the invariant J with PN, PI, PC, TC; Jstep; nonhalt

By item, with the statements of the start lemmas:

item .v
rules (§1 table) the 14 sweep lemmas (es) and the macro lemmas Dec, DecMerge, DecMergeTail, DecMergeEmpty, EndR, EndLast, X2, Ov, X1, stated for head state D
§2 K0′ (step 402) init0 : c0 -->* K 2 [(7,4,false)] TN (esx; not used by nonhalt)
§2 B′ (step 38,732) base, init : c0 -->* K 2 base TN (one esx)
§3 steps 2–4 J_base, Jstep (the parent's text, unchanged) and nonhalt (multistep_nonhalt + progress_nonhalt_cond with P := J)

What the .v proves

Like the parent's .v, this file proves the parent's per-step invariant J (P§4), not the period theorem. J contains INV+(e) in projected form at E-starts, and Jstep is proved for every J state, so the L* = 3 base needs no special case.

Lemma R is not a premise of the formal proof either. Every rule is re-proved on this machine's own table by es, and Lemma R explains why those proofs re-close.

So the result rests on the .v alone. The prose here and in P§3 is the explanation.

6. Numerical checks

AI assistance: this proof sketch, the scripts and the checks were produced with the help of Claude (Anthropic).