Rendered from notes.md (raw file). The running log for #2: observation, rules, Checkpoint A, kill record.
img/)Candidate rulesCheckpoint A (Dennis), 2026-10-10Informal proofFormalization logOutcomeCard data pass (2026-10-10)KillStatus: KILLED_NONHALT (2026-10-10; see ## Kill at the bottom) Class guess (agent / Dennis): Bell eats counter = SOMDCv6 TM7 + a "+1 pass at each 110 entered" / – Spreadsheet notes / Discord thread: Results row 1035: class "Bell eats counter"; Status, Notes, Sources, Done By all blank; no links, comments or strikethrough. Not on either Discord list in data/discord/. Its twin 1RB0RA_… (A1=0RA, row 1048) is also open. Viewer: https://bbchallenge.org/1RB0RF_1LC0RE_0LC0LD_1RD1LB_0RF1RA_0RB---
0RF here and 0RC in TM7. The other 11 are equal.
S(r) = 0^inf 11 D> r 0^inf, where r is a word over the digits L=110, 0=000 and 1=100. No other digit appears up to 1e9 steps.
T = 1LLLLLLLLLLLL11L0L0000101. 17 boundary configs have |T| ≥ 17.
0^inf 1^a (011)^b ….
img/) #Both pairs start from the same constructed configuration: S(L^4 1L1) = 0^inf 11 D> 110 110 110 110 100 110 100 0^inf. Neither machine passes through it from blank. Each pair shows every step, both panels top-aligned at the same scale. To regenerate: python3 -B scripts/compare_tm7.py.
eat_pair.png: one eating pass each, from the start until the eater reads the 1-digit at cell 12.
sweep_pair.png: one full sweep each.
S(L^9 111) after 421 steps, TM7 at S(L^7 101) after 237. Both end with the wall 1 cell further left.
sweep_ours.html and sweep_tm7.html: zoomable viewers of the same two sweeps. Hovering shows the step, state and cell.
S(L^8 0L11) at step 809.
L^8 0 L the same way (9 A1s).
eater_ours.png / eater_tm7.png. They showed the same 420-step window from that config, which is a different phase for each machine. Ours was still eating (eating ends at step 381). TM7 had finished eating at step 102 and was mostly draining. So the pair could not isolate the difference.
The digit form is the same as TM7's in SOMDCv6.v.
Sweep: S(r) -->+ S(eat(r)), with the wall one cell further left.
eat is TM7's RIncs hx 0, plus the two clauses marked NEW. Together they say: every L entered fires exactly one +1, whether the eater enters it or a drain pass does.
eater, k: 0 -> L, k+1 L -> L, k+1, +1 to the rest (NEW) 1 -> L, enter count mode with k
count, k>=1: L -> L, back to eater with k, +1 to the rest (NEW)
1 -> L, k-1 0 -> 0, (k-1)/2 if k odd 0 -> 1, (k-2)/2 if k even
right end: k=0 -> 1; k odd -> 0, (k-1)/2; k even -> 1, (k-2)/2 (repeat)
+1 = little-endian binary over the 0/1 digits; L digits are skipped; overflow appends 1
S(L^8 0L11). The eater stops at the first 1 of the tail 11 with k = 10, and that 1 becomes L. The second 1 absorbs one pass (k = 9). The right end writes 9 as 0101, giving L^12 0101. Adding 10 to the tail would have given 1011.
Where the +1 comes from: A1 fires exactly when an L is entered, once per L digit of r in every sweep.
A1 = 0RC turns straight back.
A1 = 0RF runs one ordinary h-pass over everything to its right, then comes back. It ends exactly where TM7 is one step after its A1: state C, one cell right of the A1 cell. The only change is that the digits to the right are +1. The pass itself:
B> 100 -> 000 B> (carry);
B> 000 -> <C 100;
B> 110 -> 011 B>, then on the way back 011 <C -> <C 110.
1 D> 110 X -> 1 111 D> inc(X) in 6j+13 steps (j = digits before the first 000 in X). TM7: -> 1 111 D> X in 11 steps.
B> 1 110 X -> 1 111 D> inc(X) in 6j+12 steps. TM7: -> 1 111 D> X in 10 steps. The eater restarts there.
Tests (all by simulation; run python3 -B check_rules.py):
| check | result |
|---|---|
| Sweep, from blank, every left record to 1e9 | 208/208 (TM7's map alone: 1/208) |
| Sweep, random r, first half / second half | 120/120 and 174/174 |
L entry, ours vs TM7 (--lentry): eater and drain contexts, every X up to 6 digits plus 300 random X up to 60 digits | 1393/1393 in each of the 4 cases |
Eater enters L, random X (in low_level) | 150/150 |
| Each low-level chain (a = 0..1500) | 45/45 |
Abstract map from S(L1) | 9,432 sweeps (~2e14 steps), ending at n = 109,794, without leaving the domain of eat; the smallest pass count seen in count mode is k = 1 |
Not a cryptid: the rules are counter arithmetic (+1, halving a pass count), with no branching on the parity of huge numbers.
Not started (waits for Checkpoint A). Plan:
Inductive Inc, proved as sideRLs tm [h] (toRC r) (toRC r').
Inc into RIncs_hx_ld (eater enters L) and RIncs_h1_ld (drain pass enters L).
RIncs_nxt and the domain lemma; this is the main risk.
nonhalt exactly as TM7 does.
img/eat_pair.png, Fig 2 = img/sweep_pair.png, Fig 3 = img/default_site_1e4.png, Fig 4 = img/records_1e9.png, Fig 5 = img/blaze_1e7.png. Figs 1-3 are the primary figures, shown beside the checkpoint.
[answered: yes]; only the PNG names were replaced by Fig numbers.
1RB0RF_1LC0RE_0LC0LD_1RD1LB_0RF1RA_0RB---.v (597 lines, sha256 3b29083b31f348bb3172c47b7e51a389b324165d9c38a073a56d9f9a760a651d) proves top-level Lemma nonhalt: ~halts tm c0..
tools/check_kill.sh: PASS 3 times on the same sha256.
--json: 17/17 checks pass. The audit also confirmed the string is line 301 of data/holdouts/2026-10-07_778.txt and read the file end to end; no suspicious constructs.
Inc (one h pass = +1, L skipped);
Inc premise in the two L clauses of RIncs;
key, with j pending +1s and Inv. Details: proof.md, rocq/log.md, atlas/rocq-notes.md.
submission/.
<LINK>. Not posted.
1RB0RA_… (A1 = 0RA, row 1048) is still open. Per observe.json it uses extra digits 010/011/111, so this proof does not carry over.