/machines/1RB0RA_1LC0LF_1LE0LD_1LB---_1RA1LB_0LD0RC/notes.md · raw

1RB0RA_1LC0LF_1LE0LD_1LB---_1RA1LB_0LD0RC

Status: STUCK after the funded size_invariant stage (confidence med: the mechanism is ruled exactly; non-halting reduces to one inequality, T_k + 1 <= I_k, with no inductive proof found; see "Funded stage (2026-10-10, size_invariant)") Class guess (agent / Dennis): Bell eats counter. A tm108-like bell of 110/010 blocks eats a binary counter with 3-cell digits. The eat size varies, so this is not BECv1. / – Spreadsheet notes / Discord thread: Results tab: "Bell eats counter", with no status, notes, sources or done-by. Classifications tab: Bell eats counter column. Not in the dyuan01 or UBRRBA lists (data/discord/). Not in solved_index (no byte-exact, notation or mirror match). The neighbours of mxdys templates are fair game (Dennis, 2026-10-10), so no Discord check is needed. In every holdout snapshot since 2024-06-14 (26/26). Pool: reserve R2 (reports/targeting.md §4.4). It is 2 transitions from tm108 (BECv1_6x2_solved.v:872) and 1 from #29 1RB0RA_1LC0LF_1LE0LD_1LB---_1RA1LB_0LB0RC, which another agent is observing in parallel. Viewer: https://bbchallenge.org/1RB0RA_1LC0LF_1LE0LD_1LB---_1RA1LB_0LD0RC

Observation

Figures (img/; every label field is in observe.json → diagrams): - blaze_1e8.png: --mode blaze --steps 1e8 --blaze-engine wasm --as-site. - rounds_aligned.png: custom, from scripts/round_strip.py rounds_3e7.txt 2.5e5 4.7e5 img/rounds_aligned.png 80 112 3. The rounds file comes from scripts/rounds2.py 3e7. This is the most telling figure: triangles are epochs, and the left word grows and shrinks at the resets. - reset_every40.png: --from-config @<config at step 290000> --mode every:40 --steps 24000 --scale 2. - default_site.png: --as-site.

Candidate rules

All are checked by simulation. scripts/validate_rules.py 200 writes validation.json, with random n/k/v/e/f and random contexts l, r.

rule from → to steps passed
R1 l A> (110)^n 1 r → l (001)^n A> 1 r 7n 200/200
R4 (= tm108 HR1) l A> (101)^n r → l (010)^n A> r 7n 200/200
R2 (= tm108 HR3) l (010)^n <B r → l <B (101)^n r 3n 200/200
R3 (uses F0) l (001)^n <B r → l <B (100)^n r 3n 200/200
INC2, S=001 0^inf 1 W(v) 001 A> 1 (110)^e (010)^(f+2) 1 0^inf → 0^inf 1 W(v+1) 001 A> 1 (110)^(e+2) (010)^f 1 0^inf; overflow v=2^k-1 → 1 (000)^(k+1) 001 – 200/200
INC2, S=000100101 same – 200/200
ROUND (blank run) (e, f+1) → (e+1, f) with N fixed, every round from blank – all rounds to 1e11 (3,935,408 rounds, 1,082 epochs; epochs.c bad=0)
RESET-odd f=0 after an odd last round → e'=1, f'=N, boundary −1 – all odd resets
RESET-even f=0 after a clean last round → e' ∈ [2, 47], f'=N, boundary −(3e'−2) – all even resets (e' not predicted)

Open: (a) the carry automaton on mixed words (INC2 for general L); (b) the eat automaton, i.e. predicting e' and L* from L; (c) a language for L closed under both, with a size condition.

Closure fuzz (scripts/fuzz_lang.py, scripts/fuzz_replay*.py): - The naive language "1 (x0b)^k, no 11, last cell 1" with random (e, f) halts 51/300 times, so it is too loose. Several of those starts are also invalid, for example e = 0. - Real left words from the run with random small (e, f) halt 2/300. Both halts have N < |L| (N = 11, |L| = 31 and N = 12, |L| = 57). - Real left words with N ≥ 0.3|L| + 1..20 halt 0/400 over 2 epochs each. - So the invariant needs the right L language and a bound N ≳ c|L|.

Template check

Nearest proved neighbour: tm108 1RB0RA_1LC0LF_1LE0LD_1LB---_1RA1LE_0LB0RC, verify/BECv1_6x2_solved.v:872 (solve_BECv1 tm108 (Build_BEC_cert_v1 B A E A [0] [1] [1] [] [] [1;0;1] [0;1;0] [0;0] [] [] [0;0] [1;1] [1;1;1;0;1;1;0;1] [0;1;0;0;0] 1 0 0)). It differs from ours in E1 (1LE vs ours 1LB) and F0 (0LB vs ours 0LD).

scripts/template_check.py (→ template_check.json) runs all 12 of tm108's cert hypotheses on both machines: - tm108: 12/12 (sanity check). - Ours: 9/12. - These hold: HL1, HL3, HL4, HL5, HR1, HR3, HE0, HE1, HE3. - These fail 0/25: - HL2, the binary carry 1 <E → <E 1, which needs E1=1LE. - HR2, the 00 marker step, which uses F0. - HE2, the marker birth at the right end.

Applies: partly. These carry over: - the sweep lemmas and the HE0/HE1/HE3 pieces.

These do not carry over: - the counter (3-cell digits), - the marker (a 110|010 border), - the eat size (3e'−2 cells with e' = 1..47, not the constant a = 1).

mxdys's BECv1 search would have failed for exactly these reasons.

Cryptid check (ground rule 6)

Not flagged, but this is a borderline case.

The abstract dynamics are N_{k+1} = N_k + e'_k: - e'_k = 1 when epoch k ends on an odd round. - Otherwise e'_k = g(L_k), the eat size, where L_k is the counter after N_k − e_k increments since the last eat.

That is an arithmetic feedback loop, and the e' sequence looks irregular. However, no tested halt depends on it. Halting appears only for artificial starts with N < |L|, while the real run keeps N/|L| ≥ 1.4 and growing.

Whether g, and the L language, are regular is the open question. If g turns out to need the counter's value rather than a bounded window of its digits, revisit the cryptid flag.

Checkpoint A (Dennis)

(waiting: Q3 asks whether to spend a deepen stage or park)

Informal proof

Not started. Confidence is low, so it waits for Checkpoint A.

Formalization log

–

Outcome

–

Decision (2026-10-10)

Question: Spend a deepen stage on the left-word language and the eat size e', starting with an early cryptid test, or park R2 behind its sibling #29? Answer: deepen (One deepen stage (2 h), opening with a bounded-window test for e'). Dennis: go with all recommendations (2026-10-10).

Funded stage (2026-10-10, deepen)

Scope (decision deepen): first test whether e' is regular or needs the counter's value (stop rule: flag CRYPTID_CANDIDATE if it needs the value), then the carry/eat automaton on mixed words, a closure fuzz with an N vs |L| bound, and a proof-route choice. Scripts are in scripts/deepen/.

Result of the stop-rule test: e' is regular. No cryptid flag. The eat is one left sweep of the TM's left-moving states, which form a 5-state DFA (B0→1 C, B1→0 F, C0→1 E, C1→0 D, D0→1 B, E1→1 B, F0→0 D; it stops at E0 or F1 and halts at D1). Read in 3-cell units, the DFA gives a simple rule: e' and the leftover word are a "drop the suffix, then shift the grid by one cell" function of the digits. They do not depend on the counter's numeric value.

Unit view (G0 grid)

At a clean round, 0^inf L A> 1 (110)^e (010)^f 1 0^inf with L = P u_1..u_k 1. The units u end at L[-2] and are read MSB first: - z = 000 (digit 0), o = 100 (digit 1), s = 010 (spacer), t = 001 (a pending increment). - Prefix 10 is a leading s and 1 is a leading t; the missing cells are 0^inf. - Clean-round words to 1e10 contain only z, o, s, t (434,762 words; t in 482 of them).

This is the same unit alphabet and the same eat re-reading as #29.

Sweep tables (B reads a unit's last cell first; A starts at a unit's first cell): | rule | from → to | steps | random instances | |---|---|---|---| | UB_s / UB_o / UB_t | l s <B r → l <B 101 r, o → 111, t → 100 | 3 | 400/400 on each of 4 seeds | | UB_z (turn) | l 000 <B r → l 100 A> r | 5 | 400/400 ×4 seeds | | UA_D / UA_S | A> 111 → 000 A> (3), A> 101 → 010 A> (7) | | 400/400 ×4 seeds | | UA_T (bounce) | l A> 100 r → l <B 101 r | 5 | 400/400 ×4 seeds | | (halt) | B meets 101 or 110 (D reads 1) | | follows from the table |

Validated macro rules (umodel.py)

Non-halting argument (what is and is not shown)

Open. - The inductive proof that the pending-t height h stays below log2(N) − 2 (equivalently, that the t's clear within ~N/4 increments). It must follow from how the eat word is built: the overflow digits form a spacer-free top block, and the spacers live in the low part. It is not derived yet. - The init segment before step 241. - Step counts per macro rule, which are not derived (the rules are validated on configurations).

Proof route: not BECv1. The invariant couples the digit structure to N (BEC-style), so a plain regular CTL/RWL certificate is unlikely. The natural route is a hand-written busycoq proof in the BECv7 style (counter as a digit list, unary bell, the shift as a list map), proving the size invariant as a lemma. #29 has the same z/o/s/t alphabet and the same shift map, so a shared counter/shift lemma is plausible.

Decision (2026-10-10, auto-applied)

Question: Spend one stage proving R2's size invariant (every pending t clears before the next eat) and then write proof.md, or park R2 until #29's eat work gives a shared lemma? Answer: size_invariant (One stage (2 h): derive the size invariant, then proof.md). auto-applied: Claude's recommendation, under Dennis's standing instruction 'do your recommendations and continuously orchestrate' (2026-10-10, while he was at lunch). Override any time.

Funded stage (2026-10-10, size_invariant)

Scope (decision size_invariant): search natively on the validated epoch model for an inductive size invariant, check it to N = 1e7 and on random states, then write proof.md if it closes. Exit rule: if no inductive form is found within the stage, report STUCK and name the arithmetic it would need. Scripts and results are in scripts/sizeinv/ (results/). Coq was not used.

Outcome: STUCK at one inequality. No inductive invariant was found. The reduction is much sharper than before, though: non-halting from the step-241 epoch now follows from a single bound on the total value at each epoch start (R1 below).

Balls-and-gaps view (a restatement of the validated INC/EAT rules)

So everything rests on R1: T_k + 1 <= I_k at every epoch, plus Δ + 1 < 2^m in the special case. - Observed: R1 holds at all 808,539 epochs to N = 1e7 (results/firstt_1e7.txt). - T/I peaks at 0.875 for N in [16, 32), 0.41 for N >= 64, and 0.284 in the 2^13 octave. It stays <= 0.13 for N >= 2^14 to 1e7 (results/binned_1e7.txt).

Why R1 did not close

The arithmetic it would need: a crossing lemma. As V passes 2^m (V = 2^m + δ_k, where δ_k is driven by e_k and T_k), the sum over balls of 2^(Z_gap(2^m + δ_k)) must stay <= c·2^m with c < 1/2. The loop is self-limiting: a larger T means a larger δ, so more ones in the low bits, smaller gaps and a smaller T. Nothing here proves that. - A possible route is scale invariance. Near a crossing only δ and the low part of the word matter. For m >= m0, a finite crossing automaton over (δ mod 2^r, low word) might then be checkable natively, with the epoch model covering m < m0. This was not attempted (budget).

Still open: R1 (with the Δ + 1 < 2^m side condition), the crossing lemma behind it, the init segment before step 241, and step counts per macro rule. proof.md was not written, because the invariant did not close.

Decision (2026-10-10, auto-applied, round 3)

Question: R2's size invariant is reduced to one inequality that needs a crossing lemma near powers of two: park R2 until #29/R3's size-invariant stages report, fund an R2 crossing-lemma stage now, or park it for good? Answer: wait_shared (Park until #29 / R3 report on the same lemma). auto-applied: Claude's recommendation, under Dennis's standing instruction 'do your recommendations and continuously orchestrate' (2026-10-10, while he was away). Override any time. Waiting (auto-applied wait_shared, 2026-10-10): R2 parks until the joint R3/R2 crossing-lemma stage and #29 report on the same size lemma.

Joint crossing stage (from R3, 2026-10-10)

Run from R3 (machines/1RB0RF_1RC0RE_1LD1RA_1LA0LD_1RA---_0RA0LB, notes "Funded stage (2026-10-10, crossing)", scripts in its scripts/crossing/). It was native only, with no Coq. R1 is not proven for R2, so R2's status stays STUCK (parked).

What R3 got: - An exact integer epoch model: - A word is (digit value, multiset of j depths), with potential Y = v + Σ 2^depth. - The b=0 steps act on the potential U as E: U → (U+2)/2^μ − 2, B0: (U+2)/2^(r+1) − 1, and B1: U + 1. - It matches R3's token model on 100,000/100,000 epochs and runs 1e7 epochs in about 2 minutes. - Lemma S (paper, checked on 100,000 trajectory epochs and 59,887 random states): - Every eat shift lowers the top j by at least one depth. - So the bell after epoch e is safe whenever zb(Y_e) ≤ bitlen(N_e) − 1 + s_e, with the exact-power case Y_e = 2^m handled separately. - In particular it is safe whenever Y_e < 2^(bitlen(N_e)+1). - R3's remaining gap is the Big-Y lemma: - It concerns epochs with Y_e ≥ 2^(m+1). Only 3 occur in 1e7 epochs (N to 1.44e8), each right after an exact-power pair (Y = 2^m twice). - It is not proven, and the candidate C0 is not inductive on random near-crossing states. - A warning on margins: R3's safety margin first fell to its minimum, 1.000 bit, at epoch 350,274 (N = 2^22 − 4,693). The prep stage had seen 2.3 bits to 1e5 epochs. A rare deep crossing therefore first appeared at N ≈ 2^22.

What may transfer to R2 (untested here; for the next R2 stage): 1. Eat shift buys one bit. R2's Lemma B already gives gap − 1 at an even eat. An R2 version of Lemma S would need 2^h1 ≤ I only up to that bit, so R1 (T_k + 1 ≤ I_k) might be relaxed at even eats. 2. Exact-power pair = R2's special case. All of R3's L failures are Y = 2^m exactly, in pairs, the first with an eat shift and the second without. That is the analogue of R2's V = 2^m with two odd eats. In R3 the pair itself is safe by Lemma S, with a structural 1-bit margin. The open part is only the epoch after it, the analogue of R2's Δ + 1 < 2^m. 3. Test R1 past N = 1e7. R2's R1 checks end at N = 1e7 ≈ 2^23.3. An integer epoch model like R3's would reach many more crossings cheaply. The lesson from R3 is that a margin minimum can first appear late.

Not done here: - no R2 model run; - no proof of R1 or of Δ + 1 < 2^m.