BB(6) hunt
Machines / #11b

1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---

#11blocal proof 14Kill claimedSkelet 1-like Class 2bbchallenge ↗Explorerparent: #11

How we proved it never halts

#11's proof, 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. This machine is #11's table with the state letters renamed, started in the state that is #11's B instead of A. Watching it, you see the same kind of counter at the right end of the tape, on a run of its own.

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

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

#14local proof number
702lines 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

Same counter as the parent. At each return to the right edge the tape is K = 0^inf 10 01 d_1 .. d_m (10)^a 000 (10)^b A> 0^inf, with digits (10)^u 00 (01)^v (bit 0) or (10)^u (01)^v (bit 1); d_m is the least significant bit. (submission/README.md, Mechanism)

parent #11; this machine is #11's table renamed by tau = EABCDF (no mirror), started in #11's state B

Upstream
Kill claimed · PR #16merged 2026-10-13 12:26 UTC by ccz181078 · Sk1Class2_v2.v · TM11 · on Submissions →
Rocq proof
check_kill PASS · first Oct 10 16:41
702 lines · 30 KB .v · compile 8.7 s · coqchk pass · 0 axioms · PASS Oct 10 16:41 (re-run Oct 12 18:17)
· the .v file
Automatic review
6 of 6 checks passtemplate: #11's kill file (kill 3) (twin: parent kill's .v) · details in Proof →
Class
Skelet 1-like Class 2
On the list
not on BB6_holdouts_663.txt (line 511 of the previous list) · historical 740 line 511
eqv ×1sim 1e15
Derived from
1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---#11 Kill claimed

Mechanism

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

No observation of its own: sibling of #11: #11's table renamed, started in #11's state B. Below are #11's figures, rules and history. #11's Checkpoint A questions (3) are on its page.

Figures

Fig 1 · Carry sweeps from a built counter tapeQ1

Every 10 steps from a built counter tape. Dotted diagonals are head sweeps; compare how deep each one goes.

Carry sweeps from a built counter tape
bbchallenge-defaultStart constructed tape (below)Rows every 10 stepsWindow cells -116..66, 1 px = 1/3 cellColors 1 0 or unvisited head (last move right/left)
Start: 0∞ 10 01 (10)2 00 (01)3 (10)3 00 (01)5 (10)3 00 (01)9 (10)3 00 (01)17 (10)4 03 B> 0∞ · Rows: steps 0..5,600 after the start (561 rows, 3 px each; no head drawn on row 0). The head moves up to 10 cells between rows, so each sweep shows as a dotted diagonal · Window: (each cell 3x3 px); cell 0 = the head's start cell
Fig 2 · Edge records to 300,000 stepsQ2Q3viewer ↗

Edge records to 300,000 steps. Look at the dashed vertical walls and each band break (left edge steps out).

Edge records to 300,000 steps
bbchallenge-defaultStart blankRows left/right recordsWindow cells -57..1095, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: the start, then one row per new leftmost or rightmost cell (1,153 rows to step 300,000; not evenly spaced in time) · Colors: the 1010 background is 1-px stripes that look gray when shrunk
Fig 3 · Edge records to 5.1 million stepsQ3

The same view to 5.1M steps. Compare its walls and band breaks with Fig 2.

Edge records to 5.1 million steps
bbchallenge-defaultStart blankRows left/right recordsWindow cells -87..4912, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: the start, then one row per new record; stopped at the 5,000-row cap at step 5,122,482 (not evenly spaced in time) · Colors: the 1010 background is 1-px stripes that look gray when shrunk
More figures (2)Fig 4–5: bbchallenge Default view, first 10,000 steps · Blaze view, 10 million steps
Fig 4 · bbchallenge Default view, first 10,000 stepsviewer ↗

For orientation: the start of the run as bbchallenge.org shows it.

bbchallenge Default view, first 10,000 steps
bbchallenge-defaultStart blankRows every step 0..9,999Window cells -200..199, 1 px = 1 cellColors 1 0 or unvisited head (last move right/left)
Rows: squeezed into 500 px by the site's bilinear filter: px row y blends steps 20y+9 and 20y+10, so it is effectively one sample every 20 steps
Fig 5 · Blaze view, 10 million steps

The right edge grows like the square root of time; the faint vertical lines are digit walls.

Blaze view, 10 million steps
bbchallenge-blazeStart blankRows Blaze time blocks of 16,384 stepsWindow cells -104..6903, 1 px = 8.8 cellsColors 0 1 1 only part of the time (or in part of the cells) of that pixel's block
Rows: (each averaged), 611 blocks to step 1e7, stretched to 500 px (1 px = about 20,000 steps) · Window: Blaze image: 1 column per 8 cells, averaged; 876 columns stretched to 800 px · Colors: no head; the 1010 background averages to pale orange
Rules (5/5 validated)exact tape rewrites the proof will formalize, each re-checked by simulation
rulefrom ⟶ tocasesstepschecked
M_k carry (k = trailing 1-bits)
l (10)u_k 02 (01)v_k [(10)u_i (01)v_i]_{i=k-1..0} (10)a 03 (10)b B> 0∞
⟶ l (10)u_k+1 (01)v_k-1 [(10)u_i 02 (01)v_i-1]_{i=k-1..0} (10)a+1 03 (10)b+2 B> 0∞
k=0..5 tested; needs v_i>=1 (i<=k), u_i>=1 (i<k), u_k>=0, a>=1, b>=0; v=1 gives a fused (merged) digit32 + 8a + 8b + 8*sum_{i<k} u_i + 4*sum_{i<=k} v_i✓84/84
O overflow (all bits 1)
0∞ 10 01 [(10)u_i (01)v_i]_{i=1..n} (10)a 03 (10)b B> 0∞
⟶ 0∞ 10 01 00 (01)u_1 [(10)v_i-1 02 (01)u_(i+1)]_{i=1..n-1} (10)v_n (01)a (10)b+3 03 10 B> 0∞
n=1..7 tested; needs v_i>=1 (i<n); left edge moves 3 cells; counter restarts at 189 - 4n + 8a + 20b + 4*sum u_i + 8*sum v_i✓118/118
init (blank tape to first K)
0∞ A> 0∞
⟶ 0∞ 10 01 (10)3 01 (10)2 03 10 B> 0∞
twins: start B -> K((1,2);2,1) in 122 steps; start C -> K((1,1);2,1) in 101 steps142✓1/1
B sweep right
B> (01)n
⟶ (10)n B>
—2n✓10/10
D sweep left
(01)n <D
⟶ <D (10)n
—2n✓10/10
Compressed historythe tape as 0∞ 10 01 [(10)u_i (01)v_i]_{i=1..n} (10)a 03 (10)b B> 0∞ at 40 moments: where the rules are read off
0∞ 10 01 [(10)u_i (01)v_i]_{i=1..n} (10)a 03 (10)b B> 0∞
stepnu_1..u_nv_1..v_nab
148,244467,313,1631,412,8486261
196,5695115,151,5636,628,244,8329461
323,918468,319,4631,283,232126125
398,4275113,113,9476,728,874,89615861
561,920569,319,463,127104,241,696126125
755,701611,173,131,127682,887,489,664190125
1,267,210470,125,190,1278,166,464254253
1,406,407519,197,1796.91·101328661
1,659,14857.11·10136,125,648,224126125
1,917,105617,156,363,2557.01·1015190125
2,517,86267.21·101648,483,219,264254253
3,255,15571.51·10137.11·1018382253
5,250,96867.31·1016244,016,160,128510509
6,469,64571.37·10127.21·1019638253
9,142,1784389,382,382,5113,212,864,384510509
9,463,015513,313,171,3993.88·101454261
9,966,52453.9·10143.01·1012126125
10,405,09761.31·10133.89·1016190125
11,256,62263.91·10172.81·1014254253
12,174,53171.29·10163.9·1019382253
14,421,11263.92·10172.61·1015510509
15,820,40571.27·10163.91·1020638253
18,743,70673.93·10202.41·1017510509
22,061,82381.25·10193.92·1023766509
30,571,41273.94·10202.21·10181,0221,021
35,551,58581.23·10193.93·10231,278509
46,376,29483.95·10242.01·10211,0221,021
59,038,87591.21·10233.94·10261,5341,021
92,220,94483.96·10251.81·10202,0462,045
111,528,10991.19·10223.95·10282,5581,021
153,971,60283.97·10261.69·10212,0462,045
176,217,46391.17·10223.96·10292,5581,021
222,615,94893.98·10301.49·10252,0462,045
275,605,721101.15·10263.97·10333,0702,045
411,458,14283.99·10271.28·10244,0944,093
447,518,22791.13·10253.98·10314,6061,021
513,030,92094·10311.08·10252,0462,045
579,826,725101.11·10293.99·10353,0702,045
734,793,354104.01·10358.8·10284,0944,093
924,601,615111.98·10294·10396,1424,093
nlast 11
1141.5e59.2e8log xstep 148244: n = 4step 196569: n = 5step 323918: n = 4step 398427: n = 5step 561920: n = 5step 755701: n = 6step 1267210: n = 4step 1406407: n = 5step 1659148: n = 5step 1917105: n = 6step 2517862: n = 6step 3255155: n = 7step 5250968: n = 6step 6469645: n = 7step 9142178: n = 4step 9463015: n = 5step 9966524: n = 5step 10405097: n = 6step 11256622: n = 6step 12174531: n = 7step 14421112: n = 6step 15820405: n = 7step 18743706: n = 7step 22061823: n = 8step 30571412: n = 7step 35551585: n = 8step 46376294: n = 8step 59038875: n = 9step 92220944: n = 8step 111528109: n = 9step 153971602: n = 8step 176217463: n = 9step 222615948: n = 9step 275605721: n = 10step 411458142: n = 8step 447518227: n = 9step 513030920: n = 9step 579826725: n = 10step 734793354: n = 10step 924601615: n = 11
u_1..u_nlast 1.98·1029
4e351.9e71.5e59.2e8log-logstep 148244: u_1..u_n = 67313163step 196569: u_1..u_n = 115151563step 323918: u_1..u_n = 68319463step 398427: u_1..u_n = 113113947step 561920: u_1..u_n = 69319463127step 755701: u_1..u_n = 11173131127step 1267210: u_1..u_n = 70125190127step 1406407: u_1..u_n = 19197179step 1659148: u_1..u_n = 71125190127255step 1917105: u_1..u_n = 17156363255step 2517862: u_1..u_n = 72125190127255127step 3255155: u_1..u_n = 15115547223127step 5250968: u_1..u_n = 73125190127255382step 6469645: u_1..u_n = 1374731191191step 9142178: u_1..u_n = 389382382511step 9463015: u_1..u_n = 13313171399step 9966524: u_1..u_n = 390382382511511step 10405097: u_1..u_n = 13112763383511step 11256622: u_1..u_n = 391382382511511127step 12174531: u_1..u_n = 12912355367479127step 14421112: u_1..u_n = 392382382511511382step 15820405: u_1..u_n = 12711947351447191step 18743706: u_1..u_n = 393382382511511382511step 22061823: u_1..u_n = 12511539335415127511step 30571412: u_1..u_n = 394382382511511893511step 35551585: u_1..u_n = 12311131319383319383step 46376294: u_1..u_n = 3953823825115118935111023step 59038875: u_1..u_n = 121107233033512552551023step 92220944: u_1..u_n = 39638238251151189315341023step 111528109: u_1..u_n = 11910315287319191639767step 153971602: u_1..u_n = 397382893511893153410232047step 176217463: u_1..u_n = 11799263271954473831791step 222615948: u_1..u_n = 3983828935118931534102320472047step 275605721: u_1..u_n = 115952552556338325515352047step 411458142: u_1..u_n = 3993828935112427307020472047step 447518227: u_1..u_n = 11391247239287108711511279step 513030920: u_1..u_n = 40038289351124273070204720474095step 579826725: u_1..u_n = 111872392232551023102310234095step 734793354: u_1..u_n = 401382893511242730702047204740952047step 924601615: u_1..u_n = 198323120722395989576735832047
v_1..v_nlast 4·1039
4e391.3e61.5e59.2e8log-logstep 148244: v_1..v_n = 1412848step 196569: v_1..v_n = 6628244832step 323918: v_1..v_n = 1283232step 398427: v_1..v_n = 6728874896step 561920: v_1..v_n = 104241696step 755701: v_1..v_n = 682887489664step 1267210: v_1..v_n = 8166464step 1406407: v_1..v_n = 69122183112224step 1659148: v_1..v_n = 6125648224step 1917105: v_1..v_n = 7012218311222464step 2517862: v_1..v_n = 48483219264step 3255155: v_1..v_n = 7112218311222464128step 5250968: v_1..v_n = 244016160128step 6469645: v_1..v_n = 72122183112224319384step 9142178: v_1..v_n = 3212864384step 9463015: v_1..v_n = 388379375496480step 9966524: v_1..v_n = 3012456368480step 10405097: v_1..v_n = 38937937549648064step 11256622: v_1..v_n = 281204835244864step 12174531: v_1..v_n = 39037937549648064128step 14421112: v_1..v_n = 2611640336416128step 15820405: v_1..v_n = 391379375496480319384step 18743706: v_1..v_n = 241123232038464384step 22061823: v_1..v_n = 392379375496480319384256step 30571412: v_1..v_n = 2210824304352256256step 35551585: v_1..v_n = 393379375496480830384768step 46376294: v_1..v_n = 2010416288320192128768step 59038875: v_1..v_n = 394379375496480830384768512step 92220944: v_1..v_n = 181008272288128512512step 111528109: v_1..v_n = 39537937549648083014077681536step 153971602: v_1..v_n = 1696256256643842561536step 176217463: v_1..v_n = 396379886496862147189617921536step 222615948: v_1..v_n = 14922482403232012812801536step 275605721: v_1..v_n = 3973798864968621471896179215361024step 411458142: v_1..v_n = 1288240224256102410241024step 447518227: v_1..v_n = 39837988649623963007192017923584step 513030920: v_1..v_n = 10842322082249608967683584step 579826725: v_1..v_n = 399379886496239630071920179235841024step 734793354: v_1..v_n = 88022419219289676851230721024step 924601615: v_1..v_n = 4e39
alast 6,142
6,142621.5e59.2e8log xstep 148244: a = 62step 196569: a = 94step 323918: a = 126step 398427: a = 158step 561920: a = 126step 755701: a = 190step 1267210: a = 254step 1406407: a = 286step 1659148: a = 126step 1917105: a = 190step 2517862: a = 254step 3255155: a = 382step 5250968: a = 510step 6469645: a = 638step 9142178: a = 510step 9463015: a = 542step 9966524: a = 126step 10405097: a = 190step 11256622: a = 254step 12174531: a = 382step 14421112: a = 510step 15820405: a = 638step 18743706: a = 510step 22061823: a = 766step 30571412: a = 1022step 35551585: a = 1278step 46376294: a = 1022step 59038875: a = 1534step 92220944: a = 2046step 111528109: a = 2558step 153971602: a = 2046step 176217463: a = 2558step 222615948: a = 2046step 275605721: a = 3070step 411458142: a = 4094step 447518227: a = 4606step 513030920: a = 2046step 579826725: a = 3070step 734793354: a = 4094step 924601615: a = 6142
blast 4,093
4,093611.5e59.2e8log xstep 148244: b = 61step 196569: b = 61step 323918: b = 125step 398427: b = 61step 561920: b = 125step 755701: b = 125step 1267210: b = 253step 1406407: b = 61step 1659148: b = 125step 1917105: b = 125step 2517862: b = 253step 3255155: b = 253step 5250968: b = 509step 6469645: b = 253step 9142178: b = 509step 9463015: b = 61step 9966524: b = 125step 10405097: b = 125step 11256622: b = 253step 12174531: b = 253step 14421112: b = 509step 15820405: b = 253step 18743706: b = 509step 22061823: b = 509step 30571412: b = 1021step 35551585: b = 509step 46376294: b = 1021step 59038875: b = 1021step 92220944: b = 2045step 111528109: b = 1021step 153971602: b = 2045step 176217463: b = 1021step 222615948: b = 2045step 275605721: b = 2045step 411458142: b = 4093step 447518227: b = 1021step 513030920: b = 2045step 579826725: b = 2045step 734793354: b = 4093step 924601615: b = 4093
Template comparisonSBCv6.v TM21: partly applies · the nearest solved proof, what carries over, and the transitions that differ
01
A1RB0LE
B1RC0RC
C1LD0RB
D1LA0LE
E1LD1LF
F1LD---
file
SBCv6.v:3702
module
TM21
machine
1RB1LB_0LC1RD_0RA1LC_0RB1RE_0RD0LF_---1LE (11 transitions apart)
diff
10 of 12 transitions differ under the best renaming/mirror (Sk1like_TC_v2 TM1: 9 of 12)
note
Same architecture (LIncs = carries, Ov = re-pairing overflow, BigStep), but TM21's S' configs never recur here (0 real hits in 2e5 steps, all 6 states). Its LWF invariant fails: here digits run out and merge.

Proof & checks

6/6 automatic checks pass

Kill 14 · Skelet 1-like Class 2 · the kill file 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---.v: 702 lines, 105 items · the package submission/

✓ 6/6 automatic checks pass · Checkpoint B: no note from Dennis yet · template (twin: parent kill's .v): #11's kill file (kill 3) · 92% of our lines identical · vs #11: same table, started in #11's B; trajectory twin
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
1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---
vs holdout list
✓ byte-exact: the .v literal (L26) == 2026-10-07_778.txt line 541 (41 bytes, via tools/holdouts.py)
Theorem
✓ Lemma nonhalt: ~halts tm c0. L670
check_kill
✓ PASS · 17/17 checks pass · compile 8.67 s · coqchk pass (1.78 s) · assumptions: 0 (closed) · 2026-10-13 01:17:24 UTC · submission/check_kill.txt
Checked .v
sha256 5a95ad125127adee…
✓1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---.v5a95ad125127adee… = checked
✓submission/1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---.v5a95ad125127adee… = 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
✓input30345 bytes, 702 lines, 756 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 26: TM_from_str "1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---" == <tm> (41 bytes)
✓theorem_textline 670: nonhalt : ~halts tm c0
✓coqcoqc 8.20.1 ([local working file]
✓nameshalts, c0, TM_from_str resolved inside Individual62
✓compilecompiled in 8.7s with all appended checks
✓tm_rocqBB6Kill.Candidate.tm = BusyCoq.Individual62.TM_from_str "1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---" by eq_refl (in-file and isolated)
✓theorem_rocqnonhalt : ~ halts (TM_from_str "1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---") 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 #11?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 #11 as the parent (1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---); label: “#11b”; relation: “sibling of #11: #11's table renamed, started in #11's state B”; parent_note: “#11; this machine is #11's table renamed by tau = EABCDF (no mirror), started in #11's state B”. Everything below is computed from the two machine strings, not read from notes.

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

#11#11's row (read 0, read 1)σpredicted row: renamed by σthis machine's actual row
A1RB 0LE→ E1RA 0LD1RA 0LD✓start of #11
B1RC 0RC→ A1RB 0RB1RB 0RB✓start of this machine
C1LD 0RB→ B1LC 0RA1LC 0RA✓
D1LA 0LE→ C1LE 0LD1LE 0LD✓
E1LD 1LF→ D1LC 1LF1LC 1LF✓
F1LD ---→ F1LC ---1LC ---✓

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

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

Same view, same settings on both sides. Look for the same band structure: it starts in #11's state B, not A, so the first steps differ; the numbers below read: trajectory twin, so after the start the bands should match line for line.

#11 (parent), from blank in its A
default view of 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---
this machine (#11b), from blank in its A = #11's B
default view of 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---
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): #11 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.

#11 (parent), from blank in its A
blaze view of 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---
763 rows of 131,072 steps · 1,503 columns, every 16th cell · nonzeros 12,016 at 1e8
this machine (#11b), from blank in its A = #11's B
blaze view of 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---
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)

✓ trajectory twin: within 0.013% at 1e9 (cells +8, nonzeros +5); the offset stays within 8 at every checkpoint instead of growing

stepscells visited (hi − lo + 1)nonzeros
#11thisratio (Δ)#11thisratio (Δ)
1e56476551.0124 (+8)3233251.0062 (+2)
1e62,1252,1331.0038 (+8)1,0601,0621.0019 (+2)
1e76,9997,0071.0011 (+8)3,4983,5021.0011 (+4)
1e824,03124,0391.0003 (+8)12,01712,0201.0002 (+3)
1e977,68577,6931.0001 (+8)38,83638,8411.0001 (+5)

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:29 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 #11's kill file (kill 3) machines/1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---/1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---.v · detected from status.json
92%of our lines identical to the template
46changed lines
1added lines (ours only)
1template lines dropped
71 / 34 / 0items identical / adapted / new
What the package README says it reused and changed (submission/README.md line 21, Template and what changed), quoted:

It extends the parent's .v, verify/Skelet1LikeC2_1RB0LE_1RC0RC.v (694 lines), which follows the architecture of busycoq SBCv6.v Module TM21 (carries plus a re-pairing overflow). The changes are those of proof.md §5:

  • the TM string;
  • the renaming on every state name: {{B}}->{{A}} (22), {{C}}->{{B}} (18), {{D}}->{{C}} (5), {{E}}->{{D}} (18);
  • init (732 steps to K [d1 1 10] 8 1, against the parent's 483 to K [d1 1 2] 8 5) and the base in nonhalt, closed by the parent's own tactic line;
  • the header and the comments.

Every proof script, the three rule specs and the invariant part are the parent's text; no tactic was changed. The file is 702 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 595 lines
92% identical · 46 changed · 1 added
template 595 lines
92% kept verbatim · 1 not in ours
our items 105
71 identical · 34 adapted · 0 new · 0 template-only
identicalchanged / adaptedours only (new)template only
Template part: whole file, lines 11–694 (leading comment left out). Ours: lines 19–702 (header comment 1–18 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.
Side-by-side diff: template (595 lines) vs ours (595 lines), 48 lines differ; runs of identical lines and long template-only runs folded
identicalequal once each TM string is <TM>changedours onlytemplate only
templateours
12From BusyCoq Require Import Individual62.20From BusyCoq Require Import Individual62.
13Require Import ZifyNat Lia.21Require Import ZifyNat Lia.
⋯ 17 identical lines (template 14–35, ours 22–43)
36Qed.44Qed.
38(* ---------- one-block lemmas ---------- *)46(* ---------- one-block lemmas ---------- *)
39Lemma S1_1 l r: l <* [] {{B}}> [0;1] *> r -->* l <* [0;1] <* [] {{B}}> r. Proof. es. Qed.47Lemma S1_1 l r: l <* [] {{A}}> [0;1] *> r -->* l <* [0;1] <* [] {{A}}> r. Proof. es. Qed.
40Lemma S2_1 l r: l <* [] {{C}}> [1;0] *> r -->* l <* [1;0] <* [] {{C}}> r. Proof. es. Qed.48Lemma S2_1 l r: l <* [] {{B}}> [1;0] *> r -->* l <* [1;0] <* [] {{B}}> r. Proof. es. Qed.
41Lemma S3_1 l r: l <* [1;0] <{{D}} [] *> r -->* l <{{D}} [] *> [1;0] *> r. Proof. es. Qed.49Lemma S3_1 l r: l <* [1;0] <{{C}} [] *> r -->* l <{{C}} [] *> [1;0] *> r. Proof. es. Qed.
42Lemma S4_1 l r: l <* [0;1] <{{E}} [] *> r -->* l <{{E}} [] *> [0;1] *> r. Proof. es. Qed.50Lemma S4_1 l r: l <* [0;1] <{{D}} [] *> r -->* l <{{D}} [] *> [0;1] *> r. Proof. es. Qed.
43Lemma S6_1 l r: l <* [0] {{B}}> [1;0] *> r -->* l <* [0;1] <* [0] {{B}}> r. Proof. es. Qed.51Lemma S6_1 l r: l <* [0] {{A}}> [1;0] *> r -->* l <* [0;1] <* [0] {{A}}> r. Proof. es. Qed.
44Lemma S5_1 l r: l {{C}}> [1;1] *> [0;1] *> r -->* l <* [0;1] {{C}}> [1;1] *> r. Proof. es. Qed.52Lemma S5_1 l r: l {{B}}> [1;1] *> [0;1] *> r -->* l <* [0;1] {{B}}> [1;1] *> r. Proof. es. Qed.
46Definition S1 := shift_rule_R _ _ _ _ _ S1_1.54Definition S1 := shift_rule_R _ _ _ _ _ S1_1.
47Definition S2 := shift_rule_R _ _ _ _ _ S2_1.55Definition S2 := shift_rule_R _ _ _ _ _ S2_1.
48Definition S3 := shift_rule_L _ _ _ _ _ S3_1.56Definition S3 := shift_rule_L _ _ _ _ _ S3_1.
49Definition S4 := shift_rule_L _ _ _ _ _ S4_1.57Definition S4 := shift_rule_L _ _ _ _ _ S4_1.
50Definition S6 := shift_rule_R _ _ _ _ _ S6_1.58Definition S6 := shift_rule_R _ _ _ _ _ S6_1.
52Lemma S5 n: forall l r, l {{C}}> [1;1] *> [0;1]^^n *> r -->* l <* [0;1]^^n {{C}}> [1;1] *> r.60Lemma S5 n: forall l r, l {{B}}> [1;1] *> [0;1]^^n *> r -->* l <* [0;1]^^n {{B}}> [1;1] *> r.
53Proof.61Proof.
54 induction n; intros.62 induction n; intros.
⋯ 2 identical lines (template 55–56, ours 63–64)
57Qed.65Qed.
59(* ---------- finite turns ---------- *)67(* ---------- finite turns ---------- *)
60Lemma T1 l: l {{B}}> 0inf -->* l <{{E}} [0;1] *> 0inf. Proof. es. Qed.68Lemma T1 l: l {{A}}> 0inf -->* l <{{D}} [0;1] *> 0inf. Proof. es. Qed.
61Lemma T2 l r: l <* [0;0;0] <{{E}} r -->* l <* [0;0;1] {{B}}> r. Proof. es. Qed.69Lemma T2 l r: l <* [0;0;0] <{{D}} r -->* l <* [0;0;1] {{A}}> r. Proof. es. Qed.
62Lemma T3 l r: l <* [0;0;1] <{{E}} r -->* l <{{E}} [0;1;1] *> r. Proof. es. Qed.70Lemma T3 l r: l <* [0;0;1] <{{D}} r -->* l <{{D}} [0;1;1] *> r. Proof. es. Qed.
63Lemma T4 l r: l <* [1;0] <{{E}} r -->* l <{{D}} [1;1] *> r. Proof. es. Qed.71Lemma T4 l r: l <* [1;0] <{{D}} r -->* l <{{C}} [1;1] *> r. Proof. es. Qed.
64Lemma T5 l r: l <* [0;1] <{{D}} r -->* l <{{E}} [0;1] *> r. Proof. es. Qed.72Lemma T5 l r: l <* [0;1] <{{C}} r -->* l <{{D}} [0;1] *> r. Proof. es. Qed.
65Lemma T6 l r: l <* [0;0] <{{D}} r -->* l <* [0;1] {{C}}> r. Proof. es. Qed.73Lemma T6 l r: l <* [0;0] <{{C}} r -->* l <* [0;1] {{B}}> r. Proof. es. Qed.
66Lemma T7 l r: l {{C}}> [1;1] *> r -->* l <* [0;0] {{C}}> r. Proof. es. Qed.74Lemma T7 l r: l {{B}}> [1;1] *> r -->* l <* [0;0] {{B}}> r. Proof. es. Qed.
67Lemma T8 l r: l {{C}}> [1;1;0;1;1] *> r -->* l <* [0;0;0;0;1] {{B}}> r. Proof. es. Qed.75Lemma T8 l r: l {{B}}> [1;1;0;1;1] *> r -->* l <* [0;0;0;0;1] {{A}}> r. Proof. es. Qed.
68Lemma T9 r: 0inf <* [1;0;0;1] <{{E}} r -->* 0inf <* [1;0;0;1] <* [0;0;0] {{B}}> r. Proof. es. Qed.76Lemma T9 r: 0inf <* [1;0;0;1] <{{D}} r -->* 0inf <* [1;0;0;1] <* [0;0;0] {{A}}> r. Proof. es. Qed.
69Lemma T10 l r: l {{B}}> [1;1] *> r -->* l <* [0;0] {{B}}> r. Proof. es. Qed.77Lemma T10 l r: l {{A}}> [1;1] *> r -->* l <* [0;0] {{A}}> r. Proof. es. Qed.
70Lemma T11 l r: l {{B}}> [0] *> r -->* l <* [1] {{C}}> r. Proof. es. Qed.78Lemma T11 l r: l {{A}}> [0] *> r -->* l <* [1] {{B}}> r. Proof. es. Qed.
71Lemma T12 l: l {{C}}> [1;1] *> 0inf -->* l <{{E}} [0;1;1;0;1] *> 0inf. Proof. es. Qed.79Lemma T12 l: l {{B}}> [1;1] *> 0inf -->* l <{{D}} [0;1;1;0;1] *> 0inf. Proof. es. Qed.
72Lemma T13 l r: l <* [1;0;1] <{{E}} r -->* l <{{E}} [0;1;1] *> r. Proof. es. Qed.80Lemma T13 l r: l <* [1;0;1] <{{D}} r -->* l <{{D}} [0;1;1] *> r. Proof. es. Qed.
73Lemma T14 l r: l {{B}}> [1;1;0;1] *> r -->* l <* [0;1;0;0] {{B}}> r. Proof. es. Qed.81Lemma T14 l r: l {{A}}> [1;1;0;1] *> r -->* l <* [0;1;0;0] {{A}}> r. Proof. es. Qed.
76Lemma p01 n (Y : side) : [0;1]^^n *> 0 >> 1 >> Y = 0 >> 1 >> [0;1]^^n *> Y.84Lemma p01 n (Y : side) : [0;1]^^n *> 0 >> 1 >> Y = 0 >> 1 >> [0;1]^^n *> Y.
77Proof. exact (lpow_shift' _ n [0;1] Y). Qed.85Proof. exact (lpow_shift' _ n [0;1] Y). Qed.
⋯ 8 identical lines (template 78–86, ours 86–94)
88(* ---------- digit lemmas ---------- *)96(* ---------- digit lemmas ---------- *)
89Lemma Lb u v l r:97Lemma Lb u v l r:
90 l <* [0;1]^^(S u) <* [1;0]^^(S v) <{{E}} r -->*98 l <* [0;1]^^(S u) <* [1;0]^^(S v) <{{D}} r -->*
91 l <{{E}} [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r.99 l <{{D}} [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r.
92Proof.100Proof.
93 follow T4. follow S3. follow T5. follow S4. fin.101 follow T4. follow S3. follow T5. follow S4. fin.
94Qed.102Qed.
96Lemma Lf u v l r:104Lemma Lf u v l r:
97 l <* [0;1]^^u <* [0;0] <* [1;0]^^(S v) <{{E}} r -->*105 l <* [0;1]^^u <* [0;0] <* [1;0]^^(S v) <{{D}} r -->*
98 l <* [0;1]^^(S u) <* [1;0]^^v {{C}}> [1;1] *> r.106 l <* [0;1]^^(S u) <* [1;0]^^v {{B}}> [1;1] *> r.
99Proof.107Proof.
100 follow T4. follow S3. follow T6. follow S2. fin.108 follow T4. follow S3. follow T6. follow S2. fin.
101Qed.109Qed.
103Lemma Rb u v l r:111Lemma Rb u v l r:
104 l {{C}}> [1;1] *> [0;1]^^u *> [1;0]^^v *> [1;1] *> r -->*112 l {{B}}> [1;1] *> [0;1]^^u *> [1;0]^^v *> [1;1] *> r -->*
105 l <* [0;1]^^u <* [0;0] <* [1;0]^^v {{C}}> [1;1] *> r.113 l <* [0;1]^^u <* [0;0] <* [1;0]^^v {{B}}> [1;1] *> r.
106Proof.114Proof.
107 follow S5. follow T7. follow S2. fin.115 follow S5. follow T7. follow S2. fin.
108Qed.116Qed.
110Lemma Ro u v l r:118Lemma Ro u v l r:
111 l <* [0;0;0] {{B}}> [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r -->*119 l <* [0;0;0] {{A}}> [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r -->*
112 l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v <* [0;0;0] {{B}}> r.120 l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v <* [0;0;0] {{A}}> r.
113Proof.121Proof.
114 follow S1.122 follow S1.
⋯ 2 identical lines (template 115–116, ours 123–124)
117 fin.125 fin.
118Qed.126Qed.
120(* right-edge chunk shared by M and O: (10)^a 000 (10)^b B> 0^inf -> <E (01)^a 011 (01)^(b+2) 0^inf *)128(* right-edge chunk shared by M and O: (10)^a 000 (10)^b A> 0^inf -> <D (01)^a 011 (01)^(b+2) 0^inf *)
121Lemma chunkA a b l:129Lemma chunkA a b l:
122 l <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{B}}> 0inf -->+130 l <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{A}}> 0inf -->+
123 l <{{E}} [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf.131 l <{{D}} [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf.
124Proof. es. Qed.132Proof. es. Qed.
126(* end of M: C> 11 (01)^a 011 (01)^(b+2) 0^inf -> (10)^(a+1) 000 (10)^(b+2) B> 0^inf *)134(* end of M: B> 11 (01)^a 011 (01)^(b+2) 0^inf -> (10)^(a+1) 000 (10)^(b+2) A> 0^inf *)
127Lemma chunkC a b l:135Lemma chunkC a b l:
128 l {{C}}> [1;1] *> [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*136 l {{B}}> [1;1] *> [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*
129 l <* [0;1]^^(S a) <* [0;0;0] <* [0;1]^^(S (S b)) {{B}}> 0inf.137 l <* [0;1]^^(S a) <* [0;0;0] <* [0;1]^^(S (S b)) {{A}}> 0inf.
130Proof.138Proof.
131 follow S5. follow T8. follow S1. fin.139 follow S5. follow T8. follow S1. fin.
132Qed.140Qed.
134(* end of O: 000 B> (01)^(a+1) 011 (01)^(b+2) 0^inf -> 10 (01)^(a+1) (10)^(b+3) 000 10 B> 0^inf *)142(* end of O: 000 A> (01)^(a+1) 011 (01)^(b+2) 0^inf -> 10 (01)^(a+1) (10)^(b+3) 000 10 A> 0^inf *)
135Lemma chunkO a b l:143Lemma chunkO a b l:
136 l <* [0;0;0] {{B}}> [0;1]^^(S a) *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*144 l <* [0;0;0] {{A}}> [0;1]^^(S a) *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*
137 l <* [0;1] <* [1;0]^^(S a) <* [0;1]^^(S (S (S b))) <* [0;0;0] <* [0;1] {{B}}> 0inf.145 l <* [0;1] <* [1;0]^^(S a) <* [0;1]^^(S (S (S b))) <* [0;0;0] <* [0;1] {{A}}> 0inf.
138Proof.146Proof.
139 follow S1. follow T11. follow S5. follow T12. follow S4. follow T13. follow S4. follow T2. follow S1. follow S1_1.147 follow S1. follow T11. follow S5. follow T12. follow S4. follow T13. follow S4. follow T2. follow S1. follow S1_1.
⋯ 18 identical lines (template 140–160, ours 148–168)
162Definition L0 : side := 0inf <* [1;0;0;1].170Definition L0 : side := 0inf <* [1;0;0;1].
164Definition K (ds : list dg) (a b : nat) : Q * tape :=172Definition K (ds : list dg) (a b : nat) : Q * tape :=
165 app_ds L0 ds <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{B}}> 0inf.173 app_ds L0 ds <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{A}}> 0inf.
167Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.175Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.
168Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.176Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.
⋯ 5 identical lines (template 170–174, ours 178–182)
176Lemma app_ds_app l xs ys : app_ds l (xs ++ ys) = app_ds (app_ds l ys) xs.184Lemma app_ds_app l xs ys : app_ds l (xs ++ ys) = app_ds (app_ds l ys) xs.
177Proof. induction xs; cbn; congruence. Qed.185Proof. induction xs; cbn; congruence. Qed.
179Lemma LbS os: forall l r, app_ds l (map1 os) <{{E}} r -->* l <{{E}} rw os r.187Lemma LbS os: forall l r, app_ds l (map1 os) <{{D}} r -->* l <{{D}} rw os r.
180Proof.188Proof.
181 induction os as [|[u v] t IH]; intros.189 induction os as [|[u v] t IH]; intros.
182 - finish.190 - finish.
183 - cbn [map1 map app_ds dl rw]. follow Lb. apply IH.191 - cbn [map1 map app_ds dl rw]. follow Lb. apply IH.
184Qed.192Qed.
186Lemma RbS os: forall l r, l {{C}}> [1;1] *> rw os r -->* app_ds l (map0 os) {{C}}> [1;1] *> r.194Lemma RbS os: forall l r, l {{B}}> [1;1] *> rw os r -->* app_ds l (map0 os) {{B}}> [1;1] *> r.
187Proof.195Proof.
188 induction os as [|[u v] t IH]; intros.196 induction os as [|[u v] t IH]; intros.
⋯ 6 identical lines (template 189–195, ours 197–203)
196 | (u,v) :: t => ro_out t l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v204 | (u,v) :: t => ro_out t l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v
197 end.205 end.
199Lemma RoS os: forall l r, l <* [0;0;0] {{B}}> rw os r -->* ro_out os l <* [0;0;0] {{B}}> r.207Lemma RoS os: forall l r, l <* [0;0;0] {{A}}> rw os r -->* ro_out os l <* [0;0;0] {{A}}> r.
200Proof.208Proof.
201 induction os as [|[u v] t IH]; intros.209 induction os as [|[u v] t IH]; intros.
⋯ 56 identical lines (template 202–263, ours 210–271)
264 apply evstep_refl'. cbn [Oout app_ds dl ro_out]. rewrite <- Ozeq. reflexivity.272 apply evstep_refl'. cbn [Oout app_ds dl ro_out]. rewrite <- Ozeq. reflexivity.
265Qed.273Qed.
267Lemma init: c0 -->* K [d1 1 2] 8 5.275Lemma init: c0 -->* K [d1 1 10] 8 1.
268Proof. unfold K, L0. cbn. solve_init. Qed.276Proof. unfold K, L0. cbn. solve_init. Qed.
270(* ================= abstract invariant (write-up section 3) ================= *)
278(* ======= abstract invariant (section 3 of the parent's write-up, carried over unchanged) ======= *)
271Open Scope nat_scope.279Open Scope nat_scope.
273Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.281Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.
⋯ 346 identical lines (template 274–662, ours 282–670)
663Proof.671Proof.
664 eapply multistep_nonhalt; [apply init|].672 eapply multistep_nonhalt; [apply init|].
665 change (K [d1 1 2] 8 5) with (Kc ([d1 1 2], 8, 5)).673 change (K [d1 1 10] 8 1) with (Kc ([d1 1 10], 8, 1)).
666 apply progress_nonhalt_cond with (P := INV).674 apply progress_nonhalt_cond with (P := INV).
667 - exact step.675 - exact step.
⋯ 4 identical lines (template 668–673, ours 676–681)
674```682```
6751RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---6831RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---
677K(d_1 .. d_m; a, b) := 0^inf 10 01 d_1 .. d_m (10)^a 000 (10)^b B> 0^inf685K(d_1 .. d_m; a, b) := 0^inf 10 01 d_1 .. d_m (10)^a 000 (10)^b A> 0^inf
678digit (u,0,v) := (10)^u 00 (01)^v, (u,1,v) := (10)^u (01)^v (d_m least significant)686digit (u,0,v) := (10)^u 00 (01)^v, (u,1,v) := (10)^u (01)^v (d_m least significant)
679start: 0^inf A> 0^inf -->* K((1,1,2); 8, 5) (step 483)687start: 0^inf A> 0^inf -->* K((1,1,10); 8, 1) (step 732)
681M (j* = last bit-0 digit):689M (j* = last bit-0 digit):
682 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)690 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 683–692, ours 691–700)
693```701```
694*)702*)
4Proof outlineCheck: the new items (green) carry the argument; the names read like the proof.md rules.

105 items in 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---.v (702 lines): 75 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 "1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---").
L26identicalexcept the TM string
2Lemmarot01
Lemma rot01 n (Y : side) : [0;1]^^n *> (0 >> Y) = 0 >> ([1;0]^^n *> Y).
L35identical
3Lemmalshift
Lemma lshift (xs : list sym) n (l : side) : l <* xs <* xs^^n = l <* xs^^(S n).
L41identical
4LemmaS1_1
Lemma S1_1 l r: l <* [] {{A}}> [0;1] *> r -->* l <* [0;1] <* [] {{A}}> r.
L47adapted
5LemmaS2_1
Lemma S2_1 l r: l <* [] {{B}}> [1;0] *> r -->* l <* [1;0] <* [] {{B}}> r.
L48adapted
6LemmaS3_1
Lemma S3_1 l r: l <* [1;0] <{{C}} [] *> r -->* l <{{C}} [] *> [1;0] *> r.
L49adapted
7LemmaS4_1
Lemma S4_1 l r: l <* [0;1] <{{D}} [] *> r -->* l <{{D}} [] *> [0;1] *> r.
L50adapted
8LemmaS6_1
Lemma S6_1 l r: l <* [0] {{A}}> [1;0] *> r -->* l <* [0;1] <* [0] {{A}}> r.
L51adapted
9LemmaS5_1
Lemma S5_1 l r: l {{B}}> [1;1] *> [0;1] *> r -->* l <* [0;1] {{B}}> [1;1] *> r.
L52adapted
10DefinitionS1
Definition S1 := shift_rule_R _ _ _ _ _ S1_1.
L54identical
11DefinitionS2
Definition S2 := shift_rule_R _ _ _ _ _ S2_1.
L55identical
12DefinitionS3
Definition S3 := shift_rule_L _ _ _ _ _ S3_1.
L56identical
13DefinitionS4
Definition S4 := shift_rule_L _ _ _ _ _ S4_1.
L57identical
14DefinitionS6
Definition S6 := shift_rule_R _ _ _ _ _ S6_1.
L58identical
15LemmaS5
Lemma S5 n: forall l r, l {{B}}> [1;1] *> [0;1]^^n *> r -->* l <* [0;1]^^n {{B}}> [1;1] *> r.
L60adapted
16LemmaT1
Lemma T1 l: l {{A}}> 0inf -->* l <{{D}} [0;1] *> 0inf.
L68adapted
17LemmaT2
Lemma T2 l r: l <* [0;0;0] <{{D}} r -->* l <* [0;0;1] {{A}}> r.
L69adapted
18LemmaT3
Lemma T3 l r: l <* [0;0;1] <{{D}} r -->* l <{{D}} [0;1;1] *> r.
L70adapted
19LemmaT4
Lemma T4 l r: l <* [1;0] <{{D}} r -->* l <{{C}} [1;1] *> r.
L71adapted
20LemmaT5
Lemma T5 l r: l <* [0;1] <{{C}} r -->* l <{{D}} [0;1] *> r.
L72adapted
21LemmaT6
Lemma T6 l r: l <* [0;0] <{{C}} r -->* l <* [0;1] {{B}}> r.
L73adapted
22LemmaT7
Lemma T7 l r: l {{B}}> [1;1] *> r -->* l <* [0;0] {{B}}> r.
L74adapted
23LemmaT8
Lemma T8 l r: l {{B}}> [1;1;0;1;1] *> r -->* l <* [0;0;0;0;1] {{A}}> r.
L75adapted
24LemmaT9
Lemma T9 r: 0inf <* [1;0;0;1] <{{D}} r -->* 0inf <* [1;0;0;1] <* [0;0;0] {{A}}> r.
L76adapted
25LemmaT10
Lemma T10 l r: l {{A}}> [1;1] *> r -->* l <* [0;0] {{A}}> r.
L77adapted
26LemmaT11
Lemma T11 l r: l {{A}}> [0] *> r -->* l <* [1] {{B}}> r.
L78adapted
27LemmaT12
Lemma T12 l: l {{B}}> [1;1] *> 0inf -->* l <{{D}} [0;1;1;0;1] *> 0inf.
L79adapted
28LemmaT13
Lemma T13 l r: l <* [1;0;1] <{{D}} r -->* l <{{D}} [0;1;1] *> r.
L80adapted
29LemmaT14
Lemma T14 l r: l {{A}}> [1;1;0;1] *> r -->* l <* [0;1;0;0] {{A}}> r.
L81adapted
30Lemmap01
Lemma p01 n (Y : side) : [0;1]^^n *> 0 >> 1 >> Y = 0 >> 1 >> [0;1]^^n *> Y.
L84identical
31Lemmap10
Lemma p10 n (Y : side) : [1;0]^^n *> 1 >> 0 >> Y = 1 >> 0 >> [1;0]^^n *> Y.
L86identical
32Lemmarot10
Lemma rot10 n (Y : side) : [1;0]^^n *> (1 >> Y) = 1 >> ([0;1]^^n *> Y).
L89identical
33LemmaLb
Lemma Lb u v l r:
l <* [0;1]^^(S u) <* [1;0]^^(S v) <{{D}} r -->*
l <{{D}} [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r.
L97adapted
34LemmaLf
Lemma Lf u v l r:
l <* [0;1]^^u <* [0;0] <* [1;0]^^(S v) <{{D}} r -->*
l <* [0;1]^^(S u) <* [1;0]^^v {{B}}> [1;1] *> r.
L104adapted
35LemmaRb
Lemma Rb u v l r:
l {{B}}> [1;1] *> [0;1]^^u *> [1;0]^^v *> [1;1] *> r -->*
l <* [0;1]^^u <* [0;0] <* [1;0]^^v {{B}}> [1;1] *> r.
L111adapted
36LemmaRo
Lemma Ro u v l r:
l <* [0;0;0] {{A}}> [0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r -->*
l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v <* [0;0;0] {{A}}> r.
L118adapted
37LemmachunkA
Lemma chunkA a b l:
l <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{A}}> 0inf -->+
l <{{D}} [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf.
L129adapted
38LemmachunkC
Lemma chunkC a b l:
l {{B}}> [1;1] *> [0;1]^^a *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*
l <* [0;1]^^(S a) <* [0;0;0] <* [0;1]^^(S (S b)) {{A}}> 0inf.
L135adapted
39LemmachunkO
Lemma chunkO a b l:
l <* [0;0;0] {{A}}> [0;1]^^(S a) *> [0;1;1] *> [0;1]^^(S (S b)) *> 0inf -->*
l <* [0;1] <* [1;0]^^(S a) <* [0;1]^^(S (S (S b))) <* [0;0;0] <* [0;1] {{A}}> 0inf.
L143adapted
40Inductivedg
Inductive dg := d0 (u v : nat) | d1 (u v : nat).
L154identical
41Definitiondl
Definition dl (d : dg) (l : side) : side :=
match d with
| d0 u v => l <* [0;1]^^u <* [0;0] <* [1;0]^^v
| d1 u v => l <* [0;1]^^u <* [1;0]^^v
end.
L157identical
42Fixpointapp_ds
Fixpoint app_ds (l : side) (ds : list dg) : side :=
match ds with
| [] => l
| d :: t => dl d (app_ds l t)
end.
L164identical
43DefinitionL0
Definition L0 : side := 0inf <* [1;0;0;1].
L170identical
44DefinitionK
Definition K (ds : list dg) (a b : nat) : Q * tape :=
app_ds L0 ds <* [0;1]^^a <* [0;0;0] <* [0;1]^^b {{A}}> 0inf.
L172adapted
45Definitionmap1
Definition map1 (os : list (nat*nat)) := map (fun '(u,v) => d1 (S u) (S v)) os.
L175identical
46Definitionmap0
Definition map0 (os : list (nat*nat)) := map (fun '(u,v) => d0 (S u) v) os.
L176identical
47Fixpointrw
Fixpoint rw (os : list (nat*nat)) (r : side) : side :=
match os with
| [] => r
| (u,v) :: t => rw t ([0;1]^^(S u) *> [1;0]^^v *> [1;1] *> r)
end.
L178identical
48Lemmaapp_ds_app
Lemma app_ds_app l xs ys : app_ds l (xs ++ ys) = app_ds (app_ds l ys) xs.
L184identical
49LemmaLbS
Lemma LbS os: forall l r, app_ds l (map1 os) <{{D}} r -->* l <{{D}} rw os r.
L187adapted
50LemmaRbS
Lemma RbS os: forall l r, l {{B}}> [1;1] *> rw os r -->* app_ds l (map0 os) {{B}}> [1;1] *> r.
L194adapted
51Fixpointro_out
Fixpoint ro_out (os : list (nat*nat)) (l : side) : side :=
match os with
| [] => l
| (u,v) :: t => ro_out t l <* [0;0] <* [1;0]^^(S u) <* [0;1]^^v
end.
L201identical
52LemmaRoS
Lemma RoS os: forall l r, l <* [0;0;0] {{A}}> rw os r -->* ro_out os l <* [0;0;0] {{A}}> r.
L207adapted
53FixpointOz
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.
L214identical
54DefinitionOout
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.
L220identical
55LemmaOzeq
Lemma Ozeq t: forall u l, ro_out t l <* [0;0] <* [1;0]^^u = app_ds l (Oz t u).
L226identical
56LemmaM_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)).
L234identical
57LemmaMdrop_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)).
L248identical
58LemmaO_spec
Lemma O_spec os a b: os <> [] ->
K (map1 os) (S a) b -->+ K (Oout os (S a)) (S (S (S b))) 1.
L262identical
59Lemmainit
Lemma init: c0 -->* K [d1 1 10] 8 1.
L275adapted
60Definitionbof
Definition bof d := match d with d0 _ _ => 0 | d1 _ _ => 1 end.
L281identical
61Definitionvof
Definition vof d := match d with d0 _ v => v | d1 _ v => v end.
L282identical
62FixpointRof
Fixpoint Rof (ds : list dg) : nat :=
match ds with
| [] => 0
| d0 _ _ :: t => 2 * Rof t + 1
| d1 _ _ :: t => 2 * Rof t
end.
L285identical
63DefinitionRd
Definition Rd d r := match d with d0 _ _ => 2*r+1 | d1 _ _ => 2*r end.
L293identical
64Definitionub
Definition ub d r := match d with d0 u _ => u + r + 1 | d1 u _ => u + r end.
L294identical
65FixpointAllD
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.
L296identical
66Definitioncanon
Definition canon d := match d with d0 _ v => v >= 1 | d1 u v => u >= 1 /\ v >= 1 end.
L302identical
67DefinitionPA
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).
L304identical
68DefinitionPB
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).
L306identical
69DefinitionLSBok
Definition LSBok ds := match ds with [] => False | d :: _ => vof d >= Rof ds + 1 end.
L309identical
70DefinitionINV
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
L311identical
71DefinitionKc
Definition Kc (s : list dg * nat * nat) : Q * tape := let '(ds, a, b) := s in K ds a b.
L319identical
72Lemmapow2S
Lemma pow2S n : 2^(S n) = 2 * 2^n.
L322identical
73Lemmapow2pos
Lemma pow2pos n : 2^n >= 1.
L324identical
74LemmaRof_bound
Lemma Rof_bound ds : Rof ds + 1 <= 2^(length ds).
L327identical
75LemmaRof_map1
Lemma Rof_map1 os X : Rof (map1 os ++ X) = 2^(length os) * Rof X.
L332identical
76LemmaRof_map1'
Lemma Rof_map1' os : Rof (map1 os) = 0.
L339identical
77Lemmalen_map1
Lemma len_map1 os : length (map1 os) = length os.
L342identical
78Lemmalen_map0
Lemma len_map0 os : length (map0 os) = length os.
L344identical
79LemmaAllD_app
Lemma AllD_app P xs ys : AllD P (xs ++ ys) -> AllD P ys.
L347identical
80LemmaAllD_last
Lemma AllD_last P xs d : AllD P (xs ++ [d]) -> P d 0 0.
L350identical
81LemmaAllD_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.
L353identical
82Lemmadecomp
Lemma decomp ds : Forall canon ds ->
(exists os, ds = map1 os) \/ (exists os u v rest, ds = map1 os ++ d0 u (S v) :: rest).
L359identical
83LemmaF1
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
L373identical
84LemmaPA_touch0
Lemma PA_touch0 u v r p : PA (d0 u (S (S v))) r p -> PA (d1 (S u) (S v)) r p.
L389identical
85LemmaPA_touch1
Lemma PA_touch1 u v r p : PA (d1 (S u) (S v)) (S r) p -> PA (d0 (S u) v) r p.
L393identical
86LemmaPB_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.
L397identical
87LemmaPB_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.
L401identical
88DefinitionRel
Definition Rel r ro rn := rn + 1 <= ro /\ ro <= 2 * (rn + 1) /\ (r = 0 -> ro = rn + 1).
L406identical
89LemmaPB_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.
L408identical
90LemmaPB_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.
L420identical
91LemmaF2chain
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')).
L430identical
92LemmaF2
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
L450identical
93LemmaOz_len
Lemma Oz_len t u : length (Oz t u) = S (length t).
L479identical
94LemmaOz_R
Lemma Oz_R t u : Rof (Oz t u) + 1 = 2^(S (length t)).
L482identical
95LemmaOz_AB
Lemma Oz_AB t : forall u, AllD PA (map1 t) -> u mod 2 = 1 -> (t = [] -> u = 1) -> AllD (PB 0) (Oz t u).
L489identical
96LemmaOz_CA
Lemma Oz_CA t : forall u, AllD (PB 1) (map1 t) -> u >= 2^(S (length t)) -> AllD PA (Oz t u).
L503identical
97LemmaRof_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)).
L518identical
98Lemmalen_M
Lemma len_M os u v w x rest :
length (map0 os ++ d1 w x :: rest) = length (map1 os ++ d0 u v :: rest).
L524identical
99LemmaLSB_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).
L528identical
100LemmaRof_head1
Lemma Rof_head1 os X : os <> [] -> Rof (map1 os ++ X) mod 2 = 0.
L535identical
101LemmaRof_head0
Lemma Rof_head0 os x y rest : Rof (map0 os ++ d0 x y :: rest) mod 2 = 1.
L540identical
102LemmaLSB_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).
L543identical
103Lemmaapp_cons_ne
Lemma app_cons_ne {A} (xs : list A) y ys : xs ++ y :: ys <> [].
L552identical
104Lemmastep
Lemma step s : INV s -> exists s', Kc s -->+ Kc s' /\ INV s'.
L558identical
105Lemmanonhalt
Lemma nonhalt: ~halts tm c0.
L670adapted
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 174: The rules M and O

The rules in busycoq comment style, for this machine:

1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---     (= tau of 1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---, tau = EABCDF)

K(d_1 .. d_m; a, b) := 0^inf 10 01 d_1 .. d_m (10)^a 000 (10)^b A> 0^inf
digit (u,0,v) := (10)^u 00 (01)^v,   (u,1,v) := (10)^u (01)^v      (d_m least significant)

start from K((1,1,10); 8, 1)                                  (step 732, 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.

O at m = 0 is the derivation of P§2.3 with no digits (no Lb and no Ro).

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 haltsparent link; = #11b's table, run from state E; named in #11b's .v header; named in #11b's proof.md; named in #11b's notes.md; named in #11's proof.md; named in #11's notes.md · review · compared side by side above · mechanism
#33 kill 91RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---✓Killed: never halts= #11b's table mirrored, run from state C; named in #11b's proof.md; named in #11b's notes.md; named in #33's proof.md; named in #33's notes.md · review · mechanism
#33b kill 101RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---✓Killed: never halts= #11b's table mirrored, run from state B; named in #33b's notes.md · review · mechanism
#11b kill 141RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---✓Killed: never haltsthis kill
#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
Named in a file but not linked (not counted as family)
W4-41RB0RA_1LC0RE_0LD0LB_1LA1LF_1RA0LF_1LC---▲Stucknamed in W4-4'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 541 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 5a95ad125127…; submission/ copy = checked sha256 5a95ad125127…
  • ✓
    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
    • proof.md L1: # 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---: delta proof from kill #11 (#11b, Checkpoint B)
    • proof.md L137: **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` (696 line
    • proof.md L165: ## 7. Checkpoint B (Dennis)
  • ○
    Family posted together?
    3 other kill(s) in the family: #11, #33, #33b; 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 1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---

Files

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

namesizechanged
notes.md ↓10 KB2026-10-10 16:47
proof.md ↓19 KB2026-10-10 16:34
how_proved.md ↓1.0 KB2026-10-14 10:51
status.json ↓1.8 KB2026-10-13 06:44
1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---.v ↓30 KB2026-10-12 18:17
img/5 items2026-10-16 10:29
rocq/6 items2026-10-10 16:36
submission/6 items2026-10-12 17:49
work/2 items2026-10-12 17:33
check_proof.out ↓4.1 KB2026-10-10 16:31
check_proof.py ↓37 KB2026-10-10 16:29
check_proof_long.out ↓4.0 KB2026-10-10 16:32
status.json in full
{
 "tm": "1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---",
 "status": "KILLED_NONHALT",
 "stage": "done",
 "updated": "2026-10-10",
 "reason": "check_kill PASS, independently re-verified",
 "label": "#11b",
 "parent": "1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---",
 "parent_note": "#11; this machine is #11's table renamed by tau = EABCDF (no mirror), started in #11's state B",
 "relation": "sibling of #11: #11's table renamed, started in #11's state B",
 "existing_work": "There may be existing work by hipparcos. The sheet (Results row 1276, Level 1 row 44) gives 'Done By: hipparcos' and links the Discord thread https://discord.com/channels/960643023006490684/1432566675533992019. The thread's opening posts (2025-10-27, pasted by Dennis on 2026-10-10 into data/discord/2025-10-27_hipparcos_1RB0RB.txt) are about THIS string (1RB0RB_..., not #33's 1RB0RE_...): block rules, a stride acceleration and hypotheses, with 'I don't have enough analysis to prove that yet'. Later posts were not pasted. The string is not in busycoq and is still on the 740 list (line 511). Dennis, 2026-10-10: prove it anyway as part of the #11 family and say plainly that there may be existing work by hipparcos; the submission does so and credits the thread.",
 "note": "Killed 2026-10-10: check_kill PASS on sha256 153aa11a...290a (702 lines; the audited 7fc83eeb...2ae3 plus comment-only header edits that replace internal kill labels with 'the parent'; code identical with comments stripped). Package in submission/ (with parent-proof.md = #11's submission proof.md). Not posted. Before posting: #11's and #33b's README/discord twins paragraphs still call this machine not formalized.",
 "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"
}