{"id":2310,"job_id":4983,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #4983 — first look on route 187 (extreme-value suppression of the paired-candidate gap tail)\n\nRun `run-2026-10-05-l`; route **187** rev 1; explore / **first_look**; general mode. (Attempt,\nsession and public run ids are recorded in the run's `run.json`/`issued.json`, not reproduced here.)\n\n## Assignment question\n\nRoute 187's open gap (its `next_step`, set by the route proposal in return #2307) is whether the i.i.d.\nextreme-value suppression factor of the paired-candidate gap tail\n\n    S(x#) = [ ln(Nc) / lambda_geo ] / G2(x#),   mu_odd = prod_{p odd <= x}(p-2)/p,\n    lambda_geo = -ln(1 - mu_odd/2),\n\nis bounded and asymptotically constant, or drifts with `x`. The route measured `S = 2.10 +- 0.09` at\n`x = 11..23` and pre-registered the falsifier **`S in [1.8, 2.4]` at `29#` and `31#`**.\n\nThis first look performs exactly that bounded test: an exact, full-period enumeration of `G2(x#)` and\n`Nc` at `29#` and `31#` (no sampling), with the `11#..23#` ladder re-derived as the instrument check.\n\n## Result (what the evidence changes)\n\n**Both pre-registered rungs pass. `S` stays inside `[1.8, 2.4]`, and the seven-rung ladder is\nconsistent with a constant.**\n\n| x# | P = x# | Nc | G2 | pred_max = ln(Nc)/lambda_geo | **S** | G2/x^2 |\n|---|---|---|---|---|---|---|\n| 11# | 2 310 | 135 | 42 | 81.46 | 1.9395 | 0.3471 |\n| 13# | 30 030 | 1 485 | 66 | 144.00 | 2.1819 | 0.3905 |\n| 17# | 510 510 | 22 275 | 108 | 224.40 | 2.0778 | 0.3737 |\n| 19# | 9 699 690 | 378 675 | 150 | 322.54 | 2.1503 | 0.4155 |\n| 23# | 223 092 870 | 7 952 175 | 204 | 437.76 | 2.1459 | 0.3856 |\n| **29#** | **6 469 693 230** | **214 708 725** | **258** | **568.44** | **2.2032** | **0.3068** |\n| **31#** | **200 560 490 130** | **6 226 553 025** | **348** | **715.08** | **2.0548** | **0.3621** |\n\n`S = 2.11 +- 0.08` over the seven rungs (`2.08 +- 0.06` over the five validated ones). The two new\nvalues, `2.2032 (29#)` and `2.0548 (31#)`, both lie inside the pre-registered band; `phi`\n(= `Nc`) grows from `7.95e6` to `6.23e9` (`~780x`) with no trend through the band. `G2/x^2` stays\nflat (`0.31..0.42`); the `ln^2` decline implied by the asymptotic reading is still **not** visible at\n`31#` (`G2` grows from `204` to `348` while `x^2` grows `~900x`).\n\n**Validation of the instrument.** `check_l.py` uses the same segmented-sieve / bridge-gap / cyclic-wrap\nconventions as route 186's `check_e.py` and route 187's `check_i.py`. At `11#..23#` it reproduces the\nserved paired-Jacobsthal ladder `G2 = 42, 66, 108, 150, 204` **exactly** and reproduces `check_i.py`'s\n`Nc(23#) = 7 952 175` and `S` values to all printed digits. Its `G2(29#) = 258` independently matches\n`check_e.py`'s `D = 214 708 725` and `G2 = 258` (a different code path, run today's earlier run) at\n`29#`. The new quantities are `Nc(29#)`, `S(29#)`, and `Nc(31#)`, `G2(31#)`, `S(31#)`.\n\n## Bounded next experiment (recommended)\n\nThe measurement leg of route 187's `next_step` is now done. The route's holding step is a **fixed\nthinning** `S = O(1)` of the gap tail; the max only samples one point of that thinning. The sharper\nnext question is whether the suppression is a genuine *curve* constant:\n\n* Compute, at `23#`, `29#` and `31#` (exact streaming, one pass), the **tail-thinning curve**\n  `T_x(L) = #{gaps >= L} / [ Nc * (1 - mu_odd/2)^L ]` for `L` over the top decade up to `G2(x#)`, and\n  test whether `T_x(L)` has a flat extreme-tail plateau whose level is `S(x#) in [1.8, 2.4]`.\n* Success would identify `S` as the thinning constant (so the route's bound is a statement about the\n  whole curve, not just the extreme) and give the `g2-exponent` lane a concrete object to bound.\n* Failure (monotone drift of `T_x(L)` through the extreme tail, no plateau) refutes the single-constant\n  form and narrows the route to bounding the curve.\n\nBudget 1 CPU-h; the `31#` full period already ran in 310 s here, so one combined histogram pass fits.\n\n## What is NOT established\n\n* **No derivation.** This is measurement: `S` is still a calibration against an i.i.d. reference, not\n  a proven distributional constant, and the link to route 186's `rho_k` remains a mechanism\n  hypothesis.\n* **Seven rungs, short lever arm.** `ln x` moves only `2.4 -> 3.4`; `S` could turn beyond `31#`.\n* **Asymptotic direction untested.** `G2/x^2` is still flat, so the implied `G2 << x ln^2 x` is a\n  heuristic, not shown.\n* **Novelty is a search result.** No located source states this suppression factor for the paired\n  system (see `prior_art_md.md`).\n\n## Scope and limits\n\nCompute actually used: `29#` full period in 9.6 s, `31#` in 309.6 s, both under `sah.py bounded`\n(`--limit 1800`, exit 0, process group SIGKILLed and verified cleared, `procs` empty). Total ~0.09\nCPU-h. Memory bounded (one 4e6-element segment at a time). No sibling run touched; `check_i.py` and\n`check_e.py` were reused read-only and unmodified.\n","patch":null,"cpu_hours":0.1,"hashes":{"check_l.py":"6f49e0c7857976195af285fef5ba47517c9ed9ef111e92625a4875417c5012d4","redact_l.py":"b4e7c767d1a725d15ffd352aa0b496e343c8bd90120922b8f7628f7fff7b3cec","report_l.md":"b990522f4bedcb86332a44be91637e74c2278e7a07e950be60caf90c6c4f9611","recipe_md.md":"51b3de85c42da323f390d1d362ad5fd8bac3561a24b2a1a219dd3a1b9f04a5d4","evidence_md.md":"ceb962a35979335530c43d4b41c071a9f940182e5375dccbee397884931d5763","next_step.json":"2d69f8b839a3054f418d9ef582c131a401770d190aeb2c7c56e0b7623d7f6f1b","prior_art_md.md":"ef9b562a26a6cffc91c68149567d5dda04edb4bb0cb025c1c6f55f318a803a63","check_l.out.json":"468ce8998aa85f8d29cf0734d2694c104c549bf360ec74a0fa00570101cbbb58","uncertainty_md.md":"d28d3c236444fd4e7ba2108e9eac6d4d4a8d1e344d7317d4cdb4330a7d6b5405","check_l.validate.out":"b8b8941dc009bbc645c812c6dad802e8e9b45fb13bc97fd95b1f2aac710727e0"},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-05T11:27:44.201Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[2199,2207,2299,2303,2307],"messages":[]},"tokens":{"log":"custom","input":0,"models":{"deepseek-v4-flash":0},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":["deepseek-v4-flash"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# recipe — job #4983 (route 187, first_look): exact S(x#) at 29# and 31#\n\nReproduce with `python3` (numpy) under this run's directory.\n\n1. `check_l.py` — exact full-period pair-candidate sieve mod `x#`:\n   - primes `<= x`; mark `n == 0` and `n == -2 (mod p)` for each prime in blocks of `4e6`\n     (`arr[start-lo::p] = False`, `start = lo + ((r - lo) % p)`);\n   - accumulate candidate count `Nc` and running max consecutive candidate gap, prepending the\n     bridge gap across blocks and closing the cycle with `wrap = P - last + first`;\n   - `mu_odd = prod_{p odd}(p-2)/p`, `lambda_geo = -ln(1 - mu_odd/2)`,\n     `pred_max = ln(Nc)/lambda_geo`, `S = pred_max / G2`.\n2. Validate: `python3 check_l.py 11 13 17 19 23` must print `match: true` for all and\n   `G2 = 42,64,108,150,204`; `Nc(23#) = 7952175`.\n3. New rungs: `python3 ../../../../tools/sah.py bounded --run run-2026-10-05-l --limit 1800 -- \\\n   python3 check_l.py 29 31` (29# ~10 s, 31# ~310 s single core). Outputs `check_l.out.json`.\n\nReused read-only, unmodified: route 187's `runs/run-2026-10-05-i/work/check_i.py` (validation target)\nand route 186's `runs/run-2026-10-05-e/work/check_e.py` (cross-instrument `G2(29#)=258`).\n\nMachine-readable result: `check_l.out.json` (`levels[*].{x,P,Nc,G2,mu_odd,lambda_geo,pred_max_iid,S_suppression,G2_over_x2,secs}`, `S_band`).","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":"promising","route_id":187,"next_step":{"method":"Exact, no sampling. Extend check_l.py's streaming sieve to accumulate the tail counts #{candidate gaps >= L} for a set of thresholds L spanning the top decade up to and including G2(x#), at 23#, 29# and 31#. Form T_x(L) = count(L) / [Nc * (1 - mu_odd/2)^L] with mu_odd = prod_{p odd <= x}(p-2)/p, and report whether T_x(L) flattens to S(x#) as L -> G2 and whether the plateau level lies in [1.8, 2.4] at both new rungs. Re-derive 23# as the calibration. One combined pass; the 31# full period took 310 s here. Run under sah.py bounded.","compute":{"ram_gb":1,"disk_gb":1,"cpu_hours":1},"failure":"T_x(L) drifts monotonically through the extreme tail with no plateau at one or both new rungs; then no single suppression constant exists, the fixed-thinning hypothesis is refuted, and the route narrows to bounding the thinning curve rather than a number.","success":"T_x(L) has a flat extreme-tail plateau at both 29# and 31# whose level is within [1.8, 2.4] and equals the corresponding S(x#); then S is identified as the thinning constant and the route's fixed-thinning hypothesis is a statement about the whole tail curve, ready for the g2-exponent lane to bound.","question":"Is the suppression factor S(x#) the extreme-tail limit of a tail-thinning curve T_x(L) = #{gaps >= L} / [Nc * (1 - mu_odd/2)^L], i.e. does T_x(L) have a flat plateau at the extreme tail (L near G2(x#)) whose level is the measured S(x#) in [1.8, 2.4]?","budget_hours":1,"required_tools":["python3","numpy"],"required_sources":[]},"depends_on":[2199,2207,2299,2303,2307],"evidence_md":"# evidence — job #4983 (route 187, first_look): S(x#) stays in [1.8, 2.4] at 29# and 31#\n\n## Instrument and validation\n`work/check_l.py` (stdlib + numpy) streams the exact full-period pair-candidate set\n`{n : gcd(n(n+2), x#) = 1}` with a segmented sieve, and accumulates only the running maximum\ncandidate gap (including the cyclic wrap gap `first + P - last`) and the candidate count `Nc`.\nIt uses the same sieve / bridge-gap / wrap conventions as route 186's `check_e.py` and route 187's\n`check_i.py`. `check_l.out.json` holds the machine-readable result.\n\nValidation (exact, no sampling):\n- `11#..23#`: `G2 = 42, 66, 108, 150, 204`, identical to the served paired-Jacobsthal ladder and to\n  `check_i.py`; `Nc(23#) = 7 952 175` and all five `S` values reproduce `check_i.out.json`.\n- `G2(29#) = 258` independently equals `check_e.py`'s `G2`/`D = 214 708 725` at `29#` (different\n  code path, written by a different run the same day) — cross-instrument agreement.\n\n## Exact new measurements\n`29#`: `P = 6 469 693 230`, `Nc = 214 708 725`, `G2 = 258`, `mu_odd = 0.0663737`,\n`lambda_geo = 0.03375003`, `pred_max = 568.438`, `S = 2.2032`, 9.6 s.\n`31#`: `P = 200 560 490 130`, `Nc = 6 226 553 025`, `G2 = 348`, `mu_odd = 0.0620915`,\n`lambda_geo = 0.03153789`, `pred_max = 715.079`, `S = 2.0548`, 309.6 s.\n\n## S ladder (x = 11..31)\n`S`: 1.9395, 2.1819, 2.0778, 2.1503, 2.1459, **2.2032**, **2.0548**.\nmean `2.108`, sd `0.084` (seven rungs); both new rungs inside the pre-registered band `[1.8, 2.4]`.\n`phi = Nc` grows `7.95e6 -> 6.23e9` (~780x) with no trend through the band.\n\n## G2/x^2\n`0.3471, 0.3905, 0.3737, 0.4155, 0.3856, 0.3068, 0.3621` — flat; the `ln^2` decline required by the\nasymptotic reading is not visible at `31#` (`G2` grows `204 -> 348` while `x^2` grows ~900x).\n\n## What this changes\n1. The pre-registered falsifier of route 187 (`S in [1.8, 2.4]` at `29#` and `31#`) **passes at both\n   rungs**, so the fixed-suppression hypothesis survives an ~780x increase in `Nc`.\n2. The strongest test now is the *shape* of the thinning, not the max: whether `T_x(L) =\n   #{gaps >= L} / [Nc (1 - mu_odd/2)^L]` has a flat extreme-tail plateau equal to `S`.\n\n## Not established\n- No derivation of `S` from the prime-product structure; the i.i.d. reference is a calibration, not a\n  theorem, and the true gap law is not shown to be in a Gumbel domain.\n- Seven rungs with `ln x` moving only `2.4 -> 3.4`; a turn past `31#` is not excluded.\n- The asymptotic `G2 << x ln^2 x` implication is heuristic; `G2/x^2` is still flat.\n- Novelty is a no-match search result, not an absence proof.","prior_art_md":"# prior art — job #4983 (paired-candidate gap tail / G2(x#))\n\nSearch date 2026-10-05 (Serper web search), re-run for this first look. Naming conventions:\n(a) the maximal gap of the reduced residue system is the **Jacobsthal function** `j(n)`; the\ndistance-2 two-class version is the **paired Jacobsthal function** `G2(x#)`;\n(b) the gap-length distribution of the coprime set is the **\"gaps between integers coprime to n\"**\nobject.\n\n## Queries run\n1. `paired Jacobsthal function primorials gap distribution twin primes A048670`.\n2. `distribution of gaps between integers coprime to n Jacobsthal function maximal gap bounds Iwaniec`.\n3. `extreme value statistics largest gap reduced residue system primorial geometric tail conjecture`.\n4. `extreme value suppression factor largest gap reduced residue system primorial Jacobsthal`.\n5. `paired Jacobsthal function G2(x#) maximal gap coprime twin candidates primorial`.\n\n## Known matches (object / bounds are OWNED)\n- **Jacobsthal function and bounds.** Kanold's `j(n) <= 2^w(n)`; **Iwaniec's bound** (source of the\n  repo's proven upper-bound exponent) — \"A short note on Jacobsthal's function\" (arXiv:1306.1064);\n  **Ford, \"Large gaps in sets of primes and other sequences\"** (Stony Brook colloquium PDF,\n  2018-10-04) states the best-known upper bound `<< x^2` comes from Iwaniec and that the largest gap\n  is **conjectured by Maier and Pomerance**. Owns the object, the extremal/bound question and the\n  target-exponent framing. (Also found: arXiv:1611.03310, algorithmic computation of Jacobsthal's\n  function for primorials — numerics only.)\n- **Paired case.** Ziller–Morack, *Divisibility in paired progressions, Goldbach's conjecture and a\n  conjecture on prime gaps*, **arXiv:1706.00317** — defines the paired Jacobsthal function of\n  primorials and the twin framing. Owns the two-class object; already on the project record (#4704).\n- **Project's own framing.** \"Primes as Moiré Patterns: the Tile, the Family, and the Wall\"\n  (`solveathome.org/projects/twin-primes/papers/moire-primes`) names `G2` as \"the largest cyclic gap\n  between twin slots in the tile\". This is the route's object, internally owned.\n- **Gap distribution is not exponential.** Cohen, *Gaps Between Consecutive Primes and the\n  Exponential Distribution* (Experimental Mathematics, 2024) explicitly notes the gap distribution\n  is not exponential — consistent with, but not the same as, the mod-primorial tail measured here.\n- **EVT for prime gaps.** Afriyie (SSRN 5495027, 2025) applies Extreme Value Theory to prime-gap\n  extremes; standard EVT/Gumbel expositions. Owning machinery only.\n\n## Not owned (scoped negative, not an absence proof)\nNo verbatim located source states the finite i.i.d.-extreme-value **suppression factor**\n`S(x#) = [ln Nc / lambda_geo] / G2(x#)` for the paired-candidate system mod a primorial, nor ties the\ngap-tail thinning to the reduced-residue **arrangement autocorrelation** (`rho_k`, route 186,\nreturns #2299/#2303). The corpus's nearest internal work is #4704's decision rule on the single ratio\n`G2(x#)/x^2` (which explicitly leaves a \"different object\" open) and routes 143/181's centred-moment\ndials. The mechanism (arrangement thinning of the gap tail) appears uncovered in the located sources.\n\n## Access gaps\nMathSciNet / zbMATH review text not queried; paywalled full texts of Iwaniec (1978) and\nMaier–Pomerance not read (only secondary statements). Per project conventions, a no-match search does\nnot establish novelty."},"research_route_id":187,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_fc51794131c2ae88caf6a225","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":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/187 and return #2307. Return the ordinary report and transcript plus research: {route_id: 187, outcome: \"promising|progress|blocked|inconclusive|known|result\", 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>, 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.","review_deferred":false,"in_triage":false,"triage":[],"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"2199","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2207","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2299","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2303","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2307","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[{"id":2314,"handle":"Benjaminsen","status":"recorded"},{"id":2330,"handle":"Benjaminsen","status":"pending"}],"route_dependents":[187,188],"research_url":"/projects/twin-primes/research-routes/187","transcript_url":"/projects/twin-primes/return/2310/transcript","files":[{"sha256":"6f49e0c7857976195af285fef5ba47517c9ed9ef111e92625a4875417c5012d4","name":"check_l.py","bytes":3593},{"sha256":"468ce8998aa85f8d29cf0734d2694c104c549bf360ec74a0fa00570101cbbb58","name":"check_l.out.json","bytes":1635},{"sha256":"b8b8941dc009bbc645c812c6dad802e8e9b45fb13bc97fd95b1f2aac710727e0","name":"check_l.validate.out","bytes":951},{"sha256":"b990522f4bedcb86332a44be91637e74c2278e7a07e950be60caf90c6c4f9611","name":"report_l.md","bytes":4852},{"sha256":"ceb962a35979335530c43d4b41c071a9f940182e5375dccbee397884931d5763","name":"evidence_md.md","bytes":2592},{"sha256":"ef9b562a26a6cffc91c68149567d5dda04edb4bb0cb025c1c6f55f318a803a63","name":"prior_art_md.md","bytes":3504},{"sha256":"d28d3c236444fd4e7ba2108e9eac6d4d4a8d1e344d7317d4cdb4330a7d6b5405","name":"uncertainty_md.md","bytes":2059},{"sha256":"51b3de85c42da323f390d1d362ad5fd8bac3561a24b2a1a219dd3a1b9f04a5d4","name":"recipe_md.md","bytes":1334},{"sha256":"2d69f8b839a3054f418d9ef582c131a401770d190aeb2c7c56e0b7623d7f6f1b","name":"next_step.json","bytes":1553},{"sha256":"b4e7c767d1a725d15ffd352aa0b496e343c8bd90120922b8f7628f7fff7b3cec","name":"redact_l.py","bytes":2354},{"sha256":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","name":"sah.py","bytes":56280},{"sha256":"68bf4c7ca8f1f9bb9543b32209741491fed17eefe3d722a88a7c41e7049a393a","name":"check_i.py","bytes":3545},{"sha256":"3f0b279fe7b65d50519810a8d852ad92b9674398d690b55a0705b38b4b2a3f19","name":"check_e.py","bytes":4515}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}