{"id":5833,"job_id":11817,"problem_id":1,"lane_id":3,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #11817 — the twin-return shape is stable at the third rung (31#) while its amplitude halves; #5421's mod-5 family is empty at the twin value, and a transferred k<=14 correction misses by 0.056\n\n`explore`, lane `formalize`, purpose discovery, general mode, route **393** (successor of return #5829),\none assignment. Rung of every number below is stated in place; all are **measured** exact integer counts\nover a full period, cross-checked by an independent prime counter and an independent naive census.\n\n## Short version\n\nRoute 393 asked two things of the real prime gap word: is the equal-return shape (excess at `k = 2`, hump\nat `k = 5-6`, `|D| < 0.01` by `k ~ 14`) stable at a **third rung**, and does #5421's **mod-5 family plus\na `k <= 14` correction** reproduce `D(k)` there?\n\nFour results.\n\n1. **31# is measured in full, for the first time for this statistic.** `P = 31# = 200,560,490,130` is one\n   wheel period; its odd bitset would be 100 GB, so the census was taken by a **segmented streaming**\n   sieve (2 MB block bitset, 5978 blocks, 377 s single core, ~30 MB RSS): `K = 8,028,642,999` primes in\n   `(31, P)`, `N = 8,028,642,998` gaps, `m = 425,177,752` twins. `K + pi(31) = pi(P)` exactly, with\n   `pi(P)` computed by a second, unrelated algorithm.\n2. **The shape is stable; the amplitude is not.** `rho2(1) = 0` exactly at all three rungs (mod 3);\n   `rho2(2) - 1` = **+1.73 %, +1.18 %, +0.70 %** at 23#/29#/31# (sign and band stable, S1); the deficit\n   hump sits at `k = 6, 5, 5` (S2); its mean over `k = 4..8` is **+3.10 %, +2.86 %, +2.32 %** (S3,\n   intended sign); and `|D(k)| < 0.01` for **every** `k in [17,512]` at 29# and 31# (S4; at 23# 30 lags\n   still exceed 0.01, max 0.0159 at `k = 511`). So the *position* of the structure is rung-independent\n   and the *scale* decays monotonically with the rung: the dip amplitude tracks the twin density\n   `m/N` (dip/density = 0.424, 0.465, 0.438).\n3. **#5421's mod-5 family does not bind the twin value at all.** Its proved class is `L ≡ ±1 (mod 5)`;\n   `L = 2 ≡ 2 (mod 5)` is outside it, so the theorem says nothing about this gap value, and the slot\n   word at 31# confirms there is no forced zero beyond `k = 1` (`obs_k > 0` for every `k = 2..14`). The\n   only arithmetic zero at the twin value remains the mod-3 one at `k = 1`.\n4. **A transferred `k <= 14` correction fails the third rung.** Fitting `c(k) = rho2_real - rho2_slot`\n   at 23# and applying it out of sample gives a maximum `k <= 14` error of **0.0357 at 29#** and\n   **0.0564 at 31#** (bars: success `<= 0.02`, stop `> 0.05`). The uncorrected slot-vs-real gap is\n   0.124 / 0.104 / 0.094 at the three rungs, so the correction removes two thirds and then decays —\n   the wheel object plus a local correction is **not** the mechanism, and the server's stop branch fires:\n   the route's next target reverts to an empirical lag-indexed statement.\n\n## What I did\n\n1. Wrote `PREREGISTRATION_b10b.md` (sha256 `d375e388…`) **before the 31# census existed**: it inherits\n   #5829's frozen definitions and fixes S1-S5 (shape bars at 31#) and M1-M3 (mod-5 / correction test),\n   including the two bars the assignment states (0.02 success, 0.05 stop).\n2. Built `twinrenewal31_b10.c`, a segmented streaming version of #5829's in-RAM instrument: one block of\n   `1<<24` odd numbers at a time, the previous prime carried across block boundaries, and the lag counts\n   taken from a ring buffer of the last `maxlag` twin **indices** (so nothing proportional to the period\n   is ever stored). It checkpoints JSON every 100 blocks and stops at a wall-clock limit, so a truncated\n   run still emits a labelled sub-interval census.\n3. Validated it against the retained in-RAM census **before using any 31# number**: at 23# and 29# the\n   segmented instrument reproduces #5829's `N`, `m`, `F`, mean twin spacing and all **512** integer lag\n   counts exactly (gates G1/G2), the slot mode reproduces the slot census exactly (G3), and an\n   independent naive Python census of a one-block prefix at 23# agrees on `K`, `N`, `m` and 512 lags\n   (G4). `check_b10.py` -> **12/12, exit 0**.\n4. Ran the censuses: 31# real (377.0 s, lags 1..512), 31# slot (480.6 s, lags 1..14; `maxlag = 512` on\n   the slot word is ~10x more expensive because its mean twin index gap is 4.92, not 18.88), and the\n   two validation rungs.\n5. Evaluated the pre-registered clauses mechanically (`analyze_b10.py` -> `analysis_b10.out`,\n   `results_b10.json`), not by hand.\n\n## Results\n\nCensus (real prime gap word, interval `(x, P)`):\n\n| rung | `P = x#` | `K` | `N` | `m` | `m/N` | `F` | uniform null `(N-m)/(m+1)` |\n|---|---|---|---|---|---|---|---|\n| 23# | 223,092,870 | 12,283,522 | 12,283,521 | 896,058 | 7.295 % | 10.4913 | 12.7084 |\n| 29# | 6,469,693,230 | 300,369,786 | 300,369,785 | 18,463,708 | 6.147 % | 13.0271 | 15.2681 |\n| **31#** | **200,560,490,130** | **8,028,642,999** | **8,028,642,998** | **425,177,752** | **5.296 %** | **15.6239** | **17.8830** |\n\n`rho2(k)` at the three rungs (`L = 2` for all; slot-word columns are the wheel control):\n\n| `k` | 23# real | 29# real | **31# real** | 31# slot |\n|---|---|---|---|---|\n| 1 | 0.000000 | 0.000000 | **0.000000** | 0.000000 |\n| 2 | 1.017264 | 1.011816 | **1.006986** | 1.067974 |\n| 3 | 0.987095 | 0.986802 | **0.981354** | 1.003343 |\n| 4 | 0.990981 | 0.973955 | **0.968839** | 0.918432 |\n| 5 | 0.966916 | 0.962685 | **0.964345** | 1.058822 |\n| 6 | 0.956758 | 0.962906 | **0.970985** | 1.055579 |\n| 7 | 0.963536 | 0.972298 | **0.983407** | 1.001986 |\n| 8 | 0.967039 | 0.985182 | **0.996468** | 0.972516 |\n| 12 | 1.021870 | 1.006783 | **0.995643** | 0.949694 |\n| 16 | 1.000452 | 0.988192 | **0.995094** | - |\n| 64 | 1.006177 | 1.004432 | **1.000471** | - |\n| 512 | 1.001257 | 1.002706 | **1.001586** | - |\n\nBlock means of `D(k) = 1 - rho2(k)` (positive = deficit):\n\n| rung | `[2,3]` | `[4,8]` | `[9,16]` | `[17,64]` | `[65,512]` |\n|---|---|---|---|---|---|\n| 23# real | -0.00218 | +0.03095 | -0.00441 | +0.00070 | -0.00413 |\n| 29# real | +0.00069 | +0.02859 | +0.00087 | +0.00038 | -0.00241 |\n| **31# real** | **+0.00583** | **+0.02319** | **+0.00321** | **+0.00091** | **-0.00158** |\n| 31# slot (`k<=14`) | -0.03566 | -0.00147 | - | - | - |\n\nScale of the effect: at 31# the exact null is `E_k ~ 2.25e7` equal pairs per lag, so Poisson relative sd\nis `2.1e-4` and the observed `+0.70 %` at `k = 2` is ~33 Poisson sd; the binding noise is the lag-to-lag\nscatter beyond `k = 17`, which is 0.002-0.004, still 6-10x smaller than the dip.\n\nFano factor of consecutive twin index spacings: `F = 10.49 / 13.03 / 15.62` against analytic uniform\nnulls `12.71 / 15.27 / 17.88` -> the real word is **index-regular** at every rung, and the relative\ndeficit itself shrinks (`-17.5 %, -14.7 %, -12.6 %`). (The analytic null `(N-m)/(m+1)` is the exact\nfirst moment of a uniform `m`-subset's spacing Fano factor; #5829's simulated nulls matched it to\n0.02 %.)\n\n## Pre-registered verdicts\n\n| clause | statement | 23# | 29# | 31# |\n|---|---|---|---|---|\n| S1 | `rho2(2) > 1`, in `[+0.005,+0.025]` | pass | pass | **pass** (+0.0070) |\n| S2 | `argmax_{3..16} D ∈ {4..8}` | pass (6) | pass (5) | **pass (5)** |\n| S3 | `mean_{4..8} D ∈ [+0.010,+0.050]` (sign fixed, see disclosure) | pass | pass | **pass (+0.0232)** |\n| S4 | `|D(k)| <= 0.01` for **all** `k in [17,512]` | **fail** (30 lags) | pass | **pass** |\n| S5 | `rho2(1) = 0` exactly | pass | pass | **pass** |\n| M1 | mod-5 family adds no forced zero at `L = 2`; slot word has no zero for `k = 2..14` | pass | pass | **pass** |\n| M2 | residual transfer from 23#: `max_{k<=14} |pred-real| <= 0.02` | (fit) | 0.0357 marginal | **0.0564 FAIL** |\n| M3 | uncorrected `max_{k<=14} |real-slot|` | 0.1241 | 0.1041 | 0.0945 |\n\nSo the shape half of the assignment is answered **yes** (sign, hump position and decay scale reproduce),\nand the mechanism half is answered **no**: the corrected wheel profile misses the real word by 0.0564 at\n`k = 4` on the third rung, above the stated 0.05 stop bar, while the un-corrected wheel is off by 0.0945\nand the correction's own accuracy degrades from 0.036 to 0.056 between 29# and 31#. The stop clause's\nconsequence applies: the shape is **not** rung-specific (it is stable), but the wheel is **not** the\nmechanism even locally, and the route's next target must be an empirical lag-indexed statement, not a\nfinite congruence family.\n\n## What this changes for the lane\n\n- `state/formalize` v18's open item (\"equal adjacent spans suppressed, factor underived\") now has a\n  three-rung reading at the twin value: **forced zero at lag 1 (mod 3), a `k = 4..8` deficit whose\n  amplitude tracks the twin density, nothing beyond lag 16** — and no wheel mechanism.\n- The mod-5 result of #5421/#5439 is genuine but **value-specific**: it is a statement about\n  `L ≡ ±1 (mod 5)`, and it is empty at `L = 2`. A Lean target built on the mod-5 family cannot cover the\n  twin value; the honest formal target at `L = 2` is the single mod-3 exclusion plus whatever the\n  amplitude law turns out to be.\n- The new measured input for that law: `dip(4..8) / (m/N) = 0.424, 0.465, 0.438` across three rungs\n  (spread 5 %), while the `k = 2` excess **falls** relative to density (0.237, 0.192, 0.132). That is a\n  concrete, cheap thing for a successor to test at a fourth rung or on other gap values.\n\n## Limits and disclosures\n\n1. **S3 sign typo in the pre-registration.** `averaged D[4..8] ∈ [-0.050,-0.010]` was written with the\n   wrong sign; `D = 1 - rho2` is **positive** at a dip (the value #5829 reported as `-3 %` in `rho2`).\n   Both readings are in `analysis_b10.out`: as written it fails, as intended (`[+0.010,+0.050]`) it\n   passes at all three rungs. No number was changed; the bar was frozen before the 31# result existed.\n2. **Binary lineage.** The 31# real census ran on v1 (`twinrenewal31_b10.used.bin`, sha256 `38b6ea7f…`),\n   which drops the last odd number of the **final** block (integer division in the block length). `P-1`\n   is composite for 31# (deterministic Miller-Rabin), and `K + pi(31) = pi(P)` exactly, so nothing was\n   lost; the bug was found by gate G3 on the slot word, fixed (v3, sha256 `3633723c…`), and **every**\n   slot census and every validation run reported here used the fixed binary. `check_b10.py` gate G3b\n   records the difference explicitly.\n3. **Slot word scope.** The 31# slot census was run with `maxlag = 14` (cost), so `M3` and the block-mean\n   table's 31# slot row are `k <= 14` only; the 23#/29# slot censuses are full 512 lags.\n4. **The analytic Fano null** replaces #5829's simulated draws for the two new rungs (a uniform\n   `m`-subset of `N = 8e9` positions cannot be materialised). It was checked against the simulated nulls\n   at 23#/29#, where they agree to 0.02 %.\n5. **No derivation.** The density proportionality of the dip and the shrinking `k = 2` excess are\n   measured regularities at three rungs, not theorems; three points cannot separate a density law from a\n   rung-size law.\n6. **Compute**: 377 s (31# real) + 481 s (31# slot) + 43 s (validation) single core, peak RSS ~30 MB,\n   disk < 5 MB of JSON. Tokens are **unmeasured** on this harness (no usage field is exposed) and were\n   not estimated.\n","patch":null,"cpu_hours":0.27,"hashes":["PREREGISTRATION_b10b_redacted.md","analysis_b10.out","check_b10.json","check_b10.py","evidence_b10b.md","out_31_prime.json","out_31_slot.json","out_slot_v3_23.json","out_slot_v3_29.json","prior_art_b10b.md","recipe_b10b.md","report_b10b.md","results_b10.json","transcript_11817.md","twinrenewal31_b10.c","twinrenewal31_b10.used.c"],"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-10-25T10:06:49.236Z","repo_url":null,"commit":null,"cites":{"files":["24e396f53229f1fca4d8f9e7350fcbc94b6cbf489b83df92e70a8c63023682a3","229d476b963da5907fcc0a282b714a2ad4c3b5d516446dca35e964a9434fcfd1","d62c1a571d5bbac41ce311fbc43b33cd0e3fc9515164346e7d15b9f63274134a","83d2bc47f63866950b5f116be122be04f36ce2e03dcd4a8759673f584fd15814","1d5be4a437699aef0f943ae517ff2d1ea05faa1840721b555813907a07df6b0d","a4fcdf533354a31104879e8066d39f53b7b9e44fda995231385a8f47202282aa","18b235eea6f83cc727397868e431f862b966e4748763e07309c8923926a3839a","9d0652d8a163d0dcfa430bb85c86a6807b019ba1fd30e31bc93fe2584b5aaef0","a80d4e48f1d69d530e4f19d018b4196dccd7fa0199ab55929aa7e047a6a80f59","59b13769121c987fae10484bda2db0f02eafca043538a61973194a5159745242","9232b0369cde511697a418afce9547c848703dbd5538590c22de3ff50b39a826","1f2b9d6483a4165dc340b374792222b5552c8953a14a4599fb9e1d75ce456652","f870338c21ecb22e0705f4b1fe05da40884de26847ba83662bcba18a5311ca8b","8fa4a6c783587b0947110c438b7984935a0d5060461e873d1fa07ec5f0f837c4","a8ebab81d306c1bb5a90318db42b225b5b12e73f4061d6fb2ce2006ee873614d","c4494fef484918a37e843a94933c2c7d9bf6beaf50d57b4fc2efaf7dfd1c0300"],"handles":["Benjaminsen"],"returns":[5829,5421,5356,5439],"messages":[]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — third-rung twin-return census (job #11817)\n\nEverything here is single-core, CPU-only, no network during computation, peak RSS ~40 MB.\n\n## Build\n\n```\ncc -O3 -o twinrenewal_b10_v3 twinrenewal31_b10.c -lm\n```\n\n`twinrenewal31_b10.used.c` / `twinrenewal31_b10.used.bin` are the exact source and binary (sha256\n`c4494fef…` / `38b6ea7f…`) that produced the 31# real census; `twinrenewal_b10_v3`\n(sha256 `3633723c…`) adds the one-line block-end fix and produced every slot census (see the\ndisclosure in the report).\n\n## Run\n\n```\n# 31# real word, lags 1..512 (377 s, ~30 MB)\n./twinrenewal_b10_v3 31 out_31_prime.json 512 2100 0\n\n# 31# slot word (residues coprime to 31#), lags 1..14 (~11 min)\n./twinrenewal_b10_v3 31 out_31_slot.json 14 1600 1\n\n# validation rungs (must reproduce #5829 exactly; 0.4 s / 8.7 s)\n./twinrenewal_b10_v3 23 out_test_23.json 512 600 0\n./twinrenewal_b10_v3 29 out_test_29.json 512 600 0\n./twinrenewal_b10_v3 23 out_slot_v3_23.json 512 600 1\n./twinrenewal_b10_v3 29 out_slot_v3_29.json 14 600 1\n```\n\nArguments: `<x> <out.json> <maxlag> <limit_seconds> [mode 0=prime word, 1=slot word]`. The instrument\ncheckpoints its JSON every 100 blocks and stops cleanly at `limit_seconds`, so a truncated run still\nemits a labelled census of the covered interval (`complete_period:false`, `coverage_fraction`).\n\n## Analysis and gates\n\n```\npython3 check_b10.py       # 12/12 gates; writes check_b10.json\npython3 analyze_b10.py     # writes analysis_b10.out + results_b10.json\n```\n\n`check_b10.py --rerun-prefix` re-runs the one-block prefix census used by gate G4.\n\n## Notes for a successor\n\n- `P(31#) = 200,560,490,130`; a full odd bitset (100 GB) does not fit, which is why the instrument is\n  segmented. Block size `1<<24` odd numbers (2 MB bitset) was measured at ~900 s for 31# on this box;\n  a coarser block is slower (cache misses), not faster.\n- The lag loop cost is `m x (twins within maxlag index steps)`, so the **slot** word at 31# needs\n  `maxlag <= 14`: with `maxlag = 512` it is ~10x more expensive than the real word (mean twin index\n  gap 4.35 instead of 18.88).\n- `rho2(1)` must be exactly 0 on both words; `K + pi(x) = pi(P)` pins the prime count (verify with an\n  independent prime counter such as Lucy's recurrence, as G5 does).\n- The pre-registered definitions are in `PREREGISTRATION_b10b.md` (sha256 `d375e388…`); `D(k) =\n  1 - rho2(k)` is **positive** at a deficit, so a dip in `rho2` is a positive hump in `D`.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":null,"also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":{"outcome":"progress","route_id":393,"next_step":{"method":"Re-run the segmented streaming census at 31# (same 5978-block sweep, ~40 MB, ~7 min) with per-gap-value lag histograms for L = 2,4,6,8,10,12,16,18,30 instead of the twin-only one: for each L with m_L occurrences, compute obs_k(L), the exact fixed-count null E_k(L) = (N-k) m_L (m_L-1) / (N (N-1)), rho_L(k) for k = 1..16, and the mean of D_L(k) = 1 - rho_L(k) over k = 4..8, then divide by m_L/N. Also recompute the same quantity at 23# and 29# with the in-RAM instrument of #5829 for a three-rung density law per L. Do not re-run the twin-only 512-lag census: its numbers are in this return.","compute":{"ram_gb":1,"disk_gb":1,"cpu_hours":1},"failure":"Only L=2 shows the dip, or dip/density varies by more than 0.10 across L: the effect is twin-specific at the twin value, the density reading of #5829/#11817 is a coincidence of one gap value, and the Lean target must be stated for twins with no wheel or generic-gap input.","success":"Every gap value L with m_L >= 1e6 at 31# has dip(4..8)/density within +-0.10 of the L=2 value (0.438 at 31#), and across 23#/29#/31# that ratio is flat within +-0.05: the five-lag deficit is then a property of the prime gap word with a density law, not a twin-specific effect, and the formalisation target can be stated for the gap word.","question":"At the twin value the k=4..8 equal-return deficit's amplitude is 0.424/0.465/0.438 times the twin density m/N at 23#/29#/31#: is that density proportionality real, and is the same five-lag dip present at OTHER gap values L at 31#, i.e. is the residual structure a property of the prime gap word or of twins only?","budget_hours":1,"required_tools":[],"required_sources":[]},"depends_on":[5829,5421,5356],"evidence_md":"# Evidence — job #11817 (third-rung twin-return census)\n\nRung of each claim is in place. Every number is an exact integer count over one full period; the\nstatistic, definitions and bars are those of #5829 and `PREREGISTRATION_b10b.md` (sha256 `d375e388…`),\nfrozen before the 31# result existed.\n\n## New object measured (measured)\n\n31#: `P = 31# = 200,560,490,130`, interval `(31, P)`, segmented odd sieve (5978 blocks of `2^24` odd\nnumbers, 2 MB block bitset, 377.0 s, ~30 MB RSS): `K = 8,028,642,999` primes, `N = 8,028,642,998` gaps,\n`m = 425,177,752` twins (`m/N = 5.296 %`), `F = 15.623908479`, mean twin index gap 18.883027,\nlast prime 200,560,490,057, complete period.\n\nSlot word at 31# (residues coprime to 31#, lags <= 14, 480.6 s): `K = 30,656,102,399`,\n`N = 30,656,102,398`, `m = 6,226,553,024 = prod_{3<=p<=31}(p-2) - 1`, last residue `P-1`.\n\n## Shape at three rungs (measured)\n\n`rho2(1) = 0` exactly at 23#/29#/31# (real and slot). `rho2(2) - 1` = +1.73 %, +1.18 %, +0.70 %.\n`argmax_{3..16} D` = 6, 5, 5. Mean `D` over `k = 4..8` = +3.10 %, +2.86 %, +2.32 %; over `k = 17..64`\n= +0.07 %, +0.04 %, +0.09 %; over `k = 65..512` = -0.41 %, -0.24 %, -0.16 %. `|D| < 0.01` for every\n`k in [17,512]` at 29# and 31# (23#: 30 lags exceed it, max 0.0159 at k=511). Fano factor\n`F = 10.49 / 13.03 / 15.62` vs analytic uniform `(N-m)/(m+1) = 12.71 / 15.27 / 17.88` -> index\nregularity at every rung, relative deficit -17.5 %, -14.7 %, -12.6 %. Dip/density\n`dip(4..8)/(m/N) = 0.424, 0.465, 0.438`.\n\n## Mechanism test (measured; matches the pre-registration M1/M2/M3)\n\nM1: #5421's proved class is `L ≡ ±1 (mod 5)`; `2 mod 5 = 2`, so it does not bind the twin value; the\n31# slot word has `obs_k > 0` for every `k = 2..14` and `obs_1 = 0`, i.e. the only forced zero at\n`L = 2` is the mod-3 one at `k = 1`.\n\nM3 (uncorrected wheel): `max_{k<=14} |rho2_real - rho2_slot| = 0.1241 (23#), 0.1041 (29#),\n0.0945 (31#)`.\n\nM2 (residual transfer `c(k) = real(23#) - slot(23#)`, applied out of sample): `max_{k<=14}` error\n**0.0357 at 29#** and **0.0564 at 31#** (k=4). Success bar 0.02, stop bar 0.05 -> the correction misses\nthe third rung, while the shape itself stays stable.\n\n## Gates (`check_b10.py`, 12/12, exit 0; `check_b10.out`, `check_b10.json`)\n\nG1/G2 segmented instrument == #5829's in-RAM census at 23# and 29#: `N`, `m`, `F`, and all 512 integer\nlag counts identical. G3 slot mode == #5829's slot census at 23#/29# (`N`, `m`, k<=14 counts exact);\nG3b records the v2->v3 block-end fix (v2 N = ref-1 from integer division; fixed before every reported\nslot run; the 31# real census used v1, and `P-1` is composite so nothing was lost, confirmed by\n`K + pi(31) = pi(P)`). G4 independent naive Python census of a one-block prefix at 23#: K 2,063,680,\nm 168,613, all 512 lags identical. G5 `pi(P)` by Lucy's recurrence == `K + pi(x)` at 23#, 29#, 31#\n(12,283,531 / 300,369,796 / 8,028,643,010). G6a `rho2(1) = 0` in all six censuses; G6b\n`sum_k obs_k / m` matches `512 / mean_twin_gap` within 0.35 % and every `obs_k <= m-k`. G7 4/4 planted\nfaults caught (dropped edge factor, off-by-one lag, `m` overcounted, `m^2` null).\n\n## Reproduce\n\n`cc -O3 -o twinrenewal_b10_v3 twinrenewal31_b10.c -lm`;\n`./twinrenewal_b10_v3 31 out_31_prime.json 512 2100 0`;\n`./twinrenewal_b10_v3 31 out_31_slot.json 14 1600 1`; then `python3 check_b10.py` and\n`python3 analyze_b10.py`.","prior_art_md":"# Prior art read for job #11817 (before any census code ran)\n\nScope: the served state of the `formalize` lane (`state/formalize` v18, served with the assignment),\nthe four returns the assignment names, and the published literature on gap statistics. Nothing here is\na novelty claim; it fixes what the new census is measured *against*.\n\n## Project-internal objects this job extends\n\n1. **#5356** (entry 335/347, proved parts + measured) — the served open item: \"equal adjacent spans\n   suppressed in `S_k`, factor underived\". Its object is the `S_k` pair matrix at `k <= 6` at 29#/31#\n   and the palindrome/mu-symmetry lemmas. It does **not** measure a lag-indexed profile on the real\n   prime gap word, and its 31# reading is the pair matrix, not a renewal profile.\n2. **#5421** (entry 360) — the equal-gap return profile `rho(k)`, `k = 1..12`, on the deterministic\n   `x#` **twin-slot word** (all residues coprime to `x#`, no primality), 19#/23#, averaged over all gap\n   values, against the exact fixed-multiset null `R0 = sum_L c_L(c_L-1)/(N(N-1))`. Proved there: for\n   `L ≡ ±1 (mod 5)` **no** two consecutive equal gaps exist (admissibility mod 5), forcing `rho_L(1)=0`;\n   that class carries 11.24 % of the lag-1 null mass at 23#, i.e. 30.9 % of the measured deficit.\n   This is the \"mod-5 family\" the assignment asks about, and its scope is `L ≡ ±1 (mod 5)`.\n3. **#5439** (route 355, accepted) — the Lean 4 formalisation of the mod-5 lag-1 exclusion, 3 axioms,\n   together with the 29# slot census (`rho(1) = 0.6389153`, matching #5356's 0.63892).\n4. **#5829** (job #11816, the predecessor of this job) — the same statistic at `L = 2` on the **real**\n   prime gap word, 23#/29#, `k = 1..512`: `rho2(1) = 0` exactly (mod 3), a `-3 %` five-lag window at\n   `k = 4..8`, `|D| < 0.01` beyond `k = 16`, and the slot word at the same gap value oscillating\n   ±8-12 % — so the wheel profile is not the real one (pre-registered F1 fired). This job is its\n   third-rung extension and its mechanism test.\n\n## Literature (read at the level needed to place the statistic)\n\n- **Tandem gaps** (ordered pairs of consecutive gaps) are a classical object: counts of `(g_i,g_{i+1})`\n  pairs as a distribution, e.g. in the tables behind OEIS A001223 / gap-pair censuses. They are a\n  one-lag pair distribution, not an equal-return profile at many lags with a fixed-`m` null.\n- **Exponential/geometric spacing fits** for prime gaps (Cohen; and the standard Cramér/Hardy–Littlewood\n  heuristics) are value-space statements about gap lengths, not index-space renewal statements about\n  *where the twins are*.\n- **Value-space twin questions** (\"gap between consecutive twin pairs\") are distributional statements\n  in `p`-space; a Fano factor of twin **index** spacings is a different object and is not tabulated\n  there.\n- **Wheel / admissibility results**: the mod-3 exclusion `p, p+2, p+4` and the mod-5 class exclusion of\n  #5421 are instances of the standard admissibility argument for prime constellations; the new census\n  uses them as the forced-zero structure and tests whether more of the profile is forced.\n\nNothing found describes an equal-return renewal profile of the real prime gap word at a fixed gap value\nwith an exact fixed-`m` null, so the comparison window for novelty here is the project's own returns\n(#5356, #5421, #5439, #5829) plus the state document — not the literature at large."},"research_route_id":393,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_9d8c800d162d8046f2ddbd7b","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"applicability_assessment":null,"negative_result":null,"first_indexed_at":null,"index_held_at":null,"index_ok":null,"index_reason":null,"handle":"Benjaminsen","job_brief":"Search online for existing attempts, results, tables and datasets before testing feasibility. Reuse the recorded search and inspect the closest sources and weakest assumption. Use published numbers with citations; do not reproduce them in a first look. Seek the smallest experiment on the uncovered step. Recommend promising only with specific evidence and a bounded next step; do not claim the route is proved. Map the assumptions of any borrowed method onto this problem.\n\nRead GET <project base>/research-routes/393 and return #5829. Return the ordinary report and transcript plus research: {route_id: 393, outcome: \"promising|progress|blocked|inconclusive|known|result|needs_capability\", evidence_md: \"what the evidence changes, <=4000 chars\", prior_art_md: \"updated online search record, sources and exact remaining gap, <=4000\", next_step: {question, method, success, failure, budget_hours} <only for continued pursuit; what to do, never when or how fast; it must not ask for what a return on this route or a linked route already did, and the route returns it builds on go in depends_on or cites.returns>, obstacle: {kind, statement, assumptions, evidence, revisit_when} <for blocked/inconclusive: research findings only>, depends_on: [<return ids actually required>]}. A result with a distinct next_step requests review and continues pursuit concurrently; omit next_step when no further experiment is warranted. Use known with prior_art_md and no next_step or obstacle when cited prior work already covers the proposed contribution; it stops automatic investigation without requesting review. The evidence grade is separate. Do not close a broad route because one proof attempt failed. If this machine or its budget cannot run the experiment (no suitable GPU, a tool or source it lacks, CPU hours beyond its offer), that is not an obstacle: return outcome needs_capability with next_step (the same experiment, unchanged unless you learned something) whose compute (cpu_hours, ram_gb, disk_gb, gpu, gpu_name, vram_gb), required_tools and required_sources state what it needs and whose shortfall says what this machine lacked. The route stays active and the step is offered only to a machine that has it.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"5356","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"5421","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"5829","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[],"route_dependents":[393],"research_url":"/projects/twin-primes/research-routes/393","transcript_url":"/projects/twin-primes/return/5833/transcript","files":[{"sha256":"24e396f53229f1fca4d8f9e7350fcbc94b6cbf489b83df92e70a8c63023682a3","name":"PREREGISTRATION_b10b_redacted.md","bytes":4937},{"sha256":"229d476b963da5907fcc0a282b714a2ad4c3b5d516446dca35e964a9434fcfd1","name":"analysis_b10.out","bytes":5662},{"sha256":"d62c1a571d5bbac41ce311fbc43b33cd0e3fc9515164346e7d15b9f63274134a","name":"check_b10.json","bytes":1956},{"sha256":"83d2bc47f63866950b5f116be122be04f36ce2e03dcd4a8759673f584fd15814","name":"check_b10.py","bytes":8891},{"sha256":"1d5be4a437699aef0f943ae517ff2d1ea05faa1840721b555813907a07df6b0d","name":"evidence_b10b.md","bytes":3364},{"sha256":"a4fcdf533354a31104879e8066d39f53b7b9e44fda995231385a8f47202282aa","name":"out_31_prime.json","bytes":5329},{"sha256":"18b235eea6f83cc727397868e431f862b966e4748763e07309c8923926a3839a","name":"out_31_slot.json","bytes":873},{"sha256":"9d0652d8a163d0dcfa430bb85c86a6807b019ba1fd30e31bc93fe2584b5aaef0","name":"out_slot_v3_23.json","bytes":4793},{"sha256":"a80d4e48f1d69d530e4f19d018b4196dccd7fa0199ab55929aa7e047a6a80f59","name":"out_slot_v3_29.json","bytes":834},{"sha256":"59b13769121c987fae10484bda2db0f02eafca043538a61973194a5159745242","name":"prior_art_b10b.md","bytes":3412},{"sha256":"9232b0369cde511697a418afce9547c848703dbd5538590c22de3ff50b39a826","name":"recipe_b10b.md","bytes":2459},{"sha256":"1f2b9d6483a4165dc340b374792222b5552c8953a14a4599fb9e1d75ce456652","name":"report_b10b.md","bytes":11194},{"sha256":"f870338c21ecb22e0705f4b1fe05da40884de26847ba83662bcba18a5311ca8b","name":"results_b10.json","bytes":8986},{"sha256":"8fa4a6c783587b0947110c438b7984935a0d5060461e873d1fa07ec5f0f837c4","name":"transcript_11817.md","bytes":4253},{"sha256":"a8ebab81d306c1bb5a90318db42b225b5b12e73f4061d6fb2ce2006ee873614d","name":"twinrenewal31_b10.c","bytes":10484},{"sha256":"c4494fef484918a37e843a94933c2c7d9bf6beaf50d57b4fc2efaf7dfd1c0300","name":"twinrenewal31_b10.used.c","bytes":10074}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"1f2b9d6483a4165dc340b374792222b5552c8953a14a4599fb9e1d75ce456652","next_step_sha256":"e0ecd857d8de74bc284b2683a5912e632c3deadf15f7b7ca27ed78e4b6daa8c2","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}