{
 "tm": "1RB1RC_0LC1RE_1RA0LD_1LB0RD_0RF---_0RA0RF",
 "rank": 9,
 "class_sheet": "Unknown",
 "class_guess": "Binary counter in 0^2/0^3 gaps between unary blocks, fuel block refilled x1.5 per epoch (Collatz-like refill a -> ceil(3a/2)+1)",
 "confidence": "med",
 "summary": "Binary counter in the gaps; the fuel block refills ~x1.5 per epoch (a -> ceil(3a/2)+1); halting seems independent of it",
 "mechanism": [
  "Tape = unary blocks separated by 0^1/0^2/0^3 gaps. Each cycle a zigzag runs left from the edge writing 01 per pair of 1s; the run back right decodes it.",
  "The zigzag passes odd blocks with 0^2 on their left and stops at an even block or a 0^3 gap: a binary counter in the gaps (0^2 = 1, 0^3 = 0). An odd block after 0^1 would halt.",
  "The last block is fuel (-4 every two cycles). When it runs out, the counter is rebuilt and refilled: F = 8a+6 with a -> ceil(3a/2)+1. Ten block rules match all 75,581 cycles to 4e9; residue-mod-8 fuzz never halts."
 ],
 "diagrams": [
  {
   "mode": "default",
   "png": "img/default_site_1e4.png",
   "html": "img/viewer.html",
   "steps": 10000,
   "caption": "bbchallenge default view, first 10,000 steps",
   "title": "bbchallenge default view",
   "why": "The standard picture. The tape grows to the right only; the head sweeps back and forth near the growing edge.",
   "primary": false,
   "start": "blank",
   "rows": "every step; 10,000 steps squeezed into 500 px (site canvas)",
   "window": "cells -200..199, 1 px = 1 cell",
   "legend": "white = 1, black = 0, red/green = head moving R/L",
   "style": "bbchallenge-default"
  },
  {
   "mode": "records",
   "png": "img/records_R_4e5.png",
   "html": null,
   "steps": 400000,
   "caption": "one row per new rightmost cell, to step 400,000",
   "title": "Right-edge records: the gaps",
   "why": "Each black line is a gap between blocks of 1s. Compare the spacing between fans where new lines branch off.",
   "primary": true,
   "start": "blank",
   "rows": "right records: a row each time the head reaches a new rightmost cell (1,421 rows)",
   "window": "cells -27..1420, 1 px = 1 cell",
   "legend": "white = 1, black = 0 (gaps, and the unvisited area right of the edge), red/green = head moving R/L",
   "style": "bbchallenge-default"
  },
  {
   "mode": "custom",
   "png": "img/counter_digits_4e5.png",
   "html": null,
   "steps": 400000,
   "caption": "gaps coloured by length; green = the last block (fuel)",
   "title": "Gap types and the fuel block",
   "why": "Blue and orange gaps are the counter digits. Follow one green wedge down to where it closes, then the next.",
   "primary": true,
   "start": "blank",
   "rows": "one row per right-edge arrival in state A (697 rows, to step 399,961)",
   "window": "cells -30..1420, 1 px = 1 cell",
   "legend": "white = 1, blue = gap 0^2, orange = gap 0^3, red = gap 0^1, green = last block of 1s (fuel), black = unvisited, magenta = head",
   "style": "custom"
  },
  {
   "mode": "every:1",
   "png": "img/one_cycle_3057.png",
   "html": null,
   "steps": 130,
   "caption": "one full cycle, every step, from step 3,057",
   "title": "One cycle: zigzag left, decode right",
   "why": "Top to bottom: the diagonal zigzag goes left leaving a striped band, then a straight run returns to the edge.",
   "primary": true,
   "start": "mid-run: step 3057 (head just reached the right edge in state A: ... 1^28 0^3 1^25 0^2 1^14 A> 0^inf)",
   "rows": "every step (130 steps = one cycle)",
   "window": "cells -99..2, 1 px = 0.25 cells (4x zoom; cell 0 = the head at the start)",
   "legend": "white = 1, black = 0, red/green = head moving R/L",
   "style": "bbchallenge-default"
  }
 ],
 "history": {
  "skeleton": "0^inf L 1^v 0^3 1^F A> 0^inf  (right after each fuel refill, rule Z0c)",
  "vars": [
   "F",
   "a=(F-6)/8",
   "F mod 16"
  ],
  "rows": [
   {
    "step": 17103,
    "values": [
     62,
     7,
     14
    ]
   },
   {
    "step": 63004,
    "values": [
     102,
     12,
     6
    ]
   },
   {
    "step": 130397,
    "values": [
     158,
     19,
     14
    ]
   },
   {
    "step": 408804,
    "values": [
     246,
     30,
     6
    ]
   },
   {
    "step": 796585,
    "values": [
     374,
     46,
     6
    ]
   },
   {
    "step": 1665942,
    "values": [
     566,
     70,
     6
    ]
   },
   {
    "step": 3617855,
    "values": [
     854,
     106,
     6
    ]
   },
   {
    "step": 8003326,
    "values": [
     1286,
     160,
     6
    ]
   },
   {
    "step": 17793987,
    "values": [
     1934,
     241,
     14
    ]
   },
   {
    "step": 56650048,
    "values": [
     2910,
     363,
     14
    ]
   },
   {
    "step": 149617813,
    "values": [
     4374,
     546,
     6
    ]
   },
   {
    "step": 272052284,
    "values": [
     6566,
     820,
     6
    ]
   },
   {
    "step": 539058391,
    "values": [
     9854,
     1231,
     14
    ]
   },
   {
    "step": 1580171984,
    "values": [
     14790,
     1848,
     6
    ]
   },
   {
    "step": 2957517771,
    "values": [
     22190,
     2773,
     14
    ]
   }
  ]
 },
 "rules": [
  {
   "name": "Z: zigzag eats a pair",
   "from": "1 1 <C",
   "to": "<C 0 1",
   "steps": "4",
   "cases": "iterated: 1^(2k) <C -> <C 01^k in 4k steps",
   "validated": {
    "instances": 300,
    "passed": 300
   },
   "source": "manual"
  },
  {
   "name": "O2: carry passes an odd block",
   "from": "0 0 1 <C",
   "to": "<C 0 1 0",
   "steps": "3",
   "cases": "the last 1 of an odd block with a 0^2 gap on its left",
   "validated": {
    "instances": 300,
    "passed": 300
   },
   "source": "manual"
  },
  {
   "name": "T: turn",
   "from": "0 <C",
   "to": "1 A>",
   "steps": "1",
   "cases": null,
   "validated": {
    "instances": 300,
    "passed": 300
   },
   "source": "manual"
  },
  {
   "name": "R1/R2: decode on the way right",
   "from": "A> 1 0  |  A> 0 1 0 1^m 0",
   "to": "1 1 A>  |  1 1 0^(m+2) A>",
   "steps": "2 | m+4",
   "cases": "R2 checked for m = 0, 1, 3",
   "validated": {
    "instances": 900,
    "passed": 900
   },
   "source": "manual"
  },
  {
   "name": "R3/R5: bounce back left",
   "from": "1 A> 0 0  |  A> 1 1",
   "to": "<C 0 1 0  |  <C 0 1",
   "steps": "6 | 5",
   "cases": null,
   "validated": {
    "instances": 600,
    "passed": 600
   },
   "source": "manual"
  },
  {
   "name": "halting patterns",
   "from": "1 0 1 <C  |  A> 0 1 1",
   "to": "halt",
   "steps": "3 | 3",
   "cases": "E1 is reached only by B reading 1",
   "validated": {
    "instances": 600,
    "passed": 600
   },
   "source": "manual"
  },
  {
   "name": "Todd0 (cycle)",
   "from": "1^x 0^3 1^z A> 0^inf",
   "to": "1^(x+3) 0^2 1^z A> 0^inf",
   "steps": null,
   "cases": "z even >= 2",
   "validated": {
    "instances": 200,
    "passed": 200
   },
   "source": "manual"
  },
  {
   "name": "Todd (cycle)",
   "from": "1^x 0^3 1^y (0^2 1^p_i)* 0^2 1^z A> 0^inf",
   "to": "1^(x+3) 0^2 1^(y+3) (0^3 1^(p_i-1))* 0^3 1^(z-4) A> 0^inf",
   "steps": null,
   "cases": "y, p_i odd; z even >= 4. z = 2: last gap stays 0^2 and the last block becomes empty (ToddZ2)",
   "validated": {
    "instances": 600,
    "passed": 600
   },
   "source": "manual"
  },
  {
   "name": "Teven (cycle)",
   "from": "1^x 0^s 1^e (0^2 1^p_i)* 0^2 1^z A> 0^inf",
   "to": "s=1: 1^(x+3) 0^3 1^e (0^3 1^(p_i-1))* 0^3 1^(z-4) A>;  s=2,3: 1^x 0^(s-1) 1^3 0^3 1^e (0^3 1^(p_i-1))* 0^3 1^(z-4) A>",
   "steps": null,
   "cases": "e even; z even >= 4 (z = 2 variant also checked); a block 1^3 is born for s = 2, 3",
   "validated": {
    "instances": 1800,
    "passed": 1800
   },
   "source": "manual"
  },
  {
   "name": "Z0b, Z0a (empty last block)",
   "from": "1^x 0^3 A>  |  1^y 0^s 1^w 0^2 A>",
   "to": "1^(x+3) 0^2 A>  |  1^y 0^(s-1) 1^6 0^2 1^(w-2) A>",
   "steps": null,
   "cases": "Z0a: w even, s in {2,3} (refill: new fuel w-2)",
   "validated": {
    "instances": 400,
    "passed": 400
   },
   "source": "manual"
  },
  {
   "name": "Z0c (refill, w odd)",
   "from": "X 1^v 0^3 1^w 0^2 A>",
   "to": "carry(X 1^(v+3)) 0^3 1^(w-3) A>",
   "steps": null,
   "cases": "carry = the pass/stop rules above without the fuel term; new fuel w-3",
   "validated": {
    "instances": 400,
    "passed": 400
   },
   "source": "manual"
  },
  {
   "name": "all cycle rules on the real run",
   "from": "each right-edge A arrival, step 11,118 to 4e9",
   "to": "the next arrival",
   "steps": "3*(cells from the stopping gap to the edge) + O(passes)",
   "cases": "75,581 cycles: Todd0 37,757, Todd 37,651, Teven 105, refill events 68",
   "validated": {
    "instances": 75581,
    "passed": 75581
   },
   "source": "manual"
  },
  {
   "name": "refill map",
   "from": "fuel F = 8a+6 right after Z0c",
   "to": "F' = 8a'+6 with a' = ceil(3a/2)+1",
   "steps": null,
   "cases": "F = 6 mod 16: F' = (3F+10)/2, one Z0a in the epoch; F = 14 mod 16: F' = (3F+18)/2, two Z0a",
   "validated": {
    "instances": 42,
    "passed": 42
   },
   "source": "manual"
  }
 ],
 "template": {
  "file": "machines/1RB0LF_0RC---_1RD0RA_1LE0RC_0LA0LE_1LE1LB/1RB0LF_0RC---_1RD0RA_1LE0RC_0LA0LE_1LE1LB.v",
  "module": "our kill #8 (sync bouncer counter)",
  "machine": "1RB0LF_0RC---_1RD0RA_1LE0RC_0LA0LE_1LE1LB",
  "diff": "different table (no holdout or kill within 5 transitions); #8's digits are fixed 7-cell marks, here digits are 0^2/0^3 gaps between unary blocks that keep changing length",
  "applies": "partly",
  "note": "Read #8's .v: its token words P=[0;1] and PZ=[0;1;0] are exactly what this machine's left sweep writes (Z gives 01, O2 gives 010), and its list-induction sweep (Csweep) and return transducer (retf) fit our encode/decode sweeps. Not reusable: #8's 15-bit tail and interval INV. Here safety needs a pattern invariant over gaps and block lengths mod 8."
 },
 "strategy": "Prove the 7 tape rules and the 10 block rules (induction on block lengths); replay the first 11,118 steps; then find a regular invariant over gaps x (block length mod 8) that the block rules preserve and that excludes the three halting cases. Learn it from the run, then check closure exhaustively before proof.md.",
 "risks": [
  "The refill map a -> ceil(3a/2)+1 is Collatz-like. If safety needs more than residues mod 8 (only fuzz evidence so far), this becomes a cryptid.",
  "3-gap windows are not closed under the rules, so the invariant needs longer context or an automaton, and it must cover the frozen early prefix.",
  "Formal size: about 17 rule lemmas plus an invariant check in Rocq."
 ],
 "checkpoint_questions": [
  {
   "text": "Gap types and the fuel block: do the blue (0^2) and orange (0^3) gaps flip like a binary counter's digits at the right end, and does each green fuel wedge close before a new, about 1.5x wider one opens?",
   "figs": [
    2,
    1
   ],
   "kind": "check"
  },
  {
   "text": "One cycle: does the zigzag run left, leave a striped 0101 band, stop at the 0^3 gap, then run straight right back to the edge as solid 1s?",
   "figs": [
    3
   ],
   "kind": "check"
  },
  {
   "text": "The refill map is Collatz-like (a -> ceil(3a/2)+1), but no run halted when we randomized every block length and kept only its value mod 8, so halting looks independent of the map. Should we spend the next stage searching for a finite invariant (gaps x lengths mod 8), or park it as cryptid-like?",
   "figs": [
    2
   ],
   "kind": "decision"
  }
 ],
 "discord_check": null,
 "stats": {
  "simulated_steps": 4000000000,
  "cells": 151420,
  "nonzeros": 151291,
  "growth": "sqrt(steps): 151,420 cells at 4e9; block map run 2e7 cycles = about 2.9e14 steps, 4e7 cells"
 },
 "status": "CHECKPOINT_A",
 "status_reason": "Mechanism found and every cycle from step 11,118 to 4e9 is covered by 10 validated block rules; the non-halting argument (an invariant over gaps x lengths mod 8) is not found yet. The Collatz-like refill map looks halting-independent (fuzz)."
}