BB(6) hunt
Machines / #33b

1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---

#33blocal proof 10Kill claimedSkelet 1-like Class 2bbchallenge ↗Explorerparent: #33

How we proved it never halts

#11's proof in a mirror, from a different start

#11 is a binary counter whose digits burn a unit of fuel each time a carry touches them, and its proof is an invariant showing that a digit only ever runs dry where that is harmless. #33 is #11's table in a mirror, and this machine is #33's table with the state letters renamed, started in the state that is #33's D (equivalently, #11 mirrored and started in #11's state C). So you see #33's counter, with the head at the left end, on a run of its own.

Everything in #33's proof except the start carries over unchanged: the two moves (add 1, and overflow), #11's invariant, and the proof that every move keeps it. What is new is a 687-step opening. In it the counter loses its digits to merges until none is left, an overflow builds a new one, and at step 687 the tape is a one-digit counter with fuel to spare, a state the invariant covers. From then on the argument applies, so this machine never halts.

The Rocq file is #33's with the states renamed and a new opening. It replays the 687 steps, checks the invariant there, and proves the result for this table directly.

#10local proof number
673lines of Rocq
9 sto compile
6/6automatic checks
space-time diagram, first 10,000 steps from blank
The first 10,000 steps from a blank tape. Time runs down; white is 1.
About this picture

The standard picture (bbchallenge.org's Default view): each row is the whole tape at one step, time runs downward, and the head's path draws the pattern.

bbchallenge-defaultStart blankRows steps 0 → 10,000, top to bottomWindow cells −200..199, left to rightColors 1 0 or unvisited

Overview

In one sentence

Kill #33's table renamed, started in #33's D: same counter; a 687-step init lands in #33's proved invariant

Submitted mechanism Same counter as #33. The head works at the left edge. At each visit the tape is K = 0^inf <D (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf. Each digit is (10)^v 00 (01)^u (bit 0) or (10)^v (01)^u (bit 1), and d_m, next to the block, is the least significant bit. (submission/README.md, Mechanism)

parent #33; = #11 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD--- mirrored

Upstream
Kill claimed · PR #16merged 2026-10-13 12:26 UTC by ccz181078 · Sk1Class2_v2.v · TM8 · on Submissions →
Rocq proof
check_kill PASS · first Oct 10 12:23
673 lines · 30 KB .v · compile 8.6 s · coqchk pass · 0 axioms · PASS Oct 10 12:23 (re-run Oct 12 18:18)
· the .v file
Automatic review
6 of 6 checks passtemplate: #33's kill file (kill 9) (twin: parent kill's .v) · details in Proof →
Class
Skelet 1-like Class 2ours: sheet Skelet 1-like Class 2 ≠ ours Binary counter with re-pairing overflow: kill #33's table renamed (BCDAEF, no mirror), started in #33's D · high confidence
On the list
not on BB6_holdouts_663.txt (line 366 of the previous list) · historical 740 line 366 · observe.json rank #388
eqv ×3sim 1e15
Derived from
1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---#33 Kill claimed

Mechanism

What to check here: the pictures show the mechanism that the rule table describes.

How it works: 3 notes
  • Same table as kill #33 1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---: rename its states A,B,C,D -> B,C,D,A (E, F fixed), no mirror. This machine starts in #33's D (= kill #11's table mirrored, started in #11's C).
  • Tape K = 0^inf <D (01)^b 000 (01)^a + digits (10)^v [00] (01)^u + 1001: #33's binary counter with head state D. M carries to the last 0-bit; O re-pairs every digit when all bits are 1.
  • From blank, 687 steps reach K((1,1,9); 8, 1), class A of #33's invariant (#33: 215 steps to K((1,1,3); 4, 1)). Rules, INV and closure are #33's unchanged. Orbit = kill #11's with one top-digit exponent +3 from macro step 54 on (not a premise).

Figures for Checkpoint A

Fig 1 · First 10,000 steps (site view)viewer ↗

The site's own picture. The tape grows to the left; the right end barely moves.

First 10,000 steps (site view)
bbchallenge-defaultStart blankRows every step, steps 0..10,000 squeezed into 500 rowsWindow cells -200..199, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: site canvas, bilinear: about 20 steps per row · Window: cell 0 = start cell, at column 200
Fig 2 · This machine at every left-edge visitQ1

Each row is the whole tape at a new leftmost cell. Watch the vertical walls: where they creep and jump.

This machine at every left-edge visit
bbchallenge-defaultStart blankRows left recordsWindow cells -1099..59, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: (each new leftmost cell): the start row plus 1,099 rows to step 300,000
Fig 3 · Parent #33, same view, for comparisonQ1

The same view of kill #33 itself. Compare the kind of walls with the previous figure, not their positions.

Parent #33, same view, for comparison
bbchallenge-defaultStart blankRows left records of kill #33Window cells -1059..55, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: (1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---, its own start A): the start row plus 1,059 rows to step 300,000
Rules (3/3 validated)exact tape rewrites the proof will formalize, each re-checked by simulation
rulefrom ⟶ tocasesstepschecked
init (blank -> first INV state)
0∞ A> 0∞
⟶ 0∞ <D 01 000 (01)8 (10)9 01 1001 0∞
= K((1,1,9); a=8, b=1), class A. Passes K-configs at 101, 234, 326, 426 (none in INV). Exact by direct simulation; Rocq solve_init in rocq/delta_check.v687✓1/1
M_k carry (k = trailing 1-bits)
0∞ <D (01)b 000 (01)a [(10)v_j (01)u_j]_{j=m..j*+1} (10)v 00 (01)u X
⟶ 0∞ <D (01)b+2 000 (01)a+1 [(10)v_j-1 00 (01)u_j]_{j=m..j*+1} (10)v-1 (01)u+1 X
#33's M with <C read as <D; v=1: the flipped digit drops (fuses with the next). check_proof A: 700 random; H: 37,220 link-by-link chains on this table32+8a+8b+4v+sum(8u_j+4v_j)✓37920/37920
O overflow (all bits 1)
0∞ <D (01)b 000 (01)a [(10)v_j (01)u_j]_{j=m..1} 1001 0∞
⟶ 0∞ <D 01 000 (01)b+3 (10)a (01)v_m [(10)u_j 00 (01)v_(j-1)-1]_{j=m..2} (10)u_1 00 1001 0∞
#33's O with <C read as <D; m>=1, all u,v>=1, a>=1. check_proof A: 350 random; H: 9,996 link-by-link chains (m=0 incl.)89-4m+8a+20b+4sum(u)+8sum(v)✓10346/10346
Compressed historythe tape as 0∞ <D (01)b 000 (01)a [(10)v_j (01)u_j]_{j=m..1} 1001 0∞ (all bits 1: the K just before each overflow; abstract model, equal to the real run to 1e9) at 36 moments: where the rules are read off
0∞ <D (01)b 000 (01)a [(10)v_j (01)u_j]_{j=m..1} 1001 0∞ (all bits 1: the K just before each overflow; abstract model, equal to the real run to 1e9)
stepmu_1..u_mv_1..v_mabINV class
68711981A
1,236111665C
1,929217104105A
3,7742127441413C
6,28331571,1482213A
13,42421,322283029C
17,87731,311121,9243813A
27,65823,6314243029C
32,98331,527352,8243813A
43,9643373,13122,0243029C
56,5934132,33136,282,4164629A
89,0623693,131161,6166261C
107,80341,171,92368,282,4487829A
148,560470,313,1631,412,8486261C
196,9095115,151,5636,928,244,8329461A
324,306471,319,4631,283,232126125C
398,8395113,113,9477,028,874,89615861A
562,380572,319,463,127104,241,696126125C
756,185611,173,131,127712,887,489,664190125A
1,267,742473,125,190,1278,166,464254253C
1,406,963519,197,1797.21·101328661A
1,659,75257.41·10136,125,648,224126125C
1,917,733617,156,363,2557.31·1015190125A
2,518,53867.51·101648,483,219,264254253C
3,255,85571.51·10137.41·1018382253A
5,251,71667.61·1016244,016,160,128510509C
6,470,41771.37·10127.51·1019638253A
9,142,9984392,382,382,5113,212,864,384510509C
9,463,859513,313,171,3993.91·101454261A
9,967,41653.93·10143.01·1012126125C
14,422,14863.95·10172.61·1015510509C
30,572,59273.97·10202.21·10181,0221,021C
92,222,26883.99·10251.81·10202,0462,045C
222,617,41694.01·10301.49·10252,0462,045C
513,032,53294.03·10311.08·10252,0462,045C
924,603,323111.98·10294.03·10396,1424,093A
mlast 11
1116879.2e8log xstep 687: m = 1step 1236: m = 1step 1929: m = 2step 3774: m = 2step 6283: m = 3step 13424: m = 2step 17877: m = 3step 27658: m = 2step 32983: m = 3step 43964: m = 3step 56593: m = 4step 89062: m = 3step 107803: m = 4step 148560: m = 4step 196909: m = 5step 324306: m = 4step 398839: m = 5step 562380: m = 5step 756185: m = 6step 1267742: m = 4step 1406963: m = 5step 1659752: m = 5step 1917733: m = 6step 2518538: m = 6step 3255855: m = 7step 5251716: m = 6step 6470417: m = 7step 9142998: m = 4step 9463859: m = 5step 9967416: m = 5step 14422148: m = 6step 30572592: m = 7step 92222268: m = 8step 222617416: m = 9step 513032532: m = 9step 924603323: m = 11
u_1..u_mlast 1.98·1029
4e3116879.2e8log-logstep 687: u_1..u_m = 1step 1236: u_1..u_m = 11step 1929: u_1..u_m = 17step 3774: u_1..u_m = 127step 6283: u_1..u_m = 157step 13424: u_1..u_m = 1322step 17877: u_1..u_m = 1311step 27658: u_1..u_m = 3631step 32983: u_1..u_m = 1527step 43964: u_1..u_m = 373131step 56593: u_1..u_m = 132331step 89062: u_1..u_m = 693131step 107803: u_1..u_m = 1171923step 148560: u_1..u_m = 70313163step 196909: u_1..u_m = 115151563step 324306: u_1..u_m = 71319463step 398839: u_1..u_m = 113113947step 562380: u_1..u_m = 72319463127step 756185: u_1..u_m = 11173131127step 1267742: u_1..u_m = 73125190127step 1406963: u_1..u_m = 19197179step 1659752: u_1..u_m = 74125190127255step 1917733: u_1..u_m = 17156363255step 2518538: u_1..u_m = 75125190127255127step 3255855: u_1..u_m = 15115547223127step 5251716: u_1..u_m = 76125190127255382step 6470417: u_1..u_m = 1374731191191step 9142998: u_1..u_m = 392382382511step 9463859: u_1..u_m = 13313171399step 9967416: u_1..u_m = 393382382511511step 14422148: u_1..u_m = 395382382511511382step 30572592: u_1..u_m = 397382382511511893511step 92222268: u_1..u_m = 39938238251151189315341023step 222617416: u_1..u_m = 4013828935118931534102320472047step 513032532: u_1..u_m = 40338289351124273070204720474095step 924603323: u_1..u_m = 198323120722395989576735832047
v_1..v_mlast 4.03·1039
4e3966879.2e8log-logstep 687: v_1..v_m = 9step 1236: v_1..v_m = 6step 1929: v_1..v_m = 104step 3774: v_1..v_m = 44step 6283: v_1..v_m = 1148step 13424: v_1..v_m = 28step 17877: v_1..v_m = 121924step 27658: v_1..v_m = 424step 32983: v_1..v_m = 352824step 43964: v_1..v_m = 22024step 56593: v_1..v_m = 36282416step 89062: v_1..v_m = 161616step 107803: v_1..v_m = 68282448step 148560: v_1..v_m = 1412848step 196909: v_1..v_m = 6928244832step 324306: v_1..v_m = 1283232step 398839: v_1..v_m = 7028874896step 562380: v_1..v_m = 104241696step 756185: v_1..v_m = 712887489664step 1267742: v_1..v_m = 8166464step 1406963: v_1..v_m = 72122183112224step 1659752: v_1..v_m = 6125648224step 1917733: v_1..v_m = 7312218311222464step 2518538: v_1..v_m = 48483219264step 3255855: v_1..v_m = 7412218311222464128step 5251716: v_1..v_m = 244016160128step 6470417: v_1..v_m = 75122183112224319384step 9142998: v_1..v_m = 3212864384step 9463859: v_1..v_m = 391379375496480step 9967416: v_1..v_m = 3012456368480step 14422148: v_1..v_m = 2611640336416128step 30572592: v_1..v_m = 2210824304352256256step 92222268: v_1..v_m = 181008272288128512512step 222617416: v_1..v_m = 14922482403232012812801536step 513032532: v_1..v_m = 10842322082249608967683584step 924603323: v_1..v_m = 4e39
alast 6,142
6,14266879.2e8log xstep 687: a = 8step 1236: a = 6step 1929: a = 10step 3774: a = 14step 6283: a = 22step 13424: a = 30step 17877: a = 38step 27658: a = 30step 32983: a = 38step 43964: a = 30step 56593: a = 46step 89062: a = 62step 107803: a = 78step 148560: a = 62step 196909: a = 94step 324306: a = 126step 398839: a = 158step 562380: a = 126step 756185: a = 190step 1267742: a = 254step 1406963: a = 286step 1659752: a = 126step 1917733: a = 190step 2518538: a = 254step 3255855: a = 382step 5251716: a = 510step 6470417: a = 638step 9142998: a = 510step 9463859: a = 542step 9967416: a = 126step 14422148: a = 510step 30572592: a = 1022step 92222268: a = 2046step 222617416: a = 2046step 513032532: a = 2046step 924603323: a = 6142
blast 4,093
4,09316879.2e8log xstep 687: b = 1step 1236: b = 5step 1929: b = 5step 3774: b = 13step 6283: b = 13step 13424: b = 29step 17877: b = 13step 27658: b = 29step 32983: b = 13step 43964: b = 29step 56593: b = 29step 89062: b = 61step 107803: b = 29step 148560: b = 61step 196909: b = 61step 324306: b = 125step 398839: b = 61step 562380: b = 125step 756185: b = 125step 1267742: b = 253step 1406963: b = 61step 1659752: b = 125step 1917733: b = 125step 2518538: b = 253step 3255855: b = 253step 5251716: b = 509step 6470417: b = 253step 9142998: b = 509step 9463859: b = 61step 9967416: b = 125step 14422148: b = 509step 30572592: b = 1021step 92222268: b = 2045step 222617416: b = 2045step 513032532: b = 2045step 924603323: b = 4093
INV classlast A
not plottable
Template comparisonour: applies · the nearest solved proof, what carries over, and the transitions that differ
01
A1RB0LD
B1RC0RE
C1LD0RE
D1LA0LA
E1RB1RF
F1RB---
file
—
module
our kill #33 (machines/1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---/, check_kill PASS)
machine
1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA--- (7 transitions apart)
diff
0 transitions after renaming #33's A,B,C,D,E,F -> B,C,D,A,E,F (no mirror); only the start differs (#33's D)
note
Same table, so #33's window lemmas, M, O and INV (proved in Rocq) apply verbatim with the K head state C -> D. Only init changes: 687 steps to K [d1 1 9] 8 1. The renamed .v compiles as a scratch file (rocq/delta_check.v, closed); check_kill not run yet.
Proof strategy & riskshow the formal proof will go · 3 risks to watch

Delta proof (proof.md): Lemma R (renaming) + #33's rules and invariant verbatim + a new 687-step init to K((1,1,9);8,1), class A. Formal: #33's .v with {{X}} renamed by sigma, new init/base (rocq/delta_check.v compiles in 8.8 s). Next: copy it to the kill path and run check_kill.

  • ▲Duplicate work: unclaimed in the sheet and our Discord lists, but Discord #bb6 was not searched for this string.
  • ▲Same family as kills #11 and #33 (and hipparcos's line 541): post them together so the twins paragraphs agree.
  • ▲Little math risk: the base is in class A and every INV clause there is a lower bound.
Stats & provenance109 steps simulated · 77,691 cells · the status in full · files
simulated
109 steps
tape
77,691 cells · 38,839 nonzeros
growth
left edge ~2.45 t^0.5 (77,517 cells left of the start by 1e9); right edge 173 (+3 cells per overflow, 53 overflows by 1e9)
status now
check_kill PASS, independently re-verified (status.json, 2026-10-10)
observer's note
Same table as kill #33 (renaming BCDAEF, no mirror, D-start). Rules and INV unchanged; 687-step init to class A; closure exact on the real run. Delta proof.md written (CHECKPOINT_B in status.json).
files
observe.json · notes.md · proof.md · how_proved.md · status.json · 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.v

Proof & checks

6/6 automatic checks pass

Kill 10 · Skelet 1-like Class 2 · the kill file 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.v: 673 lines, 102 items · the package submission/

✓ 6/6 automatic checks pass · Checkpoint B: no note from Dennis yet · template (twin: parent kill's .v): #33's kill file (kill 9) · 93% of our lines identical · vs #33: same table, started in #33's D; different orbit
1What is provedCheck: the string, the theorem and every check_kill line are green, and the .v on disk is the one that was checked (same sha256).
Machine
1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---
vs holdout list
✓ byte-exact: the .v literal (L24) == 2026-10-07_778.txt line 388 (41 bytes, via tools/holdouts.py)
Theorem
✓ Lemma nonhalt: ~halts tm c0. L641
check_kill
✓ PASS · 17/17 checks pass · compile 8.59 s · coqchk pass (1.78 s) · assumptions: 0 (closed) · 2026-10-13 01:18:17 UTC · submission/check_kill.txt
Checked .v
sha256 f2bc59ed320c2e4f…
✓1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.vf2bc59ed320c2e4f… = checked
✓submission/1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.vf2bc59ed320c2e4f… = checked
Status
✓Killed: never halts updated 2026-10-10
✓ args✓ input✓ framework✓ framework_build✓ forbidden✓ structure✓ tm_text✓ theorem_text✓ coq✓ names✓ compile✓ tm_rocq✓ theorem_rocq✓ isolation✓ assumptions✓ coqchk✓ integrity
All 17 check_kill checks with their one-line results
✓args6x2 machine, framework module Individual62, mode nonhalt
✓input30448 bytes, 673 lines, 744 sentences
✓frameworkHEAD 0940bb9cf434ba68f0c025dabfde45a219999973 == pin; no tracked changes under verify/
✓framework_build13 needed framework .vo files present and fresh, with native code no older than the .vo
✓forbiddennone of 30 forbidden patterns occur (ground rule 1's words: anywhere; command words: outside comments and strings; comments never split a token)
✓structure6 Require name(s) allowed; no top-level Variable/Context; no shadowing; Module/Section balanced
✓tm_textline 24: TM_from_str "1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---" == <tm> (41 bytes)
✓theorem_textline 641: nonhalt : ~halts tm c0
✓coqcoqc 8.20.1 ([local working file]
✓nameshalts, c0, TM_from_str resolved inside Individual62
✓compilecompiled in 8.6s with all appended checks
✓tm_rocqBB6Kill.Candidate.tm = BusyCoq.Individual62.TM_from_str "1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---" by eq_refl (in-file and isolated)
✓theorem_rocqnonhalt : ~ halts (TM_from_str "1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---") c0 with absolute names (in-file and isolated)
✓isolationonly stock proof plugins loaded; guard/positivity/universe checking on, definitional UIP off
✓assumptions0 assumption(s), all in the baseline
✓coqchkcoqchk -norec BB6Kill.Candidate ok (1.8s); its context summary lists nothing of the file's own
✓integrityinput sha256 and framework HEAD/cleanliness identical before and after
2Same machine as #33?Check: every row of the table is ✓ under the computed renaming (or the listed differences are what status.json's relation says), the two pictures show the same bands, and the trajectory numbers agree with the claimed relation (a twin keeps a fixed small offset; a sibling's gap grows).

status.json names #33 as the parent (1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---); label: “#33b”; relation: “same transition table as #33 (states renamed), started in a different state; found by the family sweep”; parent_note: “#33; = #11 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD--- mirrored”. Everything below is computed from the two machine strings, not read from notes.

✓ Identical to #33's table under the renaming A→B, B→C, C→D, D→A, E→E, F→F (#33's state → this machine's), no mirror. This machine starts in #33's state D (#33 itself starts in A). The only such map.

#33#33's row (read 0, read 1)σpredicted row: renamed by σthis machine's actual row
A1RB 0RE→ B1RC 0RE1RC 0RE✓start of #33
B1LC 0RE→ C1LD 0RE1LD 0RE✓
C1LD 0LD→ D1LA 0LA1LA 0LA✓
D1RA 0LC→ A1RB 0LD1RB 0LD✓start of this machine
E1RA 1RF→ E1RB 1RF1RB 1RF✓
F1RA ---→ F1RB ---1RB ---✓

Rows aligned by σ: each of #33's states X sits next to this machine's state σ(X). ✓ = the actual row equals #33's row with every target state renamed by σ; --- (halt) must stay ---. Searched: all 720 renamings × with/without mirror.

Fig P1 · bbchallenge default view: #33 and this machine, first 10,000 steps

Same view, same settings on both sides. Look for the same band structure: it starts in #33's state D, not A, so the first steps differ; the numbers below read: different orbit, so expect the same kind of bands, not the same picture.

#33 (parent), from blank in its A
default view of 1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---
this machine (#33b), from blank in its A = #33's D
default view of 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---
bbchallenge-defaultStart blankRows steps 0 → 10,000, top to bottomWindow cells −200..199, left to rightColors 1 0 or unvisited
tools/diagram.py <tm> --as-site (the site's 400×500 canvas)
Fig P2 · Long run, Blaze (speed): #33 and this machine, 100 million steps

The macro behaviour, identical settings on both sides: each picture is its machine's own visited span stretched to 800 px, so compare the shape and order of the bands, not their absolute width. Speed mode samples one cell per column, so a one-cell shift can swap orange and white inside a band; compare band edges, not colours.

#33 (parent), from blank in its A
blaze view of 1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---
763 rows of 131,072 steps · 1,430 columns, every 16th cell · nonzeros 11,433 at 1e8
this machine (#33b), from blank in its A = #33's D
blaze view of 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---
763 rows of 131,072 steps · 1,503 columns, every 16th cell · nonzeros 12,019 at 1e8
bbchallenge-blazeStart blankRows steps 0 → 1e8Window the visited spanColors 1 0 at the sampled cell
Rows: one snapshot per row (Blaze time blocks), stretched to 500 px · Window: every k-th cell sampled, stretched to 800 px
tools/diagram.py <tm> --mode blaze --speed --as-site --steps 1e8

Trajectory numbers, from blank (C core)

○ different orbit: 1.9% wider at 1e9 (77,691 vs 76,245 cells; nonzeros 38,839 vs 38,119); not a fixed offset: the cell gap reaches +1,446

stepscells visited (hi − lo + 1)nonzeros
#33thisratio (Δ)#33thisratio (Δ)
1e56396531.0219 (+14)3193241.0157 (+5)
1e62,2192,1310.9603 (-88)1,1071,0620.9593 (-45)
1e77,3717,0050.9503 (-366)3,6833,5020.9509 (-181)
1e822,86324,0371.0513 (+1,174)11,43212,0181.0513 (+586)
1e976,24577,6911.0190 (+1,446)38,11938,8391.0189 (+720)

Each machine from blank in its own start state, sim.py C core. Trajectory twin = cells and nonzeros stay within 16 of the parent's at every checkpoint (a fixed offset from a different start, not a growing gap). Cached in img/vs-parent.json (2026-10-16 10:28 PDT); --force recomputes.

3Where it came fromCheck: the template is the one you expect, and the measured reuse (tiles, the reuse figure, diff) agrees with what the README says was kept and changed (quoted).
twin: parent kill's .v #33's kill file (kill 9) machines/1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---/1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---.v · detected from status.json
93%of our lines identical to the template
43changed lines
0added lines (ours only)
0template lines dropped
73 / 29 / 0items identical / adapted / new
What the package README says it reused and changed (submission/README.md line 20, Template and what changed), quoted:

It extends our kill #33's .v, verify/Skelet1LikeC2_1RB0RE_1LC0RE.v (671 lines). That file ports #11's .v, verify/Skelet1LikeC2_1RB0LE_1RC0RC.v, which follows the architecture of busycoq SBCv6.v Module TM21 (carries plus a re-pairing overflow). A script applied proof.md §5, with no hand edits to the code:

  • the TM string;
  • σ on every state name: {{A}}->{{B}} (5), {{C}}->{{D}} (22), {{D}}->{{A}} (18), with {{E}} (18) unchanged;
  • init (687 steps to K [d1 1 9] 8 1, against #33's 215 to K [d1 1 3] 4 1) and the base in nonhalt, closed by #33's own tactic line;
  • the header and the comments.

Every proof script, the three rule specs and the invariant part are #33's text. It compiled on the first try, and no tactic was changed. The file is 673 lines, imports only Individual62 from busycoq, and has one TM_from_str. It is a direct proof on the holdout string, with no Flip/Permute bridge.

Fig P3 · Reuse of the template, line by line and by name

Top two bars: non-blank lines after the TM string is replaced by <TM> and whitespace is collapsed. Bottom bar: our Definitions/Lemmas/… by name.

ours 574 lines
93% identical · 43 changed · 0 added
template 574 lines
93% kept verbatim · 0 not in ours
our items 102
73 identical · 29 adapted · 0 new · 0 template-only
identicalchanged / adaptedours only (new)template only
Template part: whole file, lines 15–671 (leading comment left out). Ours: lines 17–673 (header comment 1–16 left out). Line diff: Python difflib SequenceMatcher; inside a replaced block, line pairs at least 75% alike count as changed, the rest as removed + added.

Other references found:

Side-by-side diff: template (574 lines) vs ours (574 lines), 43 lines differ; runs of identical lines and long template-only runs folded
identicalequal once each TM string is <TM>changedours onlytemplate only
templateours
16From BusyCoq Require Import Individual62.18From BusyCoq Require Import Individual62.
17Require Import ZifyNat Lia.19Require Import ZifyNat Lia.
⋯ 7 identical lines (template 18–26, ours 20–28)
28Open Scope list.30Open Scope list.
30(* ---------- shift lemmas (one block, then shift_rule_L/R) ---------- *)32(* ---------- shift lemmas (one block, then shift_rule_L/R) ---------- *)
31Lemma S1_1 l r: l <* [0;1] <{{C}} [] *> r -->* l <{{C}} [] *> [0;1] *> r. Proof. es. Qed.33Lemma S1_1 l r: l <* [0;1] <{{D}} [] *> r -->* l <{{D}} [] *> [0;1] *> r. Proof. es. Qed.
32Lemma S2_1 l r: l <* [1;0] <{{D}} [] *> r -->* l <{{D}} [] *> [1;0] *> r. Proof. es. Qed.34Lemma S2_1 l r: l <* [1;0] <{{A}} [] *> r -->* l <{{A}} [] *> [1;0] *> r. Proof. es. Qed.
33Lemma S3_1 l r: l <* [] {{A}}> [1;0] *> r -->* l <* [1;0] <* [] {{A}}> r. Proof. es. Qed.35Lemma S3_1 l r: l <* [] {{B}}> [1;0] *> r -->* l <* [1;0] <* [] {{B}}> r. Proof. es. Qed.
34Lemma S4_1 l r: l <* [] {{E}}> [0;1] *> r -->* l <* [0;1] <* [] {{E}}> r. Proof. es. Qed.36Lemma S4_1 l r: l <* [] {{E}}> [0;1] *> r -->* l <* [0;1] <* [] {{E}}> r. Proof. es. Qed.
35Lemma S6_1 l r: l <* [1;0] <{{C}} [0] *> r -->* l <{{C}} [0] *> [0;1] *> r. Proof. es. Qed.37Lemma S6_1 l r: l <* [1;0] <{{D}} [0] *> r -->* l <{{D}} [0] *> [0;1] *> r. Proof. es. Qed.
36Lemma S5_1 l r: l <* [0;1] <* [1;1] <{{D}} r -->* l <* [1;1] <{{D}} [0;1] *> r. Proof. es. Qed.38Lemma S5_1 l r: l <* [0;1] <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} [0;1] *> r. Proof. es. Qed.
38Definition S1 := shift_rule_L _ _ _ _ _ S1_1.40Definition S1 := shift_rule_L _ _ _ _ _ S1_1.
39Definition S2 := shift_rule_L _ _ _ _ _ S2_1.41Definition S2 := shift_rule_L _ _ _ _ _ S2_1.
40Definition S3 := shift_rule_R _ _ _ _ _ S3_1.42Definition S3 := shift_rule_R _ _ _ _ _ S3_1.
41Definition S4 := shift_rule_R _ _ _ _ _ S4_1.43Definition S4 := shift_rule_R _ _ _ _ _ S4_1.
42Definition S6 := shift_rule_L _ _ _ _ _ S6_1.44Definition S6 := shift_rule_L _ _ _ _ _ S6_1.
44Lemma S5 n: forall l r, l <* [0;1]^^n <* [1;1] <{{D}} r -->* l <* [1;1] <{{D}} [0;1]^^n *> r.46Lemma S5 n: forall l r, l <* [0;1]^^n <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} [0;1]^^n *> r.
45Proof.47Proof.
46 induction n; intros.48 induction n; intros.
⋯ 2 identical lines (template 47–48, ours 49–50)
49Qed.51Qed.
51(* ---------- finite turns ---------- *)53(* ---------- finite turns ---------- *)
52Lemma T1 r: 0inf <{{C}} r -->* 0inf <* [0;1] {{E}}> r. Proof. es. Qed.54Lemma T1 r: 0inf <{{D}} r -->* 0inf <* [0;1] {{E}}> r. Proof. es. Qed.
53Lemma T2 l r: l {{E}}> [0;0;0] *> r -->* l <{{C}} [0;0;1] *> r. Proof. es. Qed.55Lemma T2 l r: l {{E}}> [0;0;0] *> r -->* l <{{D}} [0;0;1] *> r. Proof. es. Qed.
54Lemma T3 l r: l {{E}}> [0;0;1] *> r -->* l <* [0;1;1] {{E}}> r. Proof. es. Qed.56Lemma T3 l r: l {{E}}> [0;0;1] *> r -->* l <* [0;1;1] {{E}}> r. Proof. es. Qed.
55Lemma T4 l r: l {{E}}> [1;0] *> r -->* l <* [1;1] {{A}}> r. Proof. es. Qed.57Lemma T4 l r: l {{E}}> [1;0] *> r -->* l <* [1;1] {{B}}> r. Proof. es. Qed.
56Lemma T5 l r: l {{A}}> [0;1] *> r -->* l <* [0;1] {{E}}> r. Proof. es. Qed.58Lemma T5 l r: l {{B}}> [0;1] *> r -->* l <* [0;1] {{E}}> r. Proof. es. Qed.
57Lemma T6 l r: l {{A}}> [0;0] *> r -->* l <{{D}} [0;1] *> r. Proof. es. Qed.59Lemma T6 l r: l {{B}}> [0;0] *> r -->* l <{{A}} [0;1] *> r. Proof. es. Qed.
58Lemma T7 l r: l <* [1;1] <{{D}} r -->* l <{{D}} [0;0] *> r. Proof. es. Qed.60Lemma T7 l r: l <* [1;1] <{{A}} r -->* l <{{A}} [0;0] *> r. Proof. es. Qed.
59Lemma T8 l r: l <* [1;1;0;1;1] <{{D}} r -->* l <{{C}} [0;0;0;0;1] *> r. Proof. es. Qed.61Lemma T8 l r: l <* [1;1;0;1;1] <{{A}} r -->* l <{{D}} [0;0;0;0;1] *> r. Proof. es. Qed.
60Lemma T9 l: l {{E}}> [1;0;0;1] *> 0inf -->* l <{{C}} [0;0;0] *> [1;0;0;1] *> 0inf. Proof. es. Qed.62Lemma T9 l: l {{E}}> [1;0;0;1] *> 0inf -->* l <{{D}} [0;0;0] *> [1;0;0;1] *> 0inf. Proof. es. Qed.
61Lemma T10 l r: l <* [1;1] <{{C}} r -->* l <{{C}} [0;0] *> r. Proof. es. Qed.63Lemma T10 l r: l <* [1;1] <{{D}} r -->* l <{{D}} [0;0] *> r. Proof. es. Qed.
62Lemma T11 l r: l <* [0] <{{C}} r -->* l <{{D}} [1] *> r. Proof. es. Qed.64Lemma T11 l r: l <* [0] <{{D}} r -->* l <{{A}} [1] *> r. Proof. es. Qed.
63Lemma T12 r: 0inf <* [1;1] <{{D}} r -->* 0inf <* [0;1;1;0;1] {{E}}> r. Proof. es. Qed.65Lemma T12 r: 0inf <* [1;1] <{{A}} r -->* 0inf <* [0;1;1;0;1] {{E}}> r. Proof. es. Qed.
64Lemma T13 l r: l {{E}}> [1;0;1] *> r -->* l <* [0;1;1] {{E}}> r. Proof. es. Qed.66Lemma T13 l r: l {{E}}> [1;0;1] *> r -->* l <* [0;1;1] {{E}}> r. Proof. es. Qed.
65Lemma T14 l r: l <* [1;1;0;1] <{{C}} r -->* l <{{C}} [0;1;0;0] *> r. Proof. es. Qed.67Lemma T14 l r: l <* [1;1;0;1] <{{D}} r -->* l <{{D}} [0;1;0;0] *> r. Proof. es. Qed.
67(* ---------- digit lemmas (write-up section 2.1), mirrored from the parent ---------- *)69(* ---------- digit lemmas (P section 2.1), the parent's renamed by sigma ---------- *)
68Lemma rot01 n (Y : side) : [0;1]^^n *> (0 >> Y) = 0 >> ([1;0]^^n *> Y).70Lemma rot01 n (Y : side) : [0;1]^^n *> (0 >> Y) = 0 >> ([1;0]^^n *> Y).
69Proof. induction n; cbn; [reflexivity|]. rewrite IHn. reflexivity. Qed.71Proof. induction n; cbn; [reflexivity|]. rewrite IHn. reflexivity. Qed.
⋯ 7 identical lines (template 70–77, ours 72–79)
79Lemma Lf u v l r:81Lemma Lf u v l r:
80 l {{E}}> [1;0]^^(S v) *> [0;0] *> [0;1]^^u *> r -->*82 l {{E}}> [1;0]^^(S v) *> [0;0] *> [0;1]^^u *> r -->*
81 l <* [1;1] <{{D}} [1;0]^^v *> [0;1]^^(S u) *> r.83 l <* [1;1] <{{A}} [1;0]^^v *> [0;1]^^(S u) *> r.
82Proof. follow T4. follow S3. follow T6. follow S2. fin. Qed.84Proof. follow T4. follow S3. follow T6. follow S2. fin. Qed.
84Lemma Rb u v l r:86Lemma Rb u v l r:
85 l <* [1;1] <* [1;0]^^v <* [0;1]^^u <* [1;1] <{{D}} r -->*87 l <* [1;1] <* [1;0]^^v <* [0;1]^^u <* [1;1] <{{A}} r -->*
86 l <* [1;1] <{{D}} [1;0]^^v *> [0;0] *> [0;1]^^u *> r.88 l <* [1;1] <{{A}} [1;0]^^v *> [0;0] *> [0;1]^^u *> r.
87Proof. follow S5. follow T7. follow S2. fin. Qed.89Proof. follow S5. follow T7. follow S2. fin. Qed.
89Lemma Ro u v l r:91Lemma Ro u v l r:
90 l <* [1;1] <* [1;0]^^v <* [0;1]^^(S u) <{{C}} [0;0;0] *> r -->*92 l <* [1;1] <* [1;0]^^v <* [0;1]^^(S u) <{{D}} [0;0;0] *> r -->*
91 l <{{C}} [0;0;0] *> [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> r.93 l <{{D}} [0;0;0] *> [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> r.
92Proof. follow S1. follow S6. follow T10. fin. Qed.94Proof. follow S1. follow S6. follow T10. fin. Qed.
94(* ---------- the family K and the initial segment (write-up sections 1, 4) ---------- *)96(* ---------- the family K (P section 1) and the initial segment (write-up section 2) ---------- *)
95Inductive dg := d0 (u v : nat) | d1 (u v : nat).97Inductive dg := d0 (u v : nat) | d1 (u v : nat).
97(* right-side lists are nearest-cell first: d0 u v reads (10)^v 00 (01)^u from the head side *)99(* right-side lists are nearest-cell first: d0 u v reads (10)^v 00 (01)^u from the head side *)
⋯ 11 identical lines (template 98–109, ours 100–111)
111Definition R0 : side := [1;0;0;1] *> 0inf.113Definition R0 : side := [1;0;0;1] *> 0inf.
113Definition K (ds : list dg) (a b : nat) : Q * tape :=115Definition K (ds : list dg) (a b : nat) : Q * tape :=
114 0inf <{{C}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> app_ds R0 ds.116 0inf <{{D}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> app_ds R0 ds.
116Lemma init: c0 -->* K [d1 1 3] 4 1.118Lemma init: c0 -->* K [d1 1 9] 8 1.
117Proof. unfold K, R0. cbn. solve_init. Qed.119Proof. unfold K, R0. cbn. solve_init. Qed.
119(* ---------- the parent's orientation-free list definitions, verbatim ---------- *)121(* ---------- the parent's orientation-free list definitions, verbatim ---------- *)
120Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.122Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.
121Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.123Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.
123(* ---------- the list sweeps (mirrors of the parent's LbS, RbS, RoS) ---------- *)125(* ---------- the list sweeps (the parent's LbS, RbS, RoS, renamed by sigma) ---------- *)
124(* left-side accumulator: what Lb leaves behind for each all-ones digit (u+1,1,v+1) *)126(* left-side accumulator: what Lb leaves behind for each all-ones digit (u+1,1,v+1) *)
125Fixpoint rw (os : list (nat*nat)) (l : side) : side :=127Fixpoint rw (os : list (nat*nat)) (l : side) : side :=
⋯ 10 identical lines (template 126–137, ours 128–139)
138 - cbn [map1 map app_ds dr rw]. follow Lb. apply IH.140 - cbn [map1 map app_ds dr rw]. follow Lb. apply IH.
139Qed.141Qed.
141Lemma RbS os: forall l r, rw os l <* [1;1] <{{D}} r -->* l <* [1;1] <{{D}} app_ds r (map0 os).143Lemma RbS os: forall l r, rw os l <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} app_ds r (map0 os).
142Proof.144Proof.
143 induction os as [|[u v] t IH]; intros.145 induction os as [|[u v] t IH]; intros.
⋯ 6 identical lines (template 144–150, ours 146–152)
151 | (u,v) :: t => [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> ro_out t r153 | (u,v) :: t => [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> ro_out t r
152 end.154 end.
154Lemma RoS os: forall l r, rw os l <{{C}} [0;0;0] *> r -->* l <{{C}} [0;0;0] *> ro_out os r.156Lemma RoS os: forall l r, rw os l <{{D}} [0;0;0] *> r -->* l <{{D}} [0;0;0] *> ro_out os r.
155Proof.157Proof.
156 induction os as [|[u v] t IH]; intros.158 induction os as [|[u v] t IH]; intros.
⋯ 17 identical lines (template 157–176, ours 159–178)
177 - cbn [ro_out Oz app_ds dr]. rewrite <- IH. reflexivity.179 - cbn [ro_out Oz app_ds dr]. rewrite <- IH. reflexivity.
178Qed.180Qed.
180(* ---------- edge chunks (mirrors of the parent's chunkA, chunkC, chunkO) ---------- *)182(* ---------- edge chunks (the parent's chunkA, chunkC, chunkO, renamed by sigma) ---------- *)
181(* left-edge chunk shared by M and O: <C (01)^b 000 (01)^a -> (10)^(b+2) 110 (10)^a E> *)183(* left-edge chunk shared by M and O: <D (01)^b 000 (01)^a -> (10)^(b+2) 110 (10)^a E> *)
182Lemma chunkA a b r:184Lemma chunkA a b r:
183 0inf <{{C}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> r -->+185 0inf <{{D}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> r -->+
184 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a {{E}}> r.186 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a {{E}}> r.
185Proof. es. Qed.187Proof. es. Qed.
187(* end of M: (10)^(b+2) 110 (10)^a 11 <D -> <C (01)^(b+2) 000 (01)^(a+1) *)189(* end of M: (10)^(b+2) 110 (10)^a 11 <A -> <D (01)^(b+2) 000 (01)^(a+1) *)
188Lemma chunkC a b r:190Lemma chunkC a b r:
189 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a <* [1;1] <{{D}} r -->*191 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a <* [1;1] <{{A}} r -->*
190 0inf <{{C}} [0;1]^^(S (S b)) *> [0;0;0] *> [0;1]^^(S a) *> r.192 0inf <{{D}} [0;1]^^(S (S b)) *> [0;0;0] *> [0;1]^^(S a) *> r.
191Proof.193Proof.
192 follow S5. follow T8. follow S1. fin.194 follow S5. follow T8. follow S1. fin.
193Qed.195Qed.
195(* end of O: (10)^(b+2) 110 (10)^(a+1) <C 000 -> <C 01 000 (01)^(b+3) (10)^(a+1) 01 *)197(* end of O: (10)^(b+2) 110 (10)^(a+1) <D 000 -> <D 01 000 (01)^(b+3) (10)^(a+1) 01 *)
196Lemma chunkO a b r:198Lemma chunkO a b r:
197 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^(S a) <{{C}} [0;0;0] *> r -->*199 0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^(S a) <{{D}} [0;0;0] *> r -->*
198 0inf <{{C}} [0;1] *> [0;0;0] *> [0;1]^^(S (S (S b))) *> [1;0]^^(S a) *> [0;1] *> r.200 0inf <{{D}} [0;1] *> [0;0;0] *> [0;1]^^(S (S (S b))) *> [1;0]^^(S a) *> [0;1] *> r.
199Proof.201Proof.
200 follow S1. follow T11. follow S5. follow T12. follow S4. follow T13. follow S4. follow T2. follow S1. follow S1_1.202 follow S1. follow T11. follow S5. follow T12. follow S4. follow T13. follow S4. follow T2. follow S1. follow S1_1.
⋯ 42 identical lines (template 201–245, ours 203–247)
246 apply evstep_refl'. cbn [Oout app_ds dr ro_out]. rewrite <- Ozeq. reflexivity.248 apply evstep_refl'. cbn [Oout app_ds dr ro_out]. rewrite <- Ozeq. reflexivity.
247Qed.249Qed.
249(* ================= abstract invariant (write-up section 3) ================= *)251(* ================= abstract invariant (P section 3) ================= *)
250Open Scope nat_scope.252Open Scope nat_scope.
252Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.254Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.
⋯ 346 identical lines (template 253–639, ours 255–641)
640Proof.642Proof.
641 eapply multistep_nonhalt; [apply init|].643 eapply multistep_nonhalt; [apply init|].
642 change (K [d1 1 3] 4 1) with (Kc ([d1 1 3], 4, 1)).644 change (K [d1 1 9] 8 1) with (Kc ([d1 1 9], 8, 1)).
643 apply progress_nonhalt_cond with (P := INV).645 apply progress_nonhalt_cond with (P := INV).
644 - exact macro_step.646 - exact macro_step.
⋯ 4 identical lines (template 645–650, ours 647–652)
651```653```
6521RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---6541RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---
654K(d_1 .. d_m; a, b) := 0^inf <C (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf656K(d_1 .. d_m; a, b) := 0^inf <D (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf
655digit (u,0,v) := (10)^v 00 (01)^u, (u,1,v) := (10)^v (01)^u (d_m least significant)657digit (u,0,v) := (10)^v 00 (01)^u, (u,1,v) := (10)^v (01)^u (d_m least significant)
656start: 0^inf A> 0^inf -->* K((1,1,3); 4, 1) (step 215)658start: 0^inf A> 0^inf -->* K((1,1,9); 8, 1) (step 687)
658M (j* = last bit-0 digit):660M (j* = last bit-0 digit):
659 K(.., (u,0,v), (u_j,1,v_j)_{j>j*}; a, b) -->+ K(.., (u+1,1,v-1), (u_j,0,v_j-1)_{j>j*}; a+1, b+2)661 K(.., (u,0,v), (u_j,1,v_j)_{j>j*}; a, b) -->+ K(.., (u+1,1,v-1), (u_j,0,v_j-1)_{j>j*}; a+1, b+2)
⋯ 9 identical lines (template 660–669, ours 662–671)
670```672```
671*)673*)
4Proof outlineCheck: the new items (green) carry the argument; the names read like the proof.md rules.

102 items in 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.v (673 lines): 72 Lemma, 23 Definition, 6 Fixpoint, 1 Inductive. Tags against the template: identical = same name and same text once each file's own TM string is <TM> (marked "except the TM string" when that is the only difference); adapted = same name, different text; new = no item of that name in the template part.

#kindnamestatement (no proof body)linevs template
1Definitiontm
Definition tm := Eval compute in (TM_from_str "1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---").
L24identicalexcept the TM string
2LemmaS1_1
Lemma S1_1 l r: l <* [0;1] <{{D}} [] *> r -->* l <{{D}} [] *> [0;1] *> r.
L33adapted
3LemmaS2_1
Lemma S2_1 l r: l <* [1;0] <{{A}} [] *> r -->* l <{{A}} [] *> [1;0] *> r.
L34adapted
4LemmaS3_1
Lemma S3_1 l r: l <* [] {{B}}> [1;0] *> r -->* l <* [1;0] <* [] {{B}}> r.
L35adapted
5LemmaS4_1
Lemma S4_1 l r: l <* [] {{E}}> [0;1] *> r -->* l <* [0;1] <* [] {{E}}> r.
L36identical
6LemmaS6_1
Lemma S6_1 l r: l <* [1;0] <{{D}} [0] *> r -->* l <{{D}} [0] *> [0;1] *> r.
L37adapted
7LemmaS5_1
Lemma S5_1 l r: l <* [0;1] <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} [0;1] *> r.
L38adapted
8DefinitionS1
Definition S1 := shift_rule_L _ _ _ _ _ S1_1.
L40identical
9DefinitionS2
Definition S2 := shift_rule_L _ _ _ _ _ S2_1.
L41identical
10DefinitionS3
Definition S3 := shift_rule_R _ _ _ _ _ S3_1.
L42identical
11DefinitionS4
Definition S4 := shift_rule_R _ _ _ _ _ S4_1.
L43identical
12DefinitionS6
Definition S6 := shift_rule_L _ _ _ _ _ S6_1.
L44identical
13LemmaS5
Lemma S5 n: forall l r, l <* [0;1]^^n <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} [0;1]^^n *> r.
L46adapted
14LemmaT1
Lemma T1 r: 0inf <{{D}} r -->* 0inf <* [0;1] {{E}}> r.
L54adapted
15LemmaT2
Lemma T2 l r: l {{E}}> [0;0;0] *> r -->* l <{{D}} [0;0;1] *> r.
L55adapted
16LemmaT3
Lemma T3 l r: l {{E}}> [0;0;1] *> r -->* l <* [0;1;1] {{E}}> r.
L56identical
17LemmaT4
Lemma T4 l r: l {{E}}> [1;0] *> r -->* l <* [1;1] {{B}}> r.
L57adapted
18LemmaT5
Lemma T5 l r: l {{B}}> [0;1] *> r -->* l <* [0;1] {{E}}> r.
L58adapted
19LemmaT6
Lemma T6 l r: l {{B}}> [0;0] *> r -->* l <{{A}} [0;1] *> r.
L59adapted
20LemmaT7
Lemma T7 l r: l <* [1;1] <{{A}} r -->* l <{{A}} [0;0] *> r.
L60adapted
21LemmaT8
Lemma T8 l r: l <* [1;1;0;1;1] <{{A}} r -->* l <{{D}} [0;0;0;0;1] *> r.
L61adapted
22LemmaT9
Lemma T9 l: l {{E}}> [1;0;0;1] *> 0inf -->* l <{{D}} [0;0;0] *> [1;0;0;1] *> 0inf.
L62adapted
23LemmaT10
Lemma T10 l r: l <* [1;1] <{{D}} r -->* l <{{D}} [0;0] *> r.
L63adapted
24LemmaT11
Lemma T11 l r: l <* [0] <{{D}} r -->* l <{{A}} [1] *> r.
L64adapted
25LemmaT12
Lemma T12 r: 0inf <* [1;1] <{{A}} r -->* 0inf <* [0;1;1;0;1] {{E}}> r.
L65adapted
26LemmaT13
Lemma T13 l r: l {{E}}> [1;0;1] *> r -->* l <* [0;1;1] {{E}}> r.
L66identical
27LemmaT14
Lemma T14 l r: l <* [1;1;0;1] <{{D}} r -->* l <{{D}} [0;1;0;0] *> r.
L67adapted
28Lemmarot01
Lemma rot01 n (Y : side) : [0;1]^^n *> (0 >> Y) = 0 >> ([1;0]^^n *> Y).
L70identical
29Lemmarot10
Lemma rot10 n (Y : side) : [1;0]^^n *> (1 >> Y) = 1 >> ([0;1]^^n *> Y).
L72identical
30LemmaLb
Lemma Lb u v l r:
l {{E}}> [1;0]^^(S v) *> [0;1]^^(S u) *> r -->*
l <* [1;1] <* [1;0]^^v <* [0;1]^^(S u) {{E}}> r.
L76identical
31LemmaLf
Lemma Lf u v l r:
l {{E}}> [1;0]^^(S v) *> [0;0] *> [0;1]^^u *> r -->*
l <* [1;1] <{{A}} [1;0]^^v *> [0;1]^^(S u) *> r.
L81adapted
32LemmaRb
Lemma Rb u v l r:
l <* [1;1] <* [1;0]^^v <* [0;1]^^u <* [1;1] <{{A}} r -->*
l <* [1;1] <{{A}} [1;0]^^v *> [0;0] *> [0;1]^^u *> r.
L86adapted
33LemmaRo
Lemma Ro u v l r:
l <* [1;1] <* [1;0]^^v <* [0;1]^^(S u) <{{D}} [0;0;0] *> r -->*
l <{{D}} [0;0;0] *> [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> r.
L91adapted
34Inductivedg
Inductive dg := d0 (u v : nat) | d1 (u v : nat).
L97identical
35Definitiondr
Definition dr (d : dg) (r : side) : side :=
match d with
| d0 u v => [1;0]^^v *> [0;0] *> [0;1]^^u *> r
| d1 u v => [1;0]^^v *> [0;1]^^u *> r
end.
L100identical
36Fixpointapp_ds
Fixpoint app_ds (r : side) (ds : list dg) : side :=
match ds with
| [] => r
| d :: t => dr d (app_ds r t)
end.
L107identical
37DefinitionR0
Definition R0 : side := [1;0;0;1] *> 0inf.
L113identical
38DefinitionK
Definition K (ds : list dg) (a b : nat) : Q * tape :=
0inf <{{D}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> app_ds R0 ds.
L115adapted
39Lemmainit
Lemma init: c0 -->* K [d1 1 9] 8 1.
L118adapted
40Definitionmap1
Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.
L122identical
41Definitionmap0
Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.
L123identical
42Fixpointrw
Fixpoint rw (os : list (nat*nat)) (l : side) : side :=
match os with
| [] => l
| (u,v) :: t => rw t (l <* [1;1] <* [1;0]^^v <* [0;1]^^(S u))
end.
L127identical
43Lemmaapp_ds_app
Lemma app_ds_app r xs ys : app_ds r (xs ++ ys) = app_ds (app_ds r ys) xs.
L133identical
44LemmaLbS
Lemma LbS os: forall l r, l {{E}}> app_ds r (map1 os) -->* rw os l {{E}}> r.
L136identical
45LemmaRbS
Lemma RbS os: forall l r, rw os l <* [1;1] <{{A}} r -->* l <* [1;1] <{{A}} app_ds r (map0 os).
L143adapted
46Fixpointro_out
Fixpoint ro_out (os : list (nat*nat)) (r : side) : side :=
match os with
| [] => r
| (u,v) :: t => [0;1]^^v *> [1;0]^^(S u) *> [0;0] *> ro_out t r
end.
L150identical
47LemmaRoS
Lemma RoS os: forall l r, rw os l <{{D}} [0;0;0] *> r -->* l <{{D}} [0;0;0] *> ro_out os r.
L156adapted
48FixpointOz
Fixpoint Oz (t : list (nat*nat)) (u : nat) : list dg :=
match t with
| [] => [d0 0 u]
| (a, b) :: t' => d0 b u :: Oz t' (S a)
end.
L163identical
49DefinitionOout
Definition Oout (os : list (nat*nat)) (A : nat) : list dg :=
match os with
| [] => []
| (u, v) :: t => d1 (S v) A :: Oz t (S u)
end.
L169identical
50LemmaOzeq
Lemma Ozeq t: forall u r, [1;0]^^u *> [0;0] *> ro_out t r = app_ds r (Oz t u).
L175identical
51LemmachunkA
Lemma chunkA a b r:
0inf <{{D}} [0;1]^^b *> [0;0;0] *> [0;1]^^a *> r -->+
0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a {{E}}> r.
L184adapted
52LemmachunkC
Lemma chunkC a b r:
0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^a <* [1;1] <{{A}} r -->*
0inf <{{D}} [0;1]^^(S (S b)) *> [0;0;0] *> [0;1]^^(S a) *> r.
L190adapted
53LemmachunkO
Lemma chunkO a b r:
0inf <* [0;1]^^(S (S b)) <* [0;1;1] <* [0;1]^^(S a) <{{D}} [0;0;0] *> r -->*
0inf <{{D}} [0;1] *> [0;0;0] *> [0;1]^^(S (S (S b))) *> [1;0]^^(S a) *> [0;1] *> r.
L198adapted
54LemmaM_spec
Lemma M_spec os u v rest a b:
K (map1 os ++ d0 u (S v) :: rest) a b -->+
K (map0 os ++ d1 (S u) v :: rest) (S a) (S (S b)).
L210identical
55LemmaMdrop_spec
Lemma Mdrop_spec os u2 v2 u rest a b:
K (map1 (os ++ [(u2,v2)]) ++ d0 u 1 :: rest) a b -->+
K (map0 os ++ d0 (S u2 + S u) v2 :: rest) (S a) (S (S b)).
L224identical
56LemmaO_spec
Lemma O_spec os a b: os <> [] ->
K (map1 os) (S a) b -->+ K (Oout os (S a)) (S (S (S b))) 1.
L238identical
57Definitionbof
Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.
L254identical
58Definitionvof
Definition vof d := match d with d0 _ v => v | d1 _ v => v end.
L255identical
59FixpointRof
Fixpoint Rof (ds : list dg) : nat :=
match ds with
| [] => 0
| d0 _ _ :: t => 2 * Rof t + 1
| d1 _ _ :: t => 2 * Rof t
end.
L258identical
60DefinitionRd
Definition Rd d r := match d with d0 _ _ => 2*r+1 | d1 _ _ => 2*r end.
L266identical
61Definitionub
Definition ub d r := match d with d0 u _ => u + r + 1 | d1 u _ => u + r end.
L267identical
62FixpointAllD
Fixpoint AllD (P : dg -> nat -> nat -> Prop) (ds : list dg) : Prop :=
match ds with
| [] => True
| d :: t => AllD P t /\ P d (Rof t) (length t)
end.
L269identical
63Definitioncanon
Definition canon d := match d with d0 _ v => v >= 1 | d1 u v => u >= 1 /\ v >= 1 end.
L275identical
64DefinitionPA
Definition PA d r p :=
canon d /\ vof d >= Rd d r + 1 /\ ub d r mod 2 = 1 /\ (p = 0 -> ub d r = 1).
L277identical
65DefinitionPB
Definition PB k d r p :=
canon d /\ (vof d + bof d) mod 2 = 1 /\ ub d r >= 2^(p+k) /\ (k = 0 -> p = 0 -> d = d0 0 1).
L279identical
66DefinitionLSBok
Definition LSBok ds := match ds with [] => False | d :: _ => vof d >= Rof ds + 1 end.
L282identical
67DefinitionINV
Definition INV (s : list dg * nat * nat) : Prop :=
let '(ds, a, b) := s in
ds <> [] /\ a >= 1 /\ b mod 2 = 1 /\ (a + Rof ds) mod 2 = 0 /\
a + Rof ds + 2 >= 2^(S (length ds)) /\ b + 3 + 2 * Rof ds >= 2^(S (length ds)) /\ LSBok ds /\
( (AllD PA ds /\ a + Rof ds + 1 >= 2^(S (length ds)))
\/ AllD (PB 0) ds
… +1 lines
L284identical
68DefinitionKc
Definition Kc (s : list dg * nat * nat) : Q * tape := let '(ds, a, b) := s in K ds a b.
L292identical
69Lemmapow2S
Lemma pow2S n : 2^(S n) = 2 * 2^n.
L295identical
70Lemmapow2pos
Lemma pow2pos n : 2^n >= 1.
L297identical
71LemmaRof_bound
Lemma Rof_bound ds : Rof ds + 1 <= 2^(length ds).
L300identical
72LemmaRof_map1
Lemma Rof_map1 os X : Rof (map1 os ++ X) = 2^(length os) * Rof X.
L305identical
73LemmaRof_map1'
Lemma Rof_map1' os : Rof (map1 os) = 0.
L312identical
74Lemmalen_map1
Lemma len_map1 os : length (map1 os) = length os.
L315identical
75Lemmalen_map0
Lemma len_map0 os : length (map0 os) = length os.
L317identical
76LemmaAllD_app
Lemma AllD_app P xs ys : AllD P (xs ++ ys) -> AllD P ys.
L320identical
77LemmaAllD_last
Lemma AllD_last P xs d : AllD P (xs ++ [d]) -> P d 0 0.
L323identical
78LemmaAllD_canon
Lemma AllD_canon (P : dg -> nat -> nat -> Prop) ds :
(forall d r p, P d r p -> canon d) -> AllD P ds -> Forall canon ds.
L326identical
79Lemmadecomp
Lemma decomp ds : Forall canon ds ->
(exists os, ds = map1 os) \/ (exists os u v rest, ds = map1 os ++ d0 u (S v) :: rest).
L332identical
80LemmaF1
Lemma F1 (P : dg -> nat -> nat -> Prop) os u v rest:
(forall u v r p, P (d0 u (S (S v))) r p -> P (d1 (S u) (S v)) r p) ->
(forall u v r p, P (d1 (S u) (S v)) (S r) p -> P (d0 (S u) v) r p) ->
AllD P (map1 os ++ d0 u (S (S v)) :: rest) ->
AllD P (map0 os ++ d1 (S u) (S v) :: rest) /\
Rof (map1 os ++ d0 u (S (S v)) :: rest) = S (Rof (map0 os ++ d1 (S u) (S v) :: rest)) /\
… +1 lines
L346identical
81LemmaPA_touch0
Lemma PA_touch0 u v r p : PA (d0 u (S (S v))) r p -> PA (d1 (S u) (S v)) r p.
L362identical
82LemmaPA_touch1
Lemma PA_touch1 u v r p : PA (d1 (S u) (S v)) (S r) p -> PA (d0 (S u) v) r p.
L366identical
83LemmaPB_touch0
Lemma PB_touch0 k u v r p : PB k (d0 u (S (S v))) r p -> PB k (d1 (S u) (S v)) r p.
L370identical
84LemmaPB_touch1
Lemma PB_touch1 k u v r p : PB k (d1 (S u) (S v)) (S r) p -> PB k (d0 (S u) v) r p.
L374identical
85DefinitionRel
Definition Rel r ro rn := rn + 1 <= ro /\ ro <= 2 * (rn + 1) /\ (r = 0 -> ro = rn + 1).
L379identical
86LemmaPB_chain
Lemma PB_chain k k' r u v ro rn p :
(k' = k \/ (k = 0 /\ k' = 1 /\ r = 0)) -> Rel r ro rn -> p >= 1 ->
PB k (d1 (S u) (S v)) ro (S p) -> PB k' (d0 (S u) v) rn p.
L381identical
87LemmaPB_abs
Lemma PB_abs k k' r p u2 v2 u :
((k' = k /\ (k = 0 -> p >= 1)) \/ (k = 0 /\ k' = 1 /\ p = 0 /\ r = 0)) ->
PB k (d0 u 1) r p -> PB k (d1 (S u2) (S v2)) (2*r+1) (S p) -> PB k' (d0 (S u2 + S u) v2) r p.
L393identical
88LemmaF2chain
Lemma F2chain k k' r os X X' :
(k' = k \/ (k = 0 /\ k' = 1 /\ r = 0)) -> X' <> [] ->
AllD (PB k) (map1 os ++ X) -> AllD (PB k') X' -> Rel r (Rof X) (Rof X') -> length X = S (length X') ->
AllD (PB k') (map0 os ++ X') /\ Rel r (Rof (map1 os ++ X)) (Rof (map0 os ++ X')) /\
length (map1 os ++ X) = S (length (map0 os ++ X')).
L403identical
89LemmaF2
Lemma F2 k k' os u2 v2 u rest:
((k' = k /\ (k = 0 -> rest <> [])) \/ (k = 0 /\ k' = 1 /\ rest = [])) ->
AllD (PB k) (map1 (os ++ [(u2,v2)]) ++ d0 u 1 :: rest) ->
AllD (PB k') (map0 os ++ d0 (S u2 + S u) v2 :: rest) /\
Rel (Rof rest) (Rof (map1 (os ++ [(u2,v2)]) ++ d0 u 1 :: rest))
    (Rof (map0 os ++ d0 (S u2 + S u) v2 :: rest)) /\
… +1 lines
L423identical
90LemmaOz_len
Lemma Oz_len t u : length (Oz t u) = S (length t).
L452identical
91LemmaOz_R
Lemma Oz_R t u : Rof (Oz t u) + 1 = 2^(S (length t)).
L455identical
92LemmaOz_AB
Lemma Oz_AB t : forall u, AllD PA (map1 t) -> u mod 2 = 1 -> (t = [] -> u = 1) -> AllD (PB 0) (Oz t u).
L462identical
93LemmaOz_CA
Lemma Oz_CA t : forall u, AllD (PB 1) (map1 t) -> u >= 2^(S (length t)) -> AllD PA (Oz t u).
L476identical
94LemmaRof_M
Lemma Rof_M os u v rest :
Rof (map1 os ++ d0 u (S v) :: rest) = S (Rof (map0 os ++ d1 (S u) v :: rest)).
L491identical
95Lemmalen_M
Lemma len_M os u v w x rest :
length (map0 os ++ d1 w x :: rest) = length (map1 os ++ d0 u v :: rest).
L497identical
96LemmaLSB_M
Lemma LSB_M os u v rest :
LSBok (map1 os ++ d0 u (S (S v)) :: rest) -> LSBok (map0 os ++ d1 (S u) (S v) :: rest).
L501identical
97LemmaRof_head1
Lemma Rof_head1 os X : os <> [] -> Rof (map1 os ++ X) mod 2 = 0.
L508identical
98LemmaRof_head0
Lemma Rof_head0 os x y rest : Rof (map0 os ++ d0 x y :: rest) mod 2 = 1.
L513identical
99LemmaLSB_drop
Lemma LSB_drop os u2 v2 u rest r :
LSBok (map1 (os ++ [(u2,v2)]) ++ d0 u 1 :: rest) ->
Rel r (Rof (map1 (os ++ [(u2,v2)]) ++ d0 u 1 :: rest)) (Rof (map0 os ++ d0 (S u2 + S u) v2 :: rest)) ->
LSBok (map0 os ++ d0 (S u2 + S u) v2 :: rest).
L516identical
100Lemmaapp_cons_ne
Lemma app_cons_ne {A} (xs : list A) y ys : xs ++ y :: ys <> [].
L525identical
101Lemmamacro_step
Lemma macro_step s : INV s -> exists s', Kc s -->+ Kc s' /\ INV s'.
L531identical
102Lemmanonhalt
Lemma nonhalt: ~halts tm c0.
L641adapted
5What a maintainer readsCheck: the rule table below is what the .v proves, and proof.md / README read cleanly for a maintainer.
submission/proof.md line 207: The rules M and O

The rules in busycoq comment style, for this machine:

1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---     (= sigma of 1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---, sigma = BCDAEF)

K(d_1 .. d_m; a, b) := 0^inf <D (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf
d~(u,0,v) := (10)^v 00 (01)^u,   d~(u,1,v) := (10)^v (01)^u        (d_m least significant)

start from K((1,1,9); 8, 1)                                   (step 687, section 2)

M  (carry; some bit is 0; j* = index of the LAST bit-0 digit, k = m - j*):
   K(.., (u,0,v), (u_j,1,v_j)_{j*<j<=m}; a, b) --> K(.., (u+1,1,v-1), (u_j,0,v_j-1)_{j*<j<=m}; a+1, b+2)
   steps 32 + 8a + 8b + 4v + sum_{j>j*} (8 u_j + 4 v_j);  needs v >= 1, u_j, v_j >= 1 (j > j*), a, b >= 0
   if v = 1, the digit (u+1,1,0) drops (re-reading, P section 1)
O  (overflow; all bits 1):
   K((u_1,1,v_1) .. (u_m,1,v_m); a, b) --> K((0,0,u_1), (v_1-1,0,u_2), .., (v_{m-1}-1,0,u_m), (v_m,1,a); b+3, 1)
   steps 89 - 4m + 8a + 20b + 4 sum u_j + 8 sum v_j;  needs m >= 1, all u_j, v_j >= 1, a >= 1, b >= 0
O at m = 0:  K(; a, b) --> K((1,1,a); b+3, 1)   in 89 + 8a + 20b steps (a >= 1); used only inside the initial segment

We write M_k for an M step with k = m − j* trailing bit-1 digits.

6FamilyCheck: related machines are killed together or have a reason to be left open.

6 machines, 4 killed, 2 not. Family links: status.json parent, same transition table with another start (tools/dashboard.py), targeting.md follow-on rows, ledger "= twin" notes. A machine string named in a .v header / proof.md / notes.md is listed but does not make a family.

whomachinestatusrelation to this kill
#11 kill 31RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---✓Killed: never halts= #33b's table mirrored, run from state C; named in #11's proof.md; named in #11's notes.md; named in #33b's .v header · review · mechanism
#33 kill 91RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---✓Killed: never haltsparent link; = #33b's table, run from state B; named in #33's proof.md; named in #33's notes.md; named in #33b's .v header; named in #33b's proof.md; named in #33b's notes.md · review · compared side by side above · mechanism
#33b kill 101RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---✓Killed: never haltsthis kill
#11b kill 141RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---✓Killed: never halts= #33b's table mirrored, run from state D; named in #33b's notes.md · review
#321RB0LC_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---⚠Cryptid candidatevia #11: parent link; targeting: follow-on to #11; ledger: #32 = twin of #11; named in #32's proof.md; named in #32's notes.md · page
R41RB0RE_1LC0RD_1LD0LD_1RA0LC_1RA1RF_1RA---⚠Cryptid candidatevia #32: = #32's table mirrored, run from state D; named in #32's proof.md; named in #32's notes.md; named in R4's notes.md · mechanism
7ChecklistCheck: every ✓ is computed; the two ○ are yours to decide; an amber ! is an optional check that did not finish.
  • ✓
    Machine string exact
    the .v literal == holdout list line 388 byte for byte
  • ✓
    Statement is ~halts tm c0
    parsed from the .v and confirmed by check_kill (theorem_text, theorem_rocq)
  • ✓
    No axioms beyond baseline
    0 assumption(s); tools/assumptions_baseline.txt allows only functional_extensionality_dep
  • ✓
    coqchk finished (optional)
    coqchk pass in 1.78 s
  • ✓
    .v hash matches the checked hash
    .v = checked sha256 f2bc59ed320c…; submission/ copy = checked sha256 f2bc59ed320c…
  • ✓
    No repo-local paths in the .v
    comments name no path of ours (vendor/, machines/, tools/, rocq/, scripts/, reports/, atlas/, data/, journal/, /home/); busycoq's own verify/X.v is fine: none in the .v or the submission/ copy
  • ✓
    Public write-up is clean
    tools/writeup_lint.py on submission/proof.md: 0 error(s)
  • ○
    proof.md reviewed by Dennis (Checkpoint B)
    no Checkpoint B note from Dennis found
    • notes.md L57: - No Checkpoint A or B notes from Dennis were on file when this was packaged. If he adds any, fold them into proof.md and the submission copy first.
    • proof.md L1: # 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---: delta proof from kill #33 (Checkpoint B)
    • proof.md L131: **Done as a scratch check.** `check_proof.py`'s `delta_text` applies exactly these edits (each one asserted to match the expected number of times). `rocq/make_delta.py` writes its output to `rocq/delta_check.v`, and `roc
    • proof.md L159: ## 7. Checkpoint B (Dennis)
  • ○
    Family posted together?
    3 other kill(s) in the family: #11, #33, #11b; the Discord draft names 3 of them; 2 member(s) not killed: #32, R4

Generated by tools/killreview.py at 2026-10-16 13:29 PDT in 0.0 s from the files linked above; nothing in this review is hand-written except the box “How we proved it never halts” (above), which quotes how_proved.md. Re-run: python3 -B tools/killreview.py 1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---

Files

machines/<tm>/: 14 entries · raw notes, status, scripts, images

namesizechanged
notes.md ↓8.3 KB2026-10-10 12:26
proof.md ↓17 KB2026-10-10 12:17
how_proved.md ↓1.1 KB2026-10-14 10:51
status.json ↓627 B2026-10-13 06:44
observe.json ↓12 KB2026-10-10 12:15
1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---.v ↓30 KB2026-10-12 18:18
img/9 items2026-10-16 10:28
rocq/7 items2026-10-10 12:23
scripts/2 items2026-10-10 12:16
submission/6 items2026-10-12 17:49
work/2 items2026-10-12 17:33
check_proof.out ↓3.9 KB2026-10-10 12:15
check_proof.py ↓35 KB2026-10-10 12:14
check_proof_long.out ↓3.9 KB2026-10-10 12:16
status.json in full
{
 "tm": "1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---",
 "status": "KILLED_NONHALT",
 "stage": "done",
 "updated": "2026-10-10",
 "reason": "check_kill PASS, independently re-verified",
 "parent": "1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---",
 "parent_note": "#33; = #11 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD--- mirrored",
 "label": "#33b",
 "relation": "same transition table as #33 (states renamed), started in a different state; found by the family sweep",
 "pr": "https://github.com/ccz181078/busycoq/pull/16",
 "pr_state": "merged",
 "pr_comments": 0,
 "pr_merged_at": "2026-10-13T12:26:07Z",
 "pr_merged_by": "ccz181078"
}