/machines/1RB0RF_1RC1RF_1LD0RE_---0LE_1LA0LE_0RA0LC/rocq/log.md · raw

Rocq log, #30 1RB0RF_1RC1RF_1LD0RE_---0LE_1LA0LE_0RA0LC

Round 1 (2026-10-10)

Done (compiles, 7.9 s native, no Admitted)

Open: everything above Lemma H (the invariant P)

nonhalt = nonhalt_of_inv P for an invariant P carrying write-up section 5 (Lemma D). - Section 5: computable lpf/phif (nat fuel, one fuel unit per bounce/recursion) with model_sound (lpf n w = Some (w',d) -> LP w w' d, phif ... = Some (k,y) -> Phi ...), compiled after 3 small fixes (a subst ate a variable name: use _; eapply LP_eq; [reflexivity|] unifies the re-parse target with itself: give it, apply (LP_eq _ (blk true 0 t2))). - Aliases needed (same tape, other parse): '10'='1', '101' = b(0), '00'='', '001' = a(0), '10 00'='1', '10 00 1' = '10' a(0), and p10 (p10 (p00 t2)) = 101 000 010001 = b(0) z t2. The last one is the only alias the orbit needs beyond the hand list (found by rocq/model2.py, a Python mirror with a generic re-parser: 253 uses up to epoch 599, nothing else). - Validation: vm_compute of the model from K(1,8,t2) gives N = 8,16,18,32,34,45,48,62,68,84, 94,104,... = the TM's left records (data/nest_orbit_epochs.txt), and runs epochs 3..593 (the write-up's whole finite part, N < 14,796) in 0.8 s, ending at epoch 594 with N = 14,819 as in the write-up (D.8). The finite part is computationally free. - Section 6: counter words gw bs s (blocks LSB first + tail stage), ginc (= LP on G, ginc_LP), value gval (ginc_val: +1, tail stays <= 3, exponent-sum/length bookkeeping, absorption only at a bare tail). New, simpler than the write-up's Lemma P: the potential Psi = value + budget + sum of exponents - number of blocks is unchanged by every bounce (also by overflows) and drops by value-1 >= 3 at every E1g. So count_phase: every counting phase from a counter word with budget >= 1 ends in a pre-record (exists k y, Phi a b (gw bs s) k y), by lexicographic induction (Psi, b); the absorbing bounce at t3 is unrolled with the next bounce. Corollary LP6_total: D6 is a total rule on '10' b-block z R, R a counter word. - check_kill --text-only: everything PASS except theorem_text (no nonhalt yet).

Plan for rounds 2-4 (Lemma D)

Reduction already proved: nonhalt_of_inv P needs P 8 t2 and the per-epoch step. 1. Dig w w' n c (n LP steps from w to w' in G, c absorptions) and the bridges - top level: Dig Y (gw bs s) n c -> N >= n - c + 2 -> Phi (1+n) (N-n+c) (gw bs s) k y -> Phi 1 N Y k y (b is non-increasing, so b >= 2 before every bounce iff the final b >= 2); - nested: Dig w w' n c -> Dig (blk false e w) (blk false (e+c) w') (2n) 0 (LP_a / LP_b pairs); - prefix and strip steps: p11 x W -> p10 W in 2x+2 steps, x+1 absorptions; LP5 then LP0. 2. Existence + cost of Dig for ordinary residues p11 x (gw bs s) and the 3 special ones, by recursion over the levels (LP6 uses a strengthened count_phase that also returns the shape of the sub-residue: p11 x' (gw bs' s') with bs' = ginc^j of a suffix of bs, x' <= exponent + 1, or special). Cost bound in the pair-recursive form B(e0::e1::rest) = 2(e0+e1+8) + 2 B(rest) (the write-up's weights 2^floor((q+3)/2)), needs positions-stable exponent lists and a bound on created positions (write-up Lemma C; try a Psi-style potential first). 3. Strengthened counting phase: from gw bs s with budget b to the next residue, with the value bound (write-up D.5: m(W') <= (m + a + ...)/2 at the E2g) and the merged-block exponents (D.3/D.4). 4. Orbit invariant (write-up D.6, (I1)-(I4)) and threshold (D.7). Finite part: use phif (vm_compute) to reach a late epoch and check the invariant there. Because the model is so cheap, a fast-counting phif (n GI steps at once by gval arithmetic) would push the finite part to N ~ 1e7-1e8 and allow cruder analytic constants (slack factor ~5-15 at kappa ~ 20-25).

Round 2 (2026-10-10): nonhalt proved

The kill file now has top-level Lemma nonhalt: ~halts tm c0. (1726 lines, 14.6 s with native compile on; Print Assumptions nonhalt in the dev build: "Closed under the global context"). Developed as 5 dev modules importing the round-1 file as a library (scratchpad c30/dev/S7..S11.v, 1-5 s each), then merged.

Changed strategy for Lemma D (simpler than the write-up's D.4/D.6 excess profile)

check_kill (round 2): RESULT: PASS -- this is a kill (exit 0)

Kill packaging (2026-10-10)