/machines/1RB1LF_0RC0RB_0LD1LA_1LC0LE_0LA---_1LA1LF/proof.md · raw

1RB1LF_0RC0RB_0LD1LA_1LC0LE_0LA---_1LA1LF (W4-2): never halts (informal proof)

0. Summary

The tape is 0^inf w <A 1 (10)^(1+n) 0 (10)^m 0^inf. The left part w is a word read as two interleaved binary numbers (even cells E, odd cells O). The right part is BECv5's R n m. - Bounce. Each bounce applies one map phi to w and moves one 10 from the n-block to the m-block. - Overflow. At n = 0 the right side eats the low end of w (an overflow), and n is refilled from what it ate. - Counter. Most of the time w is a binary counter, alternating between two encodings: standard std and packed pk. - Halting. The machine can halt (and meets the one branch with no rule) only if an overflow finds the lowest 1 of phi(w) on an odd cell and the two cells above it are not 00. That can only happen while w is still dirty after the previous overflow.

The proof is an invariant I on the clean overflow states (typ, N, m). It consists of linear bounds on N in terms of m, chosen by the parities of N and m. Under I, every cycle is one of eleven macro rules (§3.4). None of them meets a halting overflow, and each maps I into itself (§4).

piece status where checked (§9)
low-level rules L0, L1, RS, OV (exact runs, every case) proved (finite runs and shift rules) LS, RS, OV, K
phi in E/O coordinates: lemma SW, increments, orbit lemmas O3–O6 proved by hand (§3.3) PHI, ORB
macro rules S0–S3, P0–P4 derived from the above (§3.4) X, B (abstract and direct TM)
coverage (Lemma S) and closure (Lemma C) of I proved by hand (§4) INV
initial segment, 32 steps exact Z
step formulas exact on the stored direct run to 1e10 steps Z
349: TM518 tm = mirror + renaming of this table, started in F exact (string identity and transition table) F

1. Rule table (busycoq comment-block style)

1RB1LF_0RC0RB_0LD1LA_1LC0LE_0LA---_1LA1LF          (only E1 is undefined)

words: w = ... c2 c1 c0 (offset 0 = the cell A reads); W(e,o): bit d of e at offset 2d, bit d of o at offset 2d+1
std(N) = W(N,0);   pk(N) = W(N-2^(P+1), 2^P) for 2^(P+1) <= N < 2^(P+2)
K(w,n,m) = 0^inf w <A 1 (10)^(1+n) 0 (10)^m 0^inf   (= BECv5's  w <| R n m);   S(typ,N,m) = K(typ(N),0,m)
phi(w): last cell 0 -> 1;  else (e,e+1) := lowest pair of adjacent 0 cells: cell e+1 := 1, cells 0..e := 0

R1  K(w,n,m) --> K(phi(w), n-1, m+1)       n >= 1                                    steps L(w) + 10n+7
R2  K(w,0,m) --> K(x, m+1+u, 0)            phi(w) = x 1 0^(2u)                       steps L(w) + 2u+8
R3  K(w,0,m) --> K(x', 0, m+u+2)           phi(w) = x' 0 0 1 0^(2u+1)  (x'00 may be 0^inf)   L(w) + 2u+15
R4  K(w,0,m) --> halt (E1)                 phi(w) = x 1 1 0^(2u+1)
R5  K(w,0,m) --> nested scan, no rule      phi(w) = x 1 0 1 0^(2u+1)
    L(w) = 1 if c0 = 0, else 2e+3 with (e,e+1) as in phi

N+1 = (2k+1) 2^i,  b = m+1+i,  L = bitlen(k),  r = k - 2^(L-1),  tz = number of trailing 0 bits
S0  S(std,N,m) --> S(std, b, b)                k = 0
S1  S(std,N,m) --> S(pk, 2k+b, b)              k >= 1, and k = 2^(L-1) or 2k+b >= 2^(L+1)
S2  S(std,N,m) --> S(std, b+L+3, b+L+3)        k not a power of 2, 2k+b+1 = 2^(L+1)
S3  S(std,N,m) --> S(std, D+n, n)              k not a power of 2, k < 3*2^(L-2), 3*2^(L-1) < 2k+b+1 < 2^(L+1)
P0  S(pk,N,m)  --> S(std, b+1, b+1)            k = 0
P1  S(pk,N,m)  --> S(std, k+b, b)              k >= 1, k = 2^(L-1)
P2  S(pk,N,m)  --> S(std, 2r+b, b)             r >= 1, 2r+b >= 2^L
P3  S(pk,N,m)  --> S(std, b+L+1, b+L+1)        r >= 1, 2r+b+1 = 2^L
P4  S(pk,N,m)  --> S(pk, D+n, n)               1 <= r < 2^(L-2), 2^(L-1) < 2r+b+1 < 2^L
    S3/P4: v = 2k+b+1-3*2^(L-1) (S3) or 2r+b+1-2^(L-1) (P4); u = tz(v), h = L-2-u, g = v >> (u+1), n = b+1+u;
           D = 3*2^h if g = 0 (S3a/P4a);  D = 2^(h+1)+2g if g >= 1 and n >= 2^(h+1)-2g (S3b/P4b)
    each rule runs to the FIRST overflow state K(w',0,m') with w' clean and N' >= 1;  S2 and P0 pass through
    K(0^inf,0,M) = S(std,0,M) on the way (M = b+L+2 / b; not in I), and leave it by S0

invariant I(typ,N,m):   1 <= m <= N (pk: N >= 2), and
  N = m (mod 2):   std: 2N <= 3m+6 (N even), N <= 2m+3 (N odd);   pk: N <= 2m+3 (N even), 2N <= 5m+6 (N odd)
  N != m (mod 2):  N <= m+3
I(s) -> exactly one of S0..S3, P0..P4 applies to s, and I holds at its result

start: c0 -->(32) K(1,0,1) = S(std,1,1), which satisfies I

2. Notation and families

3. Rules

3.1 Low-level rules (finite runs and shift rules)

Notation: l <S r = state S reading the last cell of l; l S> r = state S reading the first cell of r. X is any right context, and Y = (10)^(m+2) 0^inf.

Left step L (= phi). For every word l and every right side r: - L0. l 0 <A r --> l 1 B> r (A0, 1 step). - L1. l 0 0 z <A r --> l 1 0^(|z|+1) B> r, in 2|z|+3 steps. Here z begins and ends with 1 and has no factor 00; l 0 0 may be 0^inf. - Proof. Every cell of z is read moving left, in state A or F. - A 1 is read by A1 = 1LF or F1 = 1LF, so the next state is F. - Every 0 of z has a 1 to its right, so F reads it. F0 = 1LA writes 1, and A then reads a 1 (no 00 in z), so the scan continues. - After |z| steps F reads the lower 0 of the pair: F0 writes 1. A reads the upper 0: A0 = 1RB writes 1. B1 = 0RB then clears the |z|+1 ones back to the boundary. - Every word with last cell 1 is l 0 0 z for exactly one such z. So L0/L1 compute phi. The runs use only A0, A1, F0, F1 and B1, and they never read right of the boundary.

Right step RS (n ≥ 1), l B> R n m --> l <A R (n-1) (m+1) in 10n+7 steps, for every l. Write R n m = 1 1 0 (10)^n 0 X with X = (10)^m 0^inf.

after steps configuration transitions
0 l B> 1 1 0 (10)^n 0 X
3 l 0 0 0 C> (10)^n 0 X B1 B1 B0
4n+3 l 0 0 (10)^n 0 C> 0 X shift 0 C> 10 --> 10 0 C> (C1 A0 B1 B0), n times
4n+8 l 0 (01)^(n-1) <A 0 0 0 1 0 X C0 D0 C0 D1 E0
6n+6 l 0 <A (11)^(n-1) 0 0 0 1 0 X shift 01 <A --> <A 11 (A1 F0), n-1 times
8n+6 l 1 0^(2n-1) C> 0 0 1 0 X A0, B1^(2n-2), B0
10n+5 l 1 0 <D (01)^(n-1) 0 0 1 0 X C0, then shift 00 <D --> <D 01 (D0 C0), n-1 times
10n+7 l <A 1 1 (01)^(n-1) 0 0 1 0 X = l <A R (n-1) (m+1) D0 C1

RS never moves left of the boundary cell. It reads F only as F0 (never F1), and E only once, on a 0 that B wrote earlier in the same step. This is exactly BECv5's RIncs: TM1 and TM2 run the same 10n+7 steps (check RS).

Overflow OV (n = 0). Let f = phi(w) = x 1 0^q, the result of the left step. - OV0. f B> 1 1 0 0 X --> f <C 1 0 1 0 X in 7 steps (B1 B1 B0 C0 D0 C0 D0). So the head is at f <C Y. - CD. 0 0 <C --> <C 1 0 (C0 D0), applied to the 0s of f. - OVe (q = 2u). x 1 0^(2u) <C Y --> x 1 <C (10)^u Y, then C1 gives x <A 1 (10)^(u+m+2) 0^inf = K(x, m+1+u, 0). Total q+8 steps after the left step. - OVo (q = 2u+1). x 1 0 0^(2u) <C Y --> x 1 0 <C (10)^u Y, then C0 and D1 give x <E 0 0 (10)^u Y (q+8 steps so far). Then E reads the last cell of x: - x ends in 1: E1, halt (step q+9). - x = x' 0 0 (or x = 0^inf): E0 A0 B0 C0 D0 C1 gives x' <A 1 1 0 0 (10)^(u+m+2) 0^inf = K(x', 0, m+u+2). Total q+14 steps. - x ends in 10: E0, then A1 enters an F-scan inside x. This case has no rule and is never reached.

3.2 Level-1 rules

3.3 phi in E/O coordinates

Lemma SW. Let Hi be any word, h ≥ 1, 1 ≤ o < 2^h, P = tz(o), 0 ≤ c < 2^(P+1), and w = Hi·W_h(c, o). - (i) If c < 2^(P+1) - 1, then phi(w) = Hi·W_h(c+1, o). - (ii) If c = 2^(P+1) - 1 and o' := o + 2^P < 2^h, then phi(w) = Hi·W_h(0, o'). - Its lowest 1 is the O-cell 2g+1, g = tz(o'): a landing. - The two cells above it (offsets 2g+3, 2g+2) are (bit g+1 of o, 0) if g+1 < h, and the two lowest cells of Hi if g = h-1. - (iii) If c = 2^(P+1) - 1 and o + 2^P = 2^h, then phi(w) = phi(Hi·1)·0^(2h-1), where Hi·1 is Hi with one cell 1 appended below it.

Proof. The low part below offset 2P+1 has E-cells = the bits of c and O-cells = 0. No E-bit of c lies above P. - (i) Let d ≤ P be the lowest 0 bit of c. - If d = 0, the last cell is 0 and becomes 1. - If d ≥ 1, the cells 0..2d-2 alternate (E = 1, O = 0). So every pair of adjacent cells below 2d-1 contains a 1. - Cells 2d-1 (an O-cell below 2P+1, so 0) and 2d (bit d of c, 0) form the lowest 00 pair. phi sets cell 2d and clears 0..2d-1, which gives c+1. - (ii) and (iii) The counter is full: all E-cells ≤ 2P are 1. Let s ≥ 1 be the length of the run of 1 bits of o starting at bit P. - The O-cells 2P+1, …, 2P+2s-1 are 1, and the E-cells between them are 0 (bits of c above P). - So every pair of adjacent cells up to offset 2P+2s-1 contains a 1. - Case P+s < h. Cells 2P+2s (E, bit P+s of c, 0) and 2P+2s+1 (O, bit P+s of o, 0) are the lowest 00 pair. phi sets the O-cell 2(P+s)+1 and clears everything below, which gives o + 2^P with c = 0. The two cells above the landing are the E-cell 2g+2, which is 0, and the O-cell 2g+3, which is bit g+1 of o. When g = h-1 these two cells are the lowest two cells of Hi. - Case P+s = h. Cell 2h-1 is 1 and nothing below it is a 00 pair. So the lowest 00 pair of w is the lowest 00 pair of Hi·1, whose cell 0 is that 1. phi on w and phi on Hi·1 set the same cell, and w's cells 0..2h-2 are cleared. ∎

Sweep corollary. Under the hypotheses of SW, call T = 2o + c the T-count. Each phi adds 1 to T as long as T < 2^(h+1): (i) adds 1 to c, and (ii) changes (o, 2^(P+1)-1) to (o+2^P, 0). - The O-values met are the barriers o_0 = o < o_1 < … < 2^h, with o_(t+1) = o_t + 2^tz(o_t). Equivalently they are (o >> g << g) + 2^g for the 0 bits g of o with tz(o) < g < h, followed by 2^h. - For T+j < 2^(h+1), phi^j(w) = Hi·W_h(T+j-2o_t, o_t), where o_t is the largest barrier with 2·o_t ≤ T+j. - The landings are exactly T+j = 2·o_t (t ≥ 1), and at T+j = 2^(h+1) the word is phi(Hi·1)·0^(2h-1) (SW iii).

Increments. - INC-std: phi(std(N)) = std(N+1). With no O-bits, the proof of SW(i) applies to every digit. - INC-pk: phi(pk(N)) = pk(N+1) for N ≥ 2. This is SW with Hi = 0^inf, h = P+1, o = 2^P. Case (i) adds 1. Case (iii) occurs at N = 2^(P+2)-1 and gives phi('1')·0^(2P+1) = 100·0^(2P+1) = W(0, 2^(P+1)) = pk(2^(P+2)).

Orbit lemmas. Each comes from the sweep corollary with the high word shown. The constant words are phi(1) = 100, phi(11) = 1000, phi(1011) = 100000 and phi(111) = 10000.

lemma start word Hi, h result
O3 (std, gen 1) W(0,k), k ≥ 1 0^inf, h = L phi^j = pk(2k+j) once 2k+j ≥ 2^(L+1) (SW iii gives 100·0^(2L-1) = pk(2^(L+1)), then INC-pk). If k = 2^(L-1), W(0,k) = pk(2k) from the start. Final gap: if k is not a power of 2 and bit L-2 of k is 0, the barriers end with 3·2^(L-2), so phi^j = W(T-3·2^(L-1), 3·2^(L-2)) for 3·2^(L-1) ≤ T = 2k+j < 2^(L+1).
O4 (pk, gen 1) W(2^(L-1), r), 1 ≤ r < 2^(L-1) 1, h = L-1 phi^j = std(2r+j) once 2r+j ≥ 2^L (SW iii: 1000·0^(2L-3) = std(2^L)). Final gap: if r < 2^(L-2) (L ≥ 3), phi^j = W(T, 2^(L-2)) for 2^(L-1) ≤ T = 2r+j < 2^L. The landing at T = 2^(L-1) has 01 above it: the halting point H.
O5 (std, gen 2) W(3·2^h, g), 0 ≤ g < 2^h 101, h g = 0: phi^j = std(3·2^h + j). g ≥ 1: for j ≥ j0 = 2^(h+1)-2g, phi^j = std(2^(h+1)+2g+j) (at j0, SW iii gives 100000·0^(2h-1) = std(2^(h+2))).
O6 (pk, gen 2) W(2^h, 2^h+g), 0 ≤ g < 2^h 11, h g = 0: W(2^h,2^h) = pk(3·2^h), so phi^j = pk(3·2^h+j). g ≥ 1: for j ≥ j0, phi^j = pk(2^(h+1)+2g+j) (at j0: 10000·0^(2h-1) = pk(2^(h+2))).

In O3, the barrier 3·2^(L-2) is (k >> (L-2) << (L-2)) + 2^(L-2), for the 0 bit L-2, which lies above tz(k) because k is not a power of 2. The next barrier is 2^L. O4 is the same with r and the 0 bit L-2 of r.

3.4 Macro rules

Overflow words of clean counters. Let N+1 = (2k+1)2^i. - std. phi(std(N)) = std(N+1) has its lowest 1 at E-cell 2i. The cells above it are the bits of k, now on O-cells. So q = 2i and x = W(0, k). - pk, k = 0 (N = 2^i - 1, i ≥ 2). phi(pk(N)) = W(0, 2^(i-1)): q = 2i-1 and x = 0^inf, so R3 applies, with m + (q+3)/2 = b. - pk, k ≥ 1. phi(pk(N)) = pk(N+1) = W(N+1-2^(P+1), 2^P) has its lowest 1 at E-cell 2i (i ≤ P). The E-bits above it move to O-cells, and the top O-cell 2P+1 moves to E-cell 2(P-i). So q = 2i and x = W(2^(L-1), r) with L = P-i+1. For r = 0 this is std(k).

Then R2 gives K(x, b, 0), and R1^b gives K(phi^b(x), 0, b). If that word is not clean, the next overflow sees phi^(b+1)(x).

rule precondition run result
S0 std, k = 0 x = 0^inf, phi^b(0) = std(b) (INC-std) (std, b, b)
S1 std, k ≥ 1, and k = 2^(L-1) or 2k+b ≥ 2^(L+1) O3 (pk, 2k+b, b)
S2 std, k not a power of 2, 2k+b+1 = 2^(L+1) phi^(b+1)(x) = W(0, 2^L) = 1 0^(2L+1) (O3): R3 with x empty gives K(0^inf, 0, M), M = b+L+2. Then R2 with q = 0 gives K(0^inf, M+1, 0), then R1^(M+1) (std, b+L+3, b+L+3)
S3 std, k not a power of 2, k < 3·2^(L-2), 3·2^(L-1) < T = 2k+b+1 < 2^(L+1); (S3b) n ≥ 2^(h+1)-2g O3 final gap: phi^(b+1)(x) = W(v, 3·2^(L-2)), 1 ≤ v < 2^(L-1). Its lowest 1 is E-cell 2u, so R2 gives K(W(3·2^h, g), n, 0). Then R1^n and O5 (std, 3·2^h+n, n) if g = 0; (std, 2^(h+1)+2g+n, n) if g ≥ 1
P0 pk, k = 0 R3 gives K(0^inf, 0, b), then R2 and R1^(b+1) (std, b+1, b+1)
P1 pk, k = 2^(L-1) x = std(k), INC-std (std, k+b, b)
P2 pk, r ≥ 1, 2r+b ≥ 2^L O4 (std, 2r+b, b)
P3 pk, r ≥ 1, 2r+b+1 = 2^L phi^(b+1)(x) = std(2^L) (O4): R2 with q = 2L and x empty gives K(0^inf, b+1+L, 0), then R1^(b+1+L) (std, b+L+1, b+L+1)
P4 pk, 1 ≤ r < 2^(L-2), 2^(L-1) < T = 2r+b+1 < 2^L; (P4b) n ≥ 2^(h+1)-2g O4 final gap: phi^(b+1)(x) = W(2^(L-1)+v, 2^(L-2)), 1 ≤ v < 2^(L-1). Its lowest 1 is E-cell 2u, so R2 gives K(W(2^h, 2^h+g), n, 0). Then R1^n and O6 (pk, 3·2^h+n, n) if g = 0; (pk, 2^(h+1)+2g+n, n) if g ≥ 1

In S3 and P4, the E-bits of phi^(b+1)(x) above offset 2u move to O-cells and become g = v >> (u+1) < 2^h. The O-cells 2L-3 and 2L-1 (S3), or the O-cell 2L-3 and the E-cell 2L-2 (P4), move to E-cells 2h and 2h+2 (S3), or to E-cell 2h and O-cell 2h+1 (P4).

Where a macro rule ends. Each macro rule runs from S(typ, N, m) to the first overflow state K(w', 0, m') whose word w' is clean with N' ≥ 1. That state is the result column. The other overflow states met on the way are of two kinds. - Dirty: phi^b(x) in S2, S3, P3 and P4. - In S2 and S3 its O-part is a barrier o with 2^(L-1) < o < 2^L, so o is neither 0 nor a power of 2. - In P3 and P4 it has the E-bit L-1 (from Hi = 1) above an O-part 0 < o < 2^(L-1), which a pk word cannot have. - Empty: K(0^inf, 0, M) = S(std, 0, M), met only in S2 (M = b+L+2, after R3 with x empty) and P0 (M = b), once each. - It violates I0 (N = 0 < M), so it is never the end of a macro rule and never a state of the induction. - The step out of it is exactly S0 at (std, 0, M): R2 with q = 0 gives K(0^inf, M+1, 0), then R1^(M+1) gives (std, M+1, M+1). S0 has no hypothesis on m. - So S2 = (run to (std,0,M)) followed by S0, and the same holds for P0.

Check B confirms this: the abstract trace on every small state, the direct TM run (which passes exactly the overflow states of the abstract trace), one empty state with the stated M in S2 and P0 only, and S0 from it.

The overflows inside a macro rule. Each one is of one of these kinds: - a clean counter (q even, or q odd with x = 0^inf, the all-ones pk); - O3's top word 1 0^(2L+1) (R3 with x = 0^inf); - std(2^L) in P3 (q even); - a final-gap word with v ≥ 1 (q = 2u even); - K(0^inf, 0, M) (q = 0).

So R4 and R5 never occur inside a macro rule. The landings of the gen-2 orbits O5/O6 (the last possible one, at T = 2^h, has 01 or 11 above it) all come before j0 ≤ n. They happen during bounces, where R1 applies to any word, so they do no harm.

4. Invariant, coverage, closure

4.1 The invariant

For a clean state (typ, N, m): - I0: 1 ≤ m ≤ N (pk: N ≥ 2). - Class P (N ≡ m mod 2). With D = N - m (even), the bounds are:

typ N even N odd
std 2N ≤ 3m+6, i.e. 2D ≤ m+6 N ≤ 2m+3, i.e. D ≤ m+3
pk N ≤ 2m+3, i.e. D ≤ m+3 2N ≤ 5m+6, i.e. 2D ≤ 3m+6

In class P, N even ⇔ m even ⇔ i = 0. The weakest bound in every class is 2N ≤ 5m+6. The strongest P bound is 2D ≤ m+6, so D even with 2D ≤ m'+6 satisfies all four P bounds at once.

4.2 Lemma S (coverage): if I(s), exactly one macro rule applies to s

The preconditions are mutually exclusive by construction (k = 0 / k a power of 2 / k not, and the position of T). It remains to show that a state with I never falls outside them: it is never dirty outside the final gap, and the gen-2 merge comes in time.

std, k not a power of 2 (so k ≥ 3, L ≥ 2, k ≥ 2^(L-1)+1). T = 2k+b+1. T > 2^(L+1) gives S1 and T = 2^(L+1) gives S2. Suppose T < 2^(L+1); then b < 2^(L+1) - 1 - 2k ≤ 2^L - 3. - i ≥ 1 is impossible: N+1 = (2k+1)2^i ≥ 2(2^L+3), so N ≥ 2^(L+1)+5, and I gives N ≤ 2m+3 (std, N odd, either class). So m ≥ 2^L+1 and b ≥ m+2 > 2^L - 3. - i = 0 in class X is impossible: N = 2k ≤ m+3 gives b = m+1 ≥ 2k-2, so T ≥ 4k-1 > 2^(L+1). - i = 0 in class P (m even): 4k ≤ 3m+6, so 3T = 6k+3m+6 ≥ 10k. - T ≤ 2^(L+1)-1 gives k < 0.6·2^L < 3·2^(L-2), so bit L-2 of k is 0. - T ≥ 10k/3 > 3·2^(L-1). - So S3's range holds. - T = 2k+m+2 is even, so v is even and u ≥ 1. - 3m ≥ 4k-6 ≥ 2^(L+1)-2 gives n = m+2+u > 2^(L-1) ≥ 2^(h+1) ≥ j0, so in case g ≥ 1 the S3b condition holds.

pk, k not a power of 2 (r ≥ 1, L ≥ 2). T = 2r+b+1. T > 2^L gives P2 and T = 2^L gives P3. Suppose T < 2^L, so b ≤ 2^L - 4. Also N+1 = (2k+1)2^i with 2k+1 ≥ 2^L+3. - i ≥ 2 is impossible: N ≥ 4·2^L + 11, and the weakest bound 2N ≤ 5m+6 gives m > 2^L, so b > 2^L. - Class X is impossible. - i = 1: N ≥ 2^(L+1)+5 and N ≤ m+3 give m > 2^L, so b > 2^L. - i = 0: N = 2k ≤ m+3 gives T ≥ 2r+2k-1 = 2^L+4r-1 > 2^L. - i = 0, class P (m, N even): N ≤ 2m+3 means 2k ≤ 2m+2, so m ≥ k-1. - Then T = 2r+m+2 ≥ 3r + 2^(L-1) + 1 > 2^(L-1). - T < 2^L gives 3r < 2^(L-1), so r < 2^(L-2), and L ≥ 3 follows. - T is even, so u ≥ 1. - n = m+2+u ≥ k+1 > 2^(L-1) ≥ j0. - i = 1, class P (m odd, N = 4k+1): 2N ≤ 5m+6 gives 5m ≥ 8k-4. Then 5T = 10r+5m+15 ≥ 18r + 4·2^L + 11. - T < 2^L gives 18r < 2^L - 11, so r < 2^(L-2). - T ≥ (4·2^L+11)/5 > 2^(L-1). - T = 2r+m+3 is even, so u ≥ 1. - n = m+3+u ≥ (8k-4)/5 + 3 > 2^(L-1) ≥ j0.

So under I the dirty cases are exactly: std with i = 0 in class P (S3), and pk with i ≤ 1 in class P (P4). Each is in its final gap (past every landing of its gen-1 orbit) with u ≥ 1, and its gen-2 orbit merges before the next overflow.

4.3 Lemma C (closure): if I(s) and s → s' by a macro rule, then I(s')

Each result has the form N' = m' + D with D ≥ 0 and m' ≥ 1, so I0 holds (for pk, N' ≥ 2). It remains to bound D.

5. Progress and halting

6. Initial segment (exact)

c0 = 0^inf A> 0^inf (the head reading 0) runs 32 steps:

steps transitions configuration
1–5 A0 B0 C0 D0 C1 K(0^inf, 0, 0) = 0^inf <A 1 1 0 0 0^inf
6–14 A0 (L0), B1 B1 B0 C0 D0 C0 D0 (OV0), C1 (OVe, q = 0) K(0^inf, 1, 0)
15–32 A0 (L0), B1 B1 B0 C1 A0 B1 B0 C0 D0 C0 D1 E0 A0 B0 C0 D0 C1 (RS, n = 1) K(1, 0, 1) = S(std, 1, 1)

(std, 1, 1) satisfies I: 1 ≤ 1 ≤ 1, class P, N odd, and N ≤ 2m+3 = 5. In Rocq this is init: c0 -->* S (std,1,1) by esx, as TM1/TM2 do with S (6,6).

From there the macro rules give (std,1,1) →S0 (std,3,3) →S0 (std,6,6) →S1 (pk,13,7) →P2 (std,11,9) →S1 (pk,14,12) → … The orbit of all overflow configurations given by R1–R3 (including the dirty and empty-x ones) equals the 1,003 overflow configurations of the stored direct C run to 1e10 steps, word for word and step for step (check Z). The clean subsequence equals the macro-rule orbit, and 40 fresh direct-TM macro steps chained from (std,1,1) agree. Along the blank-tape orbit, I holds for the 500,000 cycles checked by default (2,000,000 with --full). Earlier stages checked 17,000,000 cycles.

7. Conclusion

7.1 Non-halting

The induction runs over the clean overflow states with N ≥ 1 that satisfy I. The step from s to s' is one whole macro rule, which ends at the first clean overflow state with N ≥ 1 after s (§3.4, "Where a macro rule ends"). The state (std, 0, M) that S2 and P0 pass through is outside I, and the induction never stops there. By induction the machine runs forever. In busycoq terms this is progress_nonhalt_cond with P := I on states (typ, N, m), after multistep_nonhalt with the 32-step init.

7.2 Why it is not a cryptid

The branch taken in each cycle depends on bit patterns of N (i, k, the gap position of T), which look pseudo-random. But I is closed under every branch. Lemma C uses only linear bounds and two parity facts: N ≡ m in class P, and T even at the dirty overflows. Halting is excluded by inequalities, not by residues. Ground rule 6 does not apply.

7.3 Machine 349

8. Lemma plan for Rocq (template: BECv5 TM1/TM2)

Shared shape, as in TM1/TM2: - Notation "l <| r" := (l <{{A}} [] *> r) and "l |> r" := (l <* [] {{B}}> r); - R n m; hL := (A,[]), hR := (B,[]); tm' := flip tm; - the state S '(t,a,b) := word t a <| R 0 b; - BigStep lemmas, init by esx, and nonhalt by multistep_nonhalt + progress_nonhalt_cond.

proof.md Rocq source
RS (§3.1) RIncs n m : sideRLs tm (hRL^^n) (R n m) (R 0 (n+m)) verbatim from TM1/TM2. RS never reads F1, and TM1/TM2 give the same run (check RS.same_on_TM1/2)
std, INC-std LC0 n := BinInc <[0;1] n; LInc0, LIncs n m : sideRLs tm' (hLR^^n) (LC0 m) (LC0 (n+m)) verbatim from TM2. On std words F only reads O-cells, which are 0, so F1 is never read (check TPL)
OVe on std (X, std) ROv k i m : LC0 ((k*2+1)*2^i-1) <| R 0 m -->+ LC0 k <* [0] <| R (1+i+m) 0 verbatim from TM1 (LC0 k <* [0] is W(0,k); the same run on all three machines, check TPL)
words W(e,o) Fixpoint Wd h e o (hi:side) := match h with O => hi \| S h' => Wd h' (e/2) (o/2) hi <* <[Nat.odd o; Nat.odd e] end (as 0/1); pk N, plus equations LC0 N = Wd _ N 0 0inf, pk N = Wd _ (N-2^(P+1)) (2^P) 0inf new; the ctr pattern of machine #4's .v (ctr_even/ctr_odd)
SW(i) sideRLs tm' [(hL,hR)] (Wd h e o hi) (Wd h (e+1) o hi) when the counter below tz(o) is not full. Digit shift rules on the flipped machine: <[0;1] passes A→A (A1 F0), the bottom digit <[0;0] turns (A0), and B1 clears back new, ind on the digit list
SW(ii) the sweep: full digits <[0;1]^^P, the digit <[1;1] (A1 F1: A→F), the run <[1;0]^^(s-1) (F0 A1: F→F), then <[0;0] turns (F0 A0) new, ind
SW(iii) needed only for Hi ∈ {0inf, 1, 101, 11} (O3–O6), so four concrete es lemmas new
sweep corollary, O3–O6 sideRLs tm' (hLR^^j) x (target) by strong induction on the barriers, as TM2's LIncs' does for LC0 n <* [1] (divmod2_cases, segRLs_addmul'') new; TM2 LIncs' is the model
OV on general f (OVe, OVo reset) x <* [1] <* [0;0]^^u \|> R 0 m -->+ x <\| R (u+m+1) 0 and x' <* [0;0;1;0] <* [0;0]^^u \|> R 0 m -->+ x' <\| R 0 (u+m+2), by es + ind u (CD = [0;0] <C → <C [1;0]) new; generalizes TM1 ROv
macro rules S0–S3, P0–P4 BigStep_* with the §1 preconditions as hypotheses, chained by follow (ROv/OV, then sideRLs_concat_1L (RIncs _ _) with the left-side lemma, as in TM1 BigStep). Each goes from S s to the first clean S s' with N' ≥ 1 (§3.4). BigStep_S2 and BigStep_P0 run to S (std,0,M) and then apply BigStep_S0, which needs no hypothesis on m. S (std,0,M) is never a state of progress_nonhalt_cond TM1 BigStep
I, Lemma S, Lemma C progress_nonhalt_cond with P := I on (bool*nat*nat); the case split by lowbitS_cases/highbit (BECv5 header) plus Nat.testbit; arithmetic by lia after naming 2^L, 2^h. Export it as nonhalt_I : forall s, I s -> ~ halts tm (S s) so that 349 can reuse it TM2 nonhalt
init S (std,1,1) by esx (32 steps) TM1/TM2
349 (tm349 = 1RB1LD_…0RB---, its own file) nonhalt : ~ halts tm349 c0, as a chain of reductions: (1) TM518.eqv gives ~ halts TM518.tm c0; (2) flip_halts_c0 (Flip.v) gives ~ halts (flip TM518.tm) c0; (3) perm_nonhalt (Permute.v) with Perm (flip TM518.tm) W42.tm f, f = (A↦F, B↦A, C↦B, D↦C, E↦D, F↦E), proved by case analysis like perm in Skelet15.v, gives ~ halts W42.tm (F;; tape0); (4) multistep_nonhalt to S (std,2,2) by execute (73 steps); (5) nonhalt_I. For step 1, copy the 15-line TM518 module (its solve_eqv call) or Require a compiled Eqv_v3 Skelet15.v does exactly 2–4 (flip_halts_c0, perm_nonhalt, multistep_nonhalt). Flip.v uses functional_extensionality_dep, which is already in the kill baseline. Fallback: a standalone file on TM518 tm, with every side lemma mirrored (RIncs, LIncs, ROv, SW, O3–O6) and init = 14 steps to the mirror of K(0^inf,0,1)

Risks. - The general OV and SW lemmas need care with <[...] list orientation (rocq-notes: left lists read reversed). - 349: the TM518 module of Eqv_v3 runs solve_eqv with a CTL/NG certificate. Copying it may cost compile time or memory; time it alone before you rely on it. Fallback: Require a compiled Eqv_v3. - The arithmetic of Lemma S/C has many cases. Split it into one lemma per rule, each with lia after stating the rule's bounds in terms of 2^L, 2^h, k, r and m. - No CTL/NG parameter searches are involved. The NG parameters of TM518.eqv are given in Eqv_v3.

9. Evidence (python3 -B check_proof.py [--seed S] [--quick|--full])

Every claim above has a named check. The results are in work/check_proof_seed1.log (default), work/check_proof_seed2.log (default, seed 2) and work/check_proof_full_seed1.log (--full).

section what is checked size (default run)
T E1 is the only undefined transition; TM1/TM2 differ only in F1
LS L0/L1 on the TM: result = phi, steps 1 / 2e+3, right context untouched, transitions ⊆ {A0, A1, F0, F1, B1} all 16,384 words of length ≤ 14 + 3,000 random words up to 90 cells
RS every row of the RS chain (configuration, state, head, step); left side untouched; no F1/E1; TM1, TM2 give the same run n ≤ 40, m ≤ 6, plus 200 random up to 400
OV OV0, CD, OVe (q+8), OVo reset (q+14), halt at step q+9 when x ends in 1, nested case enters F every f up to length 13 × m ≤ 3, plus 2,000 random
K R1, R2, R3, R4 on K configurations, composed all words up to length 11
PHI the string definition of phi = the bit version; SW(i), (ii) with the landing cells, (iii); INC-std, INC-pk; accelerated phij = plain iteration SW: every h ≤ 5, every (o,c), every Hi up to 6 cells, plus 30,000 random (h ≤ 40)
ORB O3–O6 by plain iteration (every k < 512, every h ≤ 9 and g), and with phij at random large parameters (L, h ≤ 60)
X overflow words of std/pk counters N < 8192 + 5,000 random up to 120 bits
B each macro rule: closed form = abstract execution of R1–R4 with plain phi (every clean state with m ≤ 90, N ≤ 3m+8); = with phij on 3,000 constructed large states per rule; = direct TM simulation on 30 states per rule. Where a rule ends (§3.4): the end is the first clean overflow state with N ≥ 1, and every earlier overflow state is dirty or empty; the direct TM passes exactly the overflow states of the abstract trace; the empty state (std,0,M) occurs once, only in S2/P0, with the stated M, is outside I, and S0 takes it to the result same states
INV Lemma S (a rule applies; dirty kinds; every inequality step of §4.2 as its own check), Lemma C (closure, D per rule, u ≥ 1, D < 2^(L-u), parity of n), progress m' ≥ m+1, closed form = abstract execution exhaustive for m ≤ 700 (251,124 states; --full: m ≤ 1300) + 300,000 random boundary states up to m ~ 2^60
Z 32-step trace and milestones; the R1–R3 orbit = the stored direct run's 1,003 overflow configurations, including the step formulas, to step 9,998,414,763; macro orbit; 40 fresh direct macro steps
F start F: K(0^inf,0,1) at step 14, (std,2,2) at step 73, I along 300,000 macro steps. 349: TM518 tm = this table mirrored and renamed (string identity); the TM518 tm/tm' strings and eqv statement in the vendored Eqv_v3.v; 349 and this table on the 740 list; Perm (flip TM518.tm) W42 f transition by transition; lockstep run of TM518 tm from blank against the mirror of this table from F (state, head and every cell) lockstep 200,000 steps (--full: 1,000,000)
J I along the blank-tape orbit 500,000 macro steps (--full: 2,000,000)
NEG off I, constructed overflows on landings: H halts on the TM, N nests, R resets 10 each
TPL template carry-over (§8): on std words the left step never reads F1 (TM2 LIncs); L+OV on std words (TM1 ROv) runs identically on this machine, TM1 and TM2 N < 2048, m ∈ {0,1,4}

10. Checkpoint B (Dennis)

Pending (non-blocking).

Review log