{
 "tm": "1RB1RA_0LC0RF_1LD1LC_1RE1LB_---0RA_1RF0RD",
 "rank": 5,
 "class_sheet": "Bouncer + Chaotic Edge",
 "class_guess": "Bouncer + Chaotic Edge (edge erodes the bouncer block; golden-mean invariant)",
 "confidence": "high",
 "summary": "Bouncer; chaotic left edge slowly eats the 1-block. No-00 invariant: it can only halt if the edge eats the whole block",
 "mechanism": [
  "Bouncer: a solid 1-block gains one 1 per bounce; left of it sits a chaotic, aperiodic edge (~0.6 bits/cell).",
  "Each bounce C dives into the edge in zigzag waves; the edge eats ~0.06 block cells per bounce on average, up to 11.",
  "No 00 ever lies between head and rightmost 1 (checked to 1e9, local proof): it halts only if the block falls to 2 cells."
 ],
 "diagrams": [
  {
   "mode": "every:400000",
   "png": "img/edge_every4e5_1e9_labeled.png",
   "html": null,
   "steps": 1000000000,
   "caption": "Chaotic edge (fine texture) creeps into the white block of 1s",
   "title": "The edge eating into the block, to 1e9",
   "why": "One row per 400,000 steps to 1e9. Compare the left stripes with the textured fringe at the white block.",
   "primary": true,
   "start": "blank",
   "rows": "every 400000 steps: 2,501 rows for steps 0..1e9 (506 bounces between the first rows, 6 between the last)",
   "window": "cells -349..2250, 1 px = 1 cell (the left 2,600 cells of the 32,607-cell tape; the block runs on to cell 32,261)",
   "legend": "white = 1, black = 0 or never visited, red/green dot = head (last move R/L); blue numbered dots = notes",
   "style": "bbchallenge-default"
  },
  {
   "mode": "default",
   "png": "img/closeup_bounces54-57.png",
   "html": "img/trip54_animated.html",
   "steps": 12992,
   "caption": "Three trips: walk the block, dive into the edge, walk back",
   "title": "Close-up: bounces 54 to 57, every step",
   "why": "Bounces 54 to 57, every step. Look between the head and the white block for adjacent black cells.",
   "primary": true,
   "start": "mid-run: step 12287 (bounce 54, simulated from the blank tape)",
   "rows": "every step: steps 12287..12992 = bounces 54 to 57 (1 step = 2 px tall)",
   "window": "cells -76..59, 1 px = 0.2 cells (each cell 5 px wide; the whole visited tape)",
   "legend": "white = 1, black = 0, red/green = head moving R/L; blue line = block's left end at the last bounce, blue circle = wave turns at 00",
   "style": "bbchallenge-default"
  },
  {
   "mode": "per-bounce plot",
   "png": "img/block_vs_edge.png",
   "html": "img/block_vs_edge.html",
   "steps": 999944025,
   "caption": "Block gains 1 per bounce; the edge eats 0.058 on average",
   "title": "Block length vs erosion, per bounce",
   "why": "Four panels, one value per bounce. Bottom left: cells eaten per trip (orange band = min..max per 128 bounces).",
   "primary": true,
   "start": "blank",
   "rows": "one point per bounce: bounces 1..32262 = steps 0..999944025",
   "window": "not a tape picture: x = bounce number, y = cells (block length, edge width, cells eaten)",
   "legend": "blue = block length n; orange = edge width |w| and erosion (block cells eaten per trip); orange band = min..max per 128 bounces",
   "style": "custom"
  },
  {
   "mode": "default",
   "png": "img/default_site.png",
   "html": "img/viewer.html",
   "steps": 10000,
   "caption": "bbchallenge default view: the first 10,000 steps, as on the site",
   "title": "bbchallenge default view, first 10,000 steps",
   "why": "The site's view: the textured edge on the left, the growing white block on the right.",
   "start": "blank",
   "rows": "every step 0..10000 squeezed into 500 px rows as on the site (each px row 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 moving R/L",
   "style": "bbchallenge-default"
  }
 ],
 "history": {
  "skeleton": "0^inf w 1^n A> 0^inf",
  "vars": [
   "bounce",
   "|w| (edge width)",
   "n (block)",
   "lo",
   "dive depth of next bounce",
   "last 16 cells of w"
  ],
  "rows": [
   {
    "step": 7,
    "values": [
     2,
     2,
     1,
     -2,
     6,
     "10"
    ]
   },
   {
    "step": 36,
    "values": [
     3,
     8,
     1,
     -7,
     11,
     "10110010"
    ]
   },
   {
    "step": 232,
    "values": [
     5,
     19,
     1,
     -16,
     10,
     "1010100101110010"
    ]
   },
   {
    "step": 751,
    "values": [
     10,
     30,
     2,
     -23,
     31,
     "1101101110110010"
    ]
   },
   {
    "step": 1515,
    "values": [
     14,
     41,
     7,
     -35,
     45,
     "0010111110101010"
    ]
   },
   {
    "step": 2087,
    "values": [
     16,
     53,
     2,
     -40,
     32,
     "0101101110110010"
    ]
   },
   {
    "step": 2527,
    "values": [
     20,
     51,
     8,
     -40,
     9,
     "1110110010101010"
    ]
   },
   {
    "step": 3813,
    "values": [
     30,
     52,
     27,
     -50,
     47,
     "0111011110101010"
    ]
   },
   {
    "step": 10819,
    "values": [
     50,
     79,
     39,
     -69,
     10,
     "0110100101110010"
    ]
   },
   {
    "step": 36133,
    "values": [
     100,
     160,
     76,
     -137,
     149,
     "1111011110101010"
    ]
   },
   {
    "step": 99583,
    "values": [
     200,
     195,
     196,
     -192,
     9,
     "1110110010101010"
    ]
   },
   {
    "step": 391927,
    "values": [
     500,
     325,
     418,
     -244,
     10,
     "0110100101110010"
    ]
   },
   {
    "step": 1279887,
    "values": [
     1000,
     364,
     923,
     -288,
     23,
     "1010100110101010"
    ]
   },
   {
    "step": 4517187,
    "values": [
     2000,
     371,
     1924,
     -296,
     26,
     "1010100110101010"
    ]
   },
   {
    "step": 9733649,
    "values": [
     3000,
     389,
     2906,
     -296,
     147,
     "1111011110101010"
    ]
   },
   {
    "step": 23935909,
    "values": [
     4790,
     555,
     4578,
     -344,
     16,
     "1100110110110010"
    ]
   },
   {
    "step": 36764163,
    "values": [
     6000,
     739,
     5604,
     -344,
     46,
     "1111011110101010"
    ]
   },
   {
    "step": 63891977,
    "values": [
     8000,
     819,
     7524,
     -344,
     20,
     "1111011110101010"
    ]
   },
   {
    "step": 98657737,
    "values": [
     10000,
     929,
     9414,
     -344,
     125,
     "0111011110101010"
    ]
   },
   {
    "step": 141448415,
    "values": [
     12000,
     798,
     11545,
     -344,
     76,
     "0111011110101010"
    ]
   },
   {
    "step": 192212801,
    "values": [
     14000,
     866,
     13477,
     -344,
     135,
     "1101101110110010"
    ]
   },
   {
    "step": 250521939,
    "values": [
     16000,
     1011,
     15332,
     -344,
     8,
     "0111011001010010"
    ]
   },
   {
    "step": 316323169,
    "values": [
     18000,
     1268,
     17075,
     -344,
     20,
     "1100101110101010"
    ]
   },
   {
    "step": 389050183,
    "values": [
     20000,
     1467,
     18876,
     -344,
     16,
     "0101101110110010"
    ]
   },
   {
    "step": 469510483,
    "values": [
     22000,
     1410,
     20933,
     -344,
     177,
     "0101011110101010"
    ]
   },
   {
    "step": 557615571,
    "values": [
     24000,
     1607,
     22736,
     -344,
     9,
     "1110110010101010"
    ]
   },
   {
    "step": 623953000,
    "values": [
     25407,
     1761,
     23989,
     -344,
     888,
     "0111011110101010"
    ]
   },
   {
    "step": 653003235,
    "values": [
     26000,
     1792,
     24551,
     -344,
     69,
     "0101010101110010"
    ]
   },
   {
    "step": 755917539,
    "values": [
     28000,
     1915,
     26428,
     -344,
     10,
     "0110100101110010"
    ]
   },
   {
    "step": 866138561,
    "values": [
     30000,
     2009,
     28334,
     -344,
     10,
     "1010100101110010"
    ]
   },
   {
    "step": 983977631,
    "values": [
     32000,
     2171,
     30172,
     -344,
     20,
     "1111011110101010"
    ]
   },
   {
    "step": 999882966,
    "values": [
     32261,
     2205,
     30399,
     -344,
     47,
     "1101101110110010"
    ]
   }
  ]
 },
 "rules": [
  {
   "name": "Bounce off the right end",
   "from": "x A> 1^n 0^inf",
   "to": "x <C 1^(n+1) 0^inf",
   "steps": "2n+3",
   "cases": "any left side x, n >= 0",
   "validated": {
    "instances": 48,
    "passed": 48
   },
   "source": "manual"
  },
  {
   "name": "C walks left over 1s",
   "from": "x 0 1^k <C y",
   "to": "x 0 <C 1^k y",
   "steps": "k",
   "cases": "any x, y; k >= 1",
   "validated": {
    "instances": 48,
    "passed": 48
   },
   "source": "manual"
  },
  {
   "name": "Wave turns at 00",
   "from": "x 0 0 <C y",
   "to": "x 1 0 A> y",
   "steps": "3",
   "cases": "C on 0 with a 0 to its left",
   "validated": {
    "instances": 40,
    "passed": 40
   },
   "source": "manual"
  },
  {
   "name": "Wave carry 010",
   "from": "x 0 1 0 <C y",
   "to": "x <C 0 1 1 y",
   "steps": "3",
   "cases": "C on 0, left cells 0 1; wave continues",
   "validated": {
    "instances": 40,
    "passed": 40
   },
   "source": "manual"
  },
  {
   "name": "Wave fold 110",
   "from": "x 1 1 0 <C y",
   "to": "x <D 1 0 1 y",
   "steps": "7",
   "cases": "C on 0, left cells 1 1 (with the two rules above: complete split of C on 0)",
   "validated": {
    "instances": 40,
    "passed": 40
   },
   "source": "manual"
  },
  {
   "name": "Bounce map (block = wall)",
   "from": "0^inf w <C 1^n 0^inf",
   "to": "0^inf f(w) <C 1^(n+1-e(w)) 0^inf",
   "steps": "s(w)+2(n-e(w))+3",
   "cases": "n >= e(w)+3; f, e, s from the wall model (does not depend on n); also exact on 32,061 consecutive real bounces",
   "validated": {
    "instances": 120,
    "passed": 120
   },
   "source": "manual"
  },
  {
   "name": "Halting door (only way to halt)",
   "from": "x A> 0 1 0^j 1 0 0 y",
   "to": "halt",
   "steps": "j+5",
   "cases": "j >= 0; the only path into E0 is A0, B1, F0^j, F1, D0 (traced back from the transition table)",
   "validated": {
    "instances": 48,
    "passed": 48
   },
   "source": "manual"
  },
  {
   "name": "No 00 right of head (invariant)",
   "from": "any configuration reached from blank",
   "to": "cells head+1 .. rightmost 1 contain no 00",
   "steps": null,
   "cases": "Only B0 moves left writing 0, and its right neighbour is always 1. Validated at every step; arbitrary-left search: 182,877 states, 0 violations",
   "validated": {
    "instances": 1000000000,
    "passed": 1000000000
   },
   "source": "manual"
  },
  {
   "name": "End doors (door + invariant)",
   "from": "x A> 0 1 1 0^inf  |  x A> 0 1 0 1 0^inf",
   "to": "halt",
   "steps": "5 | 6",
   "cases": "with the invariant these are the only halting configurations: the block has been eaten down to 2 cells",
   "validated": {
    "instances": 40,
    "passed": 40
   },
   "source": "manual"
  }
 ],
 "template": {
  "file": "vendor/busycoq/verify/Bouncer_v3.v",
  "module": "TM1",
  "machine": "1LB1RA_0RA0RC_---1RD_1RE1RB_1LF0LE_0RD0LE",
  "diff": "8 of 11 transitions differ (best mirror+relabel); InfiniteRect_v1 TM4: 8; LongNv1 TM1/TM2: 9",
  "applies": "no",
  "note": "Bouncer_v3 needs a periodic side (RC i -> RC (i+1) every 128 bounces). Here 300/300 snapshots have distinct skeletons, and the mirrored RC 0 does not reach RC 1 after 128 bounces. LongN and InfiniteRect also need periodic interaction streams."
 },
 "strategy": "1) Prove the no-00 invariant as a closed predicate on the right side (progress_nonhalt_cond; checks the 11 transitions). Then halting needs A> 0 11 0^inf or A> 0 101 0^inf. 2) Show the edge never eats the block below 3 cells. This needs a potential that bounds the edge's growth per bounce (open). 3) Get from the blank tape to bounce ~30 (n=29) with es/execute, then apply 1) and 2) with an arbitrary left side l.",
 "risks": [
  "The crux is a bound on erosion, and the edge's growth looks statistical: 0.057/bounce on average, up to 11 in one bounce, 60 in 50 bounces. If there is no deterministic bound, the machine is cryptid-like.",
  "There was an early close call: the block was 2 cells long at bounces 10 and 14-16. The init phase must simulate past it.",
  "Twin #26 `1RB1RA_1LC1RE_---0LD_1LE1LD_0RA0LF_1LF0LB` differs in 6 transitions, so we must re-derive the invariant before claiming 2 kills."
 ],
 "checkpoint_questions": [
  {
   "text": "Fig 1: the stripes on the left are frozen; only the textured fringe at the white block keeps changing. Agree the fringe is the only part to bound?",
   "figs": [
    0
   ]
  },
  {
   "text": "Fig 2: between the head and the white block, are there never two black (0) cells side by side?",
   "figs": [
    1
   ]
  },
  {
   "text": "Fig 3: in the bottom-left panel, does the erosion per bounce look like noise with no pattern a proof could use? That is why it is flagged cryptid-like.",
   "figs": [
    2
   ]
  }
 ],
 "discord_check": null,
 "stats": {
  "simulated_steps": 1000000000,
  "cells": 32607,
  "nonzeros": 31695,
  "growth": "span ~ t^0.5 (block +1 per bounce); edge +0.057 cells/bounce; 32,262 bounces by 1e9"
 },
 "status": "CRYPTID_CANDIDATE",
 "status_reason": "Dennis 2026-10-10: flag as cryptid candidate, deprioritize. research/erosion.md: no deterministic erosion bound found (potentials miss by 5-12x; edge ~0.63 bits/cell); no halt in 1e8 bounces (~9.6e15 steps). Cryptid protocol still owes a formal rule reduction in Rocq (bounce = 7 local rules) before the label is final."
}