{
 "tm": "1RB0RF_1LC0RE_0LC0LD_1RD1LB_0RF1RA_0RB---",
 "rank": 2,
 "class_sheet": "Bell eats counter",
 "class_guess": "Bell eats counter (SOMDCv6 TM7 + a '+1 pass at each 110 entered')",
 "confidence": "high",
 "summary": "SOMDCv6 TM7 + one change: A1=0RF runs a +1 pass each time a 110 digit is entered. Fits 208/208 sweeps.",
 "mechanism": [
  "Tape: wall 11, then 3-cell digits L=110, 0=000, 1=100: a long run of L's, then a short counter.",
  "Each sweep: the eater turns digits white until it reads a 1-digit; then k drain passes rebuild L's (k = digits eaten).",
  "Only change vs SOMDCv6 TM7: each L entered (by eater or drain pass) first fires a +1 pass on the digits to its right."
 ],
 "diagrams": [
  {
   "mode": "default, paired",
   "png": "img/eat_pair.png",
   "html": null,
   "steps": 118,
   "caption": "One eating pass each: cut the 4 blue +1 passes, get TM7",
   "title": "One eating pass: ours vs SOMDCv6 TM7",
   "why": "Same start for both. Blue boxes mark ours' extra +1 passes; compare everything outside them with TM7's run.",
   "primary": true,
   "start": "constructed: 0^inf 11 D> (110)^4 100 110 100 0^inf = S(L⁴ 1L1), the same for both machines",
   "rows": "every step: ours 0..118, TM7 0..44 (until the eater reads the 1-digit); same scale",
   "window": "cells -4..24, 1 px = 1/12 cell (cell 12 px wide, step 8 px tall)",
   "legend": "white = 1, black = 0, red/green = head after a move R/L; blue box = ours' extra +1 pass; blue ▶ = TM7's A1 (turns back); amber dashes = eater stops",
   "style": "bbchallenge-default"
  },
  {
   "mode": "default, paired",
   "png": "img/sweep_pair.png",
   "html": null,
   "steps": 421,
   "caption": "Full sweep each: a drain pass entering an L also fires +1",
   "title": "One full sweep: ours vs TM7",
   "why": "One full sweep each. Find pass 5 (a drain pass), then compare the drain zigzags that follow it.",
   "primary": true,
   "start": "constructed: 0^inf 11 D> (110)^4 100 110 100 0^inf = S(L⁴ 1L1), the same for both machines",
   "rows": "every step: ours 0..421, TM7 0..237 (to the next S config); same scale",
   "window": "cells -4..34, 1 px = 1/10 cell (cell 10 px wide, step 4 px tall)",
   "legend": "white = 1, black = 0, red/green = head after a move R/L; blue box = ours' extra +1 pass; blue ▶ = TM7's A1 (turns back); amber dashes = eater stops; white bracket = drain passes (no A1: same rules in both)",
   "style": "bbchallenge-default"
  },
  {
   "mode": "default",
   "png": "img/default_site_1e4.png",
   "html": "img/viewer.html",
   "steps": 10000,
   "caption": "bbchallenge view: bells refill and drain; counter edge creeps right",
   "title": "bbchallenge default view, first 10,000 steps",
   "why": "The site's view from blank: watch the white bells and the right edge of the digit region.",
   "primary": true,
   "start": "blank",
   "rows": "10,000 steps squeezed into 500 px rows (1 px row = 20 steps; the site blends steps 20y+9 and 20y+10)",
   "window": "cells -200..199, 1 px = 1 cell",
   "legend": "white = 1, black = 0 or never visited, red/green = head after a move R/L (blended into the squeezed rows, as on the site)",
   "style": "bbchallenge-default"
  },
  {
   "mode": "records",
   "png": "img/records_1e9.png",
   "html": null,
   "steps": 1000000000,
   "caption": "Records to 1e9: white bell waves over a steadily growing edge",
   "title": "Left/right records to 1 billion steps",
   "why": "White bell waves over a steadily growing right edge; the left edge barely moves (209 vs 4,692 cells).",
   "start": "blank",
   "rows": "the start, then one row per new leftmost or rightmost cell: 4,902 rows (209 left, 4,692 right) up to step 1e9; rows are not evenly spaced in time",
   "window": "cells -209..4,692, 1 px = 1 cell",
   "legend": "white = 1, black = 0 or never visited, red/green = head after a move R/L; zoomed out, the L digits (110 stripes) look grey and the bell is solid white",
   "style": "bbchallenge-default"
  },
  {
   "mode": "blaze",
   "png": "img/blaze_1e7.png",
   "html": null,
   "steps": 10000000,
   "caption": "Blaze 1e7: stacked bells; right edge grows ~t^(1/3)",
   "title": "Blaze, 10 million steps",
   "why": "Stacked bells; the right edge grows roughly like t^(1/3).",
   "start": "blank",
   "rows": "Blaze time blocks of 16,384 steps (611 rows, each averaged), stretched to 500 px (1 px ~ 20,000 steps)",
   "window": "cells -54..953, 1 px = 1.26 cells (1,008 Blaze columns of 1 cell each, stretched to 800 px)",
   "legend": "white = 0, orange = 1; paler orange = a cell that was 1 for only part of its 16,384-step block",
   "style": "bbchallenge-blaze"
  }
 ],
 "history": {
  "skeleton": "0^inf 11 D> (110)^n T 0^inf",
  "vars": [
   "n",
   "T"
  ],
  "rows": [
   {
    "step": 5,
    "values": [
     0,
     "1"
    ]
   },
   {
    "step": 16,
    "values": [
     1,
     "1"
    ]
   },
   {
    "step": 91,
    "values": [
     3,
     "11"
    ]
   },
   {
    "step": 318,
    "values": [
     6,
     "001"
    ]
   },
   {
    "step": 809,
    "values": [
     8,
     "0L11"
    ]
   },
   {
    "step": 1930,
    "values": [
     14,
     "0111"
    ]
   },
   {
    "step": 3971,
    "values": [
     19,
     "1111"
    ]
   },
   {
    "step": 6932,
    "values": [
     21,
     "101L1"
    ]
   },
   {
    "step": 10625,
    "values": [
     23,
     "1LL1L001"
    ]
   },
   {
    "step": 16176,
    "values": [
     32,
     "00111"
    ]
   },
   {
    "step": 24427,
    "values": [
     38,
     "000001"
    ]
   },
   {
    "step": 34850,
    "values": [
     41,
     "111L11"
    ]
   },
   {
    "step": 47929,
    "values": [
     47,
     "1L01101"
    ]
   },
   {
    "step": 64518,
    "values": [
     53,
     "1L01101"
    ]
   },
   {
    "step": 84539,
    "values": [
     57,
     "10LL0011"
    ]
   },
   {
    "step": 436857,
    "values": [
     105,
     "111LL0101"
    ]
   },
   {
    "step": 1355299,
    "values": [
     159,
     "1LL10L01001"
    ]
   },
   {
    "step": 2835014,
    "values": [
     210,
     "00LL010011"
    ]
   },
   {
    "step": 5658656,
    "values": [
     269,
     "10110L111"
    ]
   },
   {
    "step": 9961612,
    "values": [
     326,
     "00L1111001"
    ]
   },
   {
    "step": 16012432,
    "values": [
     381,
     "1LLL1L0011101"
    ]
   },
   {
    "step": 23139183,
    "values": [
     437,
     "1LL11101011"
    ]
   },
   {
    "step": 33896519,
    "values": [
     503,
     "1LLLL10101111"
    ]
   },
   {
    "step": 47901439,
    "values": [
     567,
     "1L111L100001"
    ]
   },
   {
    "step": 65193581,
    "values": [
     628,
     "0LL11L0011001"
    ]
   },
   {
    "step": 83603986,
    "values": [
     686,
     "01L0L0L100101"
    ]
   },
   {
    "step": 108594886,
    "values": [
     750,
     "01LLL0L1101101"
    ]
   },
   {
    "step": 138455650,
    "values": [
     816,
     "0L0L01LL000011"
    ]
   },
   {
    "step": 173399634,
    "values": [
     884,
     "0LL1LL10011011"
    ]
   },
   {
    "step": 208657715,
    "values": [
     941,
     "11L1LLL1000111"
    ]
   },
   {
    "step": 254952921,
    "values": [
     1016,
     "0LLLLL101011111"
    ]
   },
   {
    "step": 308436993,
    "values": [
     1080,
     "0LLL0101L000001"
    ]
   },
   {
    "step": 368117887,
    "values": [
     1147,
     "111L10110001"
    ]
   },
   {
    "step": 426162832,
    "values": [
     1201,
     "1L0L01L1001001"
    ]
   },
   {
    "step": 499947958,
    "values": [
     1272,
     "0LLL11L00111001"
    ]
   },
   {
    "step": 582161108,
    "values": [
     1341,
     "10L1L10100101"
    ]
   },
   {
    "step": 673443498,
    "values": [
     1409,
     "1LLL0L1L10110101"
    ]
   },
   {
    "step": 761279381,
    "values": [
     1472,
     "0LL1LL0L10101101"
    ]
   },
   {
    "step": 871368569,
    "values": [
     1556,
     "01001000011"
    ]
   },
   {
    "step": 992340715,
    "values": [
     1619,
     "10L11LL0100011"
    ]
   }
  ]
 },
 "rules": [
  {
   "name": "Sweep",
   "from": "0^inf 11 D> r 0^inf",
   "to": "0^inf 11 D> eat(r) 0^inf (wall 1 cell left)",
   "steps": null,
   "cases": "r over L=110,0=000,1=100. Eater, k=0: 0->L,k+1 | L->L,k+1,+1 rest* | 1->L, count mode. Count mode k>=1: L->L, eater again, +1 rest* | 1->L,k-1 | 0->0,(k-1)/2 if k odd; 0->1,(k-2)/2 if even. Right end: k=0->1; odd->0; even->1; repeat. *=new vs TM7",
   "validated": {
    "instances": 502,
    "passed": 502
   },
   "source": "manual"
  },
  {
   "name": "Eater enters L (new)",
   "from": "1 D> 110 X",
   "to": "1 111 D> inc(X)",
   "steps": "6j+13 (j = digits before the first 000 in X)",
   "cases": "A1 fires here. inc = +1 on the 0/1 digits, little-endian, L skipped; overflow appends 100. TM7: 1 D> 110 X -> 1 111 D> X in 11 steps (no pass)",
   "validated": {
    "instances": 1393,
    "passed": 1393
   },
   "source": "manual"
  },
  {
   "name": "Drain pass enters L (new)",
   "from": "B> 1 110 X",
   "to": "1 111 D> inc(X)",
   "steps": "6j+12 (j as above)",
   "cases": "A1 fires here and the eater restarts after the L (115 of 208 sweeps to 1e9). TM7: B> 1 110 X -> 1 111 D> X in 10 steps (no pass)",
   "validated": {
    "instances": 1393,
    "passed": 1393
   },
   "source": "manual"
  },
  {
   "name": "Eater over 0s",
   "from": "11 D> (000)^a",
   "to": "11 (111)^a D>",
   "steps": "3a",
   "cases": null,
   "validated": {
    "instances": 45,
    "passed": 45
   },
   "source": "manual"
  },
  {
   "name": "+1 pass: carry",
   "from": "B> (100)^a 000",
   "to": "(000)^a <C 100",
   "steps": "3a+1",
   "cases": "at tape end: B> (100)^a 0^inf -> (000)^a <C 1 0^inf",
   "validated": {
    "instances": 90,
    "passed": 90
   },
   "source": "manual"
  },
  {
   "name": "+1 pass: skip L, return",
   "from": "B> (110)^a",
   "to": "(011)^a B>",
   "steps": "3a",
   "cases": "return: (011)^a <C -> <C (110)^a and (000)^a <C -> <C (000)^a, 3a each",
   "validated": {
    "instances": 135,
    "passed": 135
   },
   "source": "manual"
  }
 ],
 "template": {
  "file": "vendor/busycoq/verify/SOMDCv6.v",
  "module": "TM7 (line 1626); TM8 (line 1874) has the identical proof",
  "machine": "1RB0RC_1LC0RE_0LC0LD_1RD1LB_0RF1RA_0RB---",
  "diff": "A1: 0RC (TM7) / 0LC (TM8) -> 0RF; other 11 transitions equal",
  "applies": "partly",
  "note": "Config S(r)=0^inf 11 D> r and digits 110/000/100 carry over (no other digit to 1e9).\nTM7's RIncs map fits 1/208 sweeps; with '+1 to the rest at every L entered' (eater and drain clause) it fits 208/208; eater clause alone: 95/208."
 },
 "strategy": "Copy SOMDCv6 TM7 (S', ld/d0/d1, h/h', RIncs, BigStep, nonhalt). Add Inductive Inc (+1, L skipped) proved as one h-pass,\nsideRLs tm [h] (toRC r) (toRC r') (BC-style: B>000-><C100, B>100->000B>, 110<->011). Insert Inc into RIncs_hx_ld and RIncs_h1_ld,\nredo RIncs_nxt, then nonhalt via multistep_nonhalt + progress_nonhalt_cond exactly as TM7.",
 "risks": [
  "Domain lemma (TM7's RIncs_nxt) must absorb the extra +1s; in the abstract run the pass count k in count mode gets as low as 1.",
  "+1 can lengthen the word (overflow appends 100), so RIncs_nxt's induction on r gets more cases.",
  "Twin 1RB0RA_... (A1=0RA, also open) uses extra digits 010/011/111: own rules, no free second kill."
 ],
 "checkpoint_questions": [
  {
   "text": "[answered: yes] Fig 1 — same start; cutting ours' 4 blue +1 passes leaves TM7's run step for step (118 - 74 = 44). Agree the only rule change is one +1 pass per L entered?",
   "figs": [
    0
   ]
  },
  {
   "text": "[answered: yes] Fig 2 — a drain pass entering an L fires +1 too (pass 5). Build the proof by extending SOMDCv6 TM7 (Inc in both RIncs L-clauses) rather than from scratch?",
   "figs": [
    1
   ]
  },
  {
   "text": "[answered: yes] Fig 3 — bells refill and drain against a creeping right edge. Keep sheet class 'Bell eats counter'?",
   "figs": [
    2
   ]
  }
 ],
 "discord_check": null,
 "stats": {
  "simulated_steps": 1000000000,
  "cells": 4902,
  "nonzeros": 4592,
  "growth": "span ~t^0.34 (2,220 cells at 1e8, 4,902 at 1e9); 208 sweeps by 1e9"
 },
 "status": "CHECKPOINT_A",
 "status_reason": "Mechanism found; every rule passes simulation; aligned TM7 comparison redrawn; plain counter arithmetic (not a cryptid)."
}