1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---
Status: KILLED_NONHALT (2026-10-10; see ## Kill at the bottom)
Class guess (agent / Dennis): binary counter with a re-pairing overflow. It is kill #11's table, mirrored and started in #11's state D (Skelet 1-like Class 2) / _
Spreadsheet notes / Discord thread:
- Sheet: Results tab, class only, with the note "Machine with the most common transitions". Level 0 tab ("not individually worked on"): "Fun fact: machine with the most common transitions". No status, no links, no strikethrough.
- On every snapshot from 2024-06-14 to 2026-10-07_778. A singleton group in 2026-10-07_eqv_1590.txt.
- Not on the UBRRBA (mxdys) or longitudinal (dyuan01) lists in data/discord/, and not in reports/discord-drafts.md. Not claimed, so not SKIPPED.
Viewer: https://bbchallenge.org/1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---
Observation
- Same table as our kill #11
1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---(check_kill PASS). Mirror #11's table (L <-> R) and rename its states A,B,C,D,E,F -> B,C,D,A,E,F, and you get this string exactly (checked cell by cell, 12/12). This machine's start state A is #11's D. - Four holdouts on the 778 list share this table up to renaming and mirroring (brute force over all 720 × 2 relabelings of the 778):
-
11 (start A), killed;
1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---(start B), hipparcos's Level-1 machine;1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---(start C, mirrored);- this one (start D, mirrored).
#11's notes listed the B and C starts but missed this one. The eqv_1590 file keeps all four in separate groups, so a kill of one does not cover the others.
- 1e9 steps from blank: no halt. Span −76,078..166 (76,245 cells), 38,119 nonzeros.
- Left edge ~2.4·t^0.5. Left records come 2 per left-edge visit and 4 per counter increment (76,078 by 1e9).
- The right edge grows +3 cells per overflow (166 right records, in triples, 52 overflows by 1e9).
- qsim (qsim.jsonl): block size 2, 0 prover rules, 2,180 failed proofs, so there is no acceleration. Same as #11.
- compress (scripts/compress_track_1e7.txt, aligned at left records) gives the head-local skeleton 0^inf <C (01)^a 0^3 (01)^b r, with a +2 and b +1 per visit. That is the K block below, with the roles a↔b swapped.
- Images (labels in observe.json → diagrams):
- img/default_site.png: the site view;
- img/cycle_10050.png: one counter cycle from the natural K at step 10,050, every 20 steps. Its start config is in img/cycle_from_10050_start.txt, which equals the run's tape at that step (checked);
- img/records_L_3e5.png: left records to 3e5;
- img/blaze_1e7.png;
- img/viewer.html.
- K-config (head at the left edge, state C, reading blank; it occurs at every 4th left record):
K(d_1..d_m; a, b) = 0^inf <C (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf, with d~ = (10)^v J (01)^u.
- J = 00 is bit 0; J empty is bit 1.
- d_1 sits next to the fixed 1001 (MSB) and d_m next to the block (LSB).
- This is exactly #11's K(d; a, b) = 0^inf 10 01 d_1..d_m (10)^a 0^3 (10)^b B> 0^inf, mirrored, with #11's B = our C. Digit (u, β, v) means the same thing in both.
- Between two K-configs there is one intermediate visit, <C (01)^(b+1) 0 (01)^(a+1), in the Y form.
Candidate rules
All in this machine's orientation. The scripts are in scripts/.
init: 0^inf A> 0^inf --82--> K(; 3, 1) --133--> K((1,1,3); 4, 1) (step 215, INV class A) [exact, direct sim]
M_k (carry; j* = last bit-0 digit, k = m - j*):
<C (01)^b 000 (01)^a [(10)^vj (01)^uj]_{j=m..j*+1} (10)^v 00 (01)^u P 1001
--> <C (01)^(b+2) 000 (01)^(a+1) [(10)^(vj-1) 00 (01)^uj]_{j=m..j*+1} (10)^(v-1) (01)^(u+1) P 1001
steps 32 + 8a + 8b + 4v + sum_{j>j*}(8 uj + 4 vj); needs v >= 1, uj, vj >= 1 (j > j*), a, b >= 0
v = 1: the digit (u+1,1,0) drops, i.e. the same string is re-read as fused with the next digit / the block [240/240]
O (overflow; all bits 1; m >= 1, all u, v >= 1, a >= 1):
<C (01)^b 000 (01)^a [(10)^vj (01)^uj]_{j=m..1} 1001
--> <C 01 000 (01)^(b+3) (10)^a (01)^vm [(10)^uj 00 (01)^(v(j-1)-1)]_{j=m..2} (10)^u1 00 1001
steps 89 - 4m + 8a + 20b + 4 sum u + 8 sum v [120/120]
- Random instances (
scripts/validate_rules.py, seed 33): 360/360 exact, tape and step count, run on this machine's own table with tools/sim.py. - M_k: k = 0..5, 61 drop cases (v = 1), 0–3 random higher digits,
a,bdown to 0. - O: m = 1..7.
- Sizes go up to 200.
- Window lemmas (
scripts/mirror_lemmas.py): #11's 20 window lemmas S1–S6 and T1–T14, mirrored, are each exact on this table. The check requires that the head never reads outside the window. F is entered only in T4m, T9m and T13m, and reads 0 every time. So #11's derivation of M and O as chains (proof.md §2.2–2.3 there) transfers verbatim.S1m 10<C -2-> <C01 S2m 01<D -2-> <D10 S3m A>10 -2-> 01A> S4m E>01 -2-> 10E> S5m 1011<D -6-> 11<D01 S6m 01<C0 -6-> <C001 T1m 00<C -3-> 10E> T2m E>000 -5-> <C001 T3m E>001 -3-> 110E> T4m E>10 -2-> 11A> T5m A>01 -2-> 10E> T6m A>00 -3-> <D01 T7m 11<D -2-> <D00 T8m 11011<D -9-> <C00001 T9m E>1001000 -13-> <C0001001 T10m 11<C -2-> <C00 T11m 0<C -1-> <D1 T12m 00011<D -13-> 10110E> T13m E>101 -3-> 110E> T14m 1011<C -4-> <C0100 - Closure on the real machine (
scripts/closure_long.py→scripts/closure_1e9.json): start from K((1,1,3);4,1) at step 215. Predict each next K with the macro model and check that tools/sim lands on it exactly. - Result: all 18,976 macro steps to step 999,982,947 match: O 52, M0 9462, M1 4757, M2 2377, M3 1186, M4 591, M5 292, M6+ 259.
- The last predicted K, at step 999,982,947, is the last left record of the independent 1e9 run.
- Every regime reached from blank to 1e9 is therefore init + M_k + O.
- Invariant (#11 proof.md §3, imported read-only from #11's check_proof.py): every K state in the 1e9 closure is in INV (A 6759, B 6096, C 6122). The rules-only orbit from step 215 stays in INV:
- 3e6 macro steps (t = 2.35e13, 103 overflows, 18 digits):
scripts/orbit_3e6.json. All in INV (A 1,063,862, B 1,063,862, C 872,276; 86 drops). - A 3e7-step run was stopped unfinished at session end. Not needed, since INV closure is proved in Rocq for this table (#11).
The K at step 215 is class A: top (1,1,3), S ≥ 1, ubar odd, vbar ≥ 1. The earlier K(; 3, 1) at step 82 has no digits, so it is not in INV, which is why the init stops at 215.
- scripts/init_from_D.py scans the K-configs for all four start states of #11's table. It reproduces #11's recorded inits (start A: 483, class A; B: 732; C: 687) and finds start D: 215, class A.
- Pre-overflow history (observe.json → history, 36 of 52 overflows): structured values such as 2^k−1, 2^k and 3·2^k−2, and the classes alternate A/C at overflows. There are no parity coin-flips.
Template check
- Nearest proved neighbour: our kill #11, with an identical table (0 transitions differ after mirror and rename). M, O, the window lemmas, INV and the closure proof (proof.md §3, formalized in #11's .v as
INV,step,M_spec/Mdrop_spec/O_spec) apply unchanged. Onlyinitis new: 215 steps toK [d1 1 3] 4 1in #11's Rocq notation (d1 u v), against #11's 483 steps toK [d1 1 2] 8 5. - targeting.md's templates, SBCv6 TM21 and TCv3, are only loose architectural relatives, as they were for #11.
- Formal routes:
- (a) Scripted mirror of #11's .v: rename states, swap
<*/*>and{{X}}>/<{{X}}, and reverse the list literals. Then changeinit. OneDefinition tmwith this string, so check_kill is clean. - (b) Keep #11's development for
tm11, proveinitfrom state D, and transport the result with busycoq'sFlip.v(flip_halts_iff) andPermute.v(perm_nonhalt). This needs both modules instantiated in the Individual62 context. It adds a secondTM_from_str, which check_kill warns about but does not fail. - The same port, with the C-start init (687 steps, class A, per #11's notes), would also kill the C-start mirror twin.
Cryptid check (ground rule 6)
Not a cryptid. The dynamics are an exact binary counter with deterministic carries and a deterministic re-pairing. There is no parity-of-growing-number branching that decides halting. Halting would need a carry to reach a bit-0 digit with v = 0, and #11's INV, already proved in Rocq for this table, rules that out. Here INV holds from step 215 on.
Checkpoint A (Dennis)
Informal proof
2026-10-10: proof.md written (stage informal_proof, status OPEN; Checkpoint B pending, non-blocking).
- Written in this machine's own orientation:
- K = 0^inf <C (01)^b 000 (01)^a d~_m .. d~_1 1001 0^inf, with d~(u,β,v) = (10)^v [00] (01)^u;
- M and O derived as chains of the 20 window lemmas (#11's names, mirrored);
- #11's §3 INV and closure verbatim (it is stated on triples only);
- init: blank -82-> K(;3,1) -133 (O at m=0)-> K((1,1,3);4,1) at step 215, class A (T = 0, tight);
- §0 tabulates the four holdouts with this table (starts A/B/C/D, inits 215/483/732/687).
- check_proof.py, self-contained, 13 checks. ALL PASS with the default seed (check_proof.out) and with --seed 2026 --tm-steps 1e9 --orbit 1.2e6 --induct 6e5 (check_proof_long.out, about 90 s). The long run includes:
- the real-machine closure at all 18,977 macro boundaries to step 999,982,947;
- link-by-link M/O chains (37,220 + 9,996, including m = 0);
- 600k random-INV inductiveness;
- the 4-holdout relabeling search over the 778 list.
- rocq/plan_check.v (1.2 s) confirms the mirror dictionary of proof.md §6. These compile:
- S1–S6, T1–T14, Lb/Lf/Rb/Ro;
- the mirrored K;
- init: c0 -->* K [d1 1 3] 4 1 (solve_init).
- Correction to "Formal routes (a)" above: list literals are not reversed under the mirror, because busycoq sides are nearest-cell first.
2026-10-10, skeptic revision. Verdict: sound, 2 minor gaps, no fatal or major one. Both are resolved; the Review log is at the end of proof.md.
- Gap 1: the three rule specs (and LbS/RbS/RoS/chunkA/chunkC/chunkO/Ozeq) are not yet proved in Rocq on this table, so the carry-over of #11's step/nonhalt was conditional on keeping the spec statements verbatim.
- Now Rocq-checked: rocq/abstract_check.v (built by scripts/make_abstract_check.py) puts #11's abstract part, verbatim, over this machine's plan_check.v (tm, K, init), with #11's three spec statements as its only section hypotheses.
- Coq 8.20.1, 8.9 s, exit 0. nonhalt : M_spec -> Mdrop_spec -> O_spec -> ~ halts tm c0 for this string, closed under the global context (rocq/abstract_check.out).
- New check 14 in check_proof.py (16/16, with 3 negative controls) makes the interface mechanical. #11's abstract part uses exactly tm, dg/d0/d1, K, map0, map1, Oz, Oout, the three specs and init, with no unfold K. proof.md §6 quotes the specs verbatim, and abstract_check.v is the verbatim assembly with a matching compile record.
- Oz must also be copied verbatim; the reviewer's list omitted it.
- Gap 2: the stale "skeptic review not done" bullet is replaced by a record of the review's independent checks (0 failures).
- Re-run: check_proof.py ALL PASS, 14 checks, default and long. plan_check.v recompiles in 1.19 s.
- Status: CHECKPOINT_B (stage informal_proof). Not a kill. Next: port the 3 specs and their supports name for name, swap them in for the section hypotheses, and run check_kill.
Formalization log
Outcome
Kill
- 2026-10-10: KILLED_NONHALT. Kill file
1RB0RE_1LC0RE_1LD0LD_1RA0LC_1RA1RF_1RA---.v(669 lines, sha256de6bda6c8bb3503ad05411dfd417cfd70a4d047eafb6fa9f59513284c107ce22) proves top-levelLemma nonhalt: ~halts tm c0.. tools/check_kill.sh: PASS 3 times on the same sha256.- Formalizer: compile 11.4 s (native on), coqchk pass 2.2 s, 0 assumptions (
rocq/check_kill.out). - Independent audit,
--json, 17:46:58Z: 17/17 checks pass, compile 9.9 s, coqchk pass 1.9 s, 0 assumptions. The audit also:- confirmed the string is line 34 of
data/holdouts/2026-10-07_778.txt(holdouts.py containsandgrep -nx); - read the file end to end and found nothing suspicious: Individual62 plus 5 stdlib modules, no Module/Section/Variable/Set/Arguments/Opaque/Hint/Instance, only the three local
-->notations, no rebinding of tm/c0/halts/TM_from_str, all ASCII; - compiled its own copy with extra checks:
Print Assumptions nonhaltclosed, andnonhalttype-checks against the fully qualifiedhalts,TM_from_str "<string>"andc0(=(q0, tape0), TM.v:210).
- confirmed the string is line 34 of
- Fresh human-readable run for the submission, 17:49:20Z: compile 9.7 s (native on), 0 assumptions (closed), coqchk pass 1.8 s (
submission/check_kill.txt). - The proof is route (a) of proof.md §6, the scripted mirror of kill #11:
- machine part: #11's window lemmas S1–S6/T1–T14, digit lemmas Lb/Lf/Rb/Ro, sweeps
LbS/RbS/RoS,chunkA/chunkC/chunkO,OzeqandM_spec/Mdrop_spec/O_spec, mirrored by hand (l {{q}}> r↦r <{{π q}} l,l <* xs↦xs *> l, list literals unchanged), with the spec statements word for word; - abstract part (INV, F1–F3, closure): #11's text byte for byte apart from
Lemma step→macro_step(checked by diff against #11's .v); - new:
init : c0 -->* K [d1 1 3] 4 1(215 steps,solve_init) and the base ofnonhalt(class A). It importsIndividual62only from busycoq and has oneTM_from_str. Details: rocq/log.md, atlas/rocq-notes.md. - Submission package:
submission/. - The .v, unchanged (same sha256).
- proof.md, a copy built by asserted single-match edits from the working copy (sha256
20798a08…): header status/AI lines and sheet row 1277, §3 intro, end of §4, §5, a §6 note plus a new "How the .v file is organized" subsection, §7 (Rocq row, gaps) and §8. The working proof.md is untouched. - check_kill.txt (the 17:49:20Z run), README.md.
- discord.md, a draft of 1,740 characters plus
<LINK>. Not posted. - Before posting:
- Post #11's message first (or both together), and fix #11's draft, which names only two other holdouts with its table; there are three.
- Discord #bb6 was never searched for this string; search first. The
observe.jsondiscord_checkquestion was never sent. If reports/discord-drafts.md Message 2 is still unsent, update its group 2. - 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.
- Twins not killed: hipparcos's
1RB0RB_1LC0RA_1LE0LD_1LC1LF_1RA0LD_1LC---(Level 1 tab) and1RB0LD_1RC0RE_1LD0RE_1LA0LA_1RB1RF_1RB---. Both reach class A in simulation (inits 732 and 687 steps, proof.md §0), so the same port with a new init applies, but each needs its own .v.