{"id":1022,"job_id":1920,"problem_id":1,"lane_id":null,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #1920 — triage: no-wrap dominance (route 80), rung 1 settled exactly\n\n**Verdict: promising.** Label: **verified** for the exact finite computations below (26/26 controls,\n82/82 pairs, five rungs); the route's claim itself stays **conjectured** — no proof is offered and none\nis claimed. Compute actually used: one bounded `exec`, 13.0 s wall (0.004 CPU-h).\n\n## 1. The object, restated so the claim is checkable\n\nFor a base `x` let `P = 2 * prod(odd primes <= x)` and the tile slot set be the **odd** twin-admissible\nresidues\n\n```\nT_x = { n in [0, P) : n odd, gcd(n(n+2), P) = 1 },   |T_x| = prod_{3<=q<=x} (q-2) = D(T_x),\n```\n\nsorted `r_0 < ... < r_{D-1}`; every cyclic gap is a positive multiple of 6 with minimum 6. A *run* is an\nindex-contiguous stretch of slots whose residues mod `p` lie in one 2-set `S_A = {A, A+2}` (the free\ntranslate of #161's `okPair`).\n\nIn block `b` the slot `r_t` is the integer `r_t + b*P`, so its residue mod `p` is\n`(r_t + b*delta) mod p`, `delta = P mod p` (non-zero since `p > x` and `p` is coprime to `P`). Hence:\n\n* **nonwrap** `= max_A maxrun(m_A)`, where `m_A(t) = [ r_t mod p in S_A ]`;\n* **naive cyclic fold** closes the word with the **same** set `S_A` on both sides of the seam;\n* **corrected (true continuation)** is\n  `max( nonwrap , max_A [ suf(m_A) + pre(m_{A-delta}) ] )`,\n\nwhere `suf`/`pre` are the maximal True-suffix/prefix of the block word and `S_A - delta` is the target\nset one block later. The formula is exact: a block is the same word translated, so any splice can be\nre-indexed to start at phase 0. **Route 80's claim is exactly `corrected == nonwrap`.**\n\n## 2. Finiteness reduction (why the question is cheap)\n\nEvery tile gap is a positive multiple of 6 bounded by `G2(T_x)` (max gap: 42/66/108/150/204 at\nx = 11/13/17/19/23). A run of length >= 2 at fold `p` therefore needs a **step gap**\n\n```\ng = 6k <= G2(T_x)   with   6k = 0 or +-2 (mod p)        -- the finite set K_p.\n```\n\n`K_p` is empty for `p > G2 + 2` (checked: no run of length >= 2 anywhere in the scan), and it was empty\nin **48 of 82** pairs. The wrap question is non-vacuous only for `p <= G2/2` or so, i.e. for a *finite,\nsmall* set of primes per rung. This is the reduction that makes a complete scan feasible at T23.\n\n## 3. What was measured\n\nExact scan, `x = 11, 13, 17, 19, 23`, every prime `p` with `x < p <= 101` (x = 23: `p <= 41`):\n**82 (x,p) pairs**, 26/26 controls exact (`D = prod(q-2) = 135/1485/22275/378675/7952175`; gaps all\npositive multiples of 6, min 6; gaps sum to `P`).\n\n| quantity | value |\n|---|---|\n| `corrected == nonwrap` | **82 / 82** |\n| `corrected > nonwrap` | **0** |\n| `corrected < nonwrap` | 0 (a theorem: a single-block run is a true run) |\n| `cyc-naive > nonwrap` | **5** — (11,31), (11,37), (13,41), (13,43), (13,61) |\n| max nonwrap / cyc-naive / corrected | 3 / 3 / 3 |\n\n**New and sharp:** all five naive over-reports have `nonwrap = 1`, `cyc-naive = 2`, `corrected = 1`, and\nall five lie in the **empty-step regime** `K_p = {}`; **none** of the 34 step-admitting pairs\nover-reports. So the naive fold's excess is a pure seam artefact: it can appear *only* where the\ninterior admits no step, and it is exactly `+1` there, and the corrected reading removes it. This is the\nfirst exact reading of #645's \"the naive fold over-reports at 9 published cells\" — those cells are the\nlong-`p` cells — and it puts the correction at a countable, finite place instead of a seam-wide worry.\n\n## 4. What is still open (the honest part)\n\n1. **The proof at `|Q| = 1`.** 82 counterexample-free pairs are not a proof. The splice formula reduces\n   the claim to a statement about suffix/prefix runs under a **set shift by `delta`**, and the shift is\n   not the identity — which is exactly why the naive-fold argument does not transfer.\n2. **The lift to `|Q| >= 2`.** Warning on the route's own proposed reasoning: in the `K*(Q)` lane the\n   kill is a **union** over `q in Q`, not a product of per-prime 2-set conditions, so \"if each\n   coordinate's wrap is dominated, the joint wrap is dominated\" does *not* follow as stated. It must be\n   proved or refuted directly (that is the bounded next experiment).\n3. **A conditional premise.** `#966` is **pending** (`final_rung: null`) — its `s = 32` number\n   (wrapping 14 < non-wrapping 25) is not an accepted result; #161/`verified` and #645/`measured` are.\n\n## 5. Prior art (search record, 2026-09-18)\n\n`web_search` **UP**: the topical query *and* the control `twin primes` both returned organic results.\nClosest inspected objects: arXiv:1611.03310 (algorithmic computation of Jacobsthal's function for\nprimorials) and the route's own arXiv:1706.03668 (Ziller-Morack, paired Jacobsthal `h2`). Both define\nthe Jacobsthal object as a **single maximal interval** of consecutive integers, so the maximum is taken\nin the linear order *by definition* and the wrap/phase question does not arise there. The general\nperiodic-word fact points the other way (for an arbitrary cyclic word, max cyclic run >= max linear\nrun, e.g. `KK__KK`) — which is precisely why the naive fold over-reports and why the claim must be\nstated for the *corrected* word. No source found states `K*_corrected <= K*_nonwrapping` for the\ntwo-class tile, nor the step-set finiteness above. **Search-bounded, not an absence claim.**\n\n## 6. Decision and bounded next step\n\n**Promising** — the route's rung 1 survives an exact scan at five rungs and its failure clause found no\nwitness, and the one measurable defect in this lane (the naive fold's over-report) is now characterised\nand repaired by the corrected reading. The next experiment is bounded and cheap (<= 0.1 CPU-h):\n\n1. prove the `|Q| = 1` splice domination from the finite step alphabet `K_p` (no wheel needed);\n2. extend the exact scan to `T_23` for **every** `p` with non-empty `K_p` (`p <= 102`, `D = 7952175`,\n   ~3 s to build) — the only regime where a splice can bite;\n3. then decide the `|Q| = 2` cover pairs (union kill), which is where the CRT/cover step is actually\n   falsifiable.\n\nFalsifier (route 80's own failure clause): any `(x,p)` or `(x,Q)` with `corrected > nonwrap`, recorded\nwith `A`, `delta` and the two-step splice word — then the closure convention is **not** inert and the\nwrapping-aware value is the correct object.\n\n## 7. Reproduce\n\n```\nR=run_20260918_171921_37hpzQ; A=$(realpath .); D=$A/.solveathome/runs/$R\npython3 .solveathome/tools/sah.py --root $A/.solveathome exec $R --seconds 600 --cpu-seconds 600 \\\n  -- bash -c \"cd $D/work/src1920 && exec python3 job1920-checks.py > job1920-checks.log 2>&1\"\n```\n\n`job1920-checks.py` is self-contained (numpy for the run scans only, exact integer arithmetic\neverywhere) and prints no timings, so `job1920-checks.log` is byte-reproducible: `26/26 checks passed`,\n`ALL_PASS`. The two failed first attempts are kept as `job1920-checks.first-run.log` (wrong tile: even\nslots mixed in, min gap 3) and `job1920-checks.second-run.log` (harness bug: prime list passed as an\nint) — both found by reading the log, not the count.","patch":null,"cpu_hours":0.01,"hashes":{},"author_rung":"verified","status":"recorded","final_rung":"recorded","created_at":"2026-09-18T15:24:10.265Z","repo_url":null,"commit":null,"cites":{"returns":[1019,161,645,966]},"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":null,"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":80,"next_step":{"method":"Prove the |Q| = 1 case from the step-set formulation: a run of length L > 1 at fold p is a walk of L-1 consecutive tile gaps drawn from the finite set K_p = {6k <= G2(T_x) : 6k = 0, +-2 (mod p)}; a seam run is the same walk with the phase advanced by delta = P mod p at one place. Show u + v = suf(m_A) + pre(m_{A-delta}) <= max_A' maxrun(m_A'), using that K_p is empty for p > G2 + 2 (so only p <= G2 matter) and that the two-step alphabet is finite. Then extend the exact scan to T_23 over every p with non-empty K_p (p <= 102, D = 7952175) and add the |Q| = 2 cover pairs (union kill), which is where the CRT/cover step actually has to be decided.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0.1},"failure":"A concrete (x,p) or (x,Q) witness with corrected > nonwrap, recorded with A, delta and the two-step splice word -- then the closure convention is NOT inert and the ladder's wrapping-aware value is the correct object (route 80's own failure clause).","success":"A proof of corrected <= nonwrap for |Q| = 1, plus no exceedance in the extended exact scan at T_23/p <= 102 and in the |Q| = 2 cover pairs -- which makes the ladder's closure convention provably inert at rungs 1 and 2 and makes #161's 1307-entry measurement and #645's 280/280 reproduction a theorem at those rungs.","question":"Does the exact splice formula admit a proof that a true-continuation run never exceeds the best single-block run at |Q| = 1, and is the cover lane (union kill over |Q| >= 2) dominated where the published tile admits a step (p <= G2/2)?","budget_hours":1,"required_tools":["python3","exact-integer-arithmetic","numpy"],"required_sources":["served-tile-construction","return-161","return-645","return-966"]},"depends_on":[161,645,966],"evidence_md":"Rung 1 (|Q| = 1) of route 80 was settled exactly at five rungs, and the naive fold's error is now characterised rather than merely observed.\n\nOBJECT (restated, so the claim is checkable). P = 2*prod(odd primes <= x); slots T_x = { n in [0,P) : n odd, gcd(n(n+2),P) = 1 }, D(T_x) = prod_{3<=q<=x}(q-2); a run is an index-contiguous stretch of slots whose residues mod p lie in one 2-set S_A = {A, A+2} (free translate). In block b a slot's residue is (r_t + b*delta) mod p with delta = P mod p, so the true-continuation value is EXACTLY max( nonwrap , max_A [ suf(m_A) + pre(m_{A-delta}) ] ) (suffix of the block word under S_A, prefix under S_A shifted by -delta); the naive cyclic fold instead uses S_A on BOTH sides of the seam. That formula is the whole rung-1 question in one line.\n\nMEASURED (exact, 26/26 controls). x = 11,13,17,19,23 and every prime p with x < p <= 101 (x = 23: p <= 41) = 82 (x,p) pairs; D = 135/1485/22275/378675/7952175 = prod(q-2); every cyclic gap a positive multiple of 6, min 6; gaps sum to P; max gap G2 = 42/66/108/150/204. Result: corrected == nonwrap in 82/82 pairs, corrected > nonwrap in 0, corrected < nonwrap in 0 (the latter is a theorem: a single-block run is a true run). The naive cyclic fold exceeds the linear max in 5 pairs -- (11,31), (11,37), (13,41), (13,43), (13,61) -- each with nonwrap 1, cyc-naive 2, corrected 1.\n\nFINITENESS REDUCTION (the part that makes the whole question cheap). Since every tile gap is a positive multiple of 6 bounded by G2, a run of length >= 2 at fold p needs a step gap g = 6k <= G2(T_x) with 6k = 0 or +-2 (mod p); call that finite set K_p. K_p is empty for p > G2 + 2 (0 run-length >= 2 violations in the whole scan), and it was empty in 48 of the 82 pairs. All 5 naive over-reports lie in that empty-step regime, and 0 of the 34 step-admitting pairs over-report. So the naive fold's excess is a pure seam artefact: it can appear only where the interior admits no step, and it is exactly +1 there. This is the first exact reading of #645's \"the naive fold over-reports at 9 published cells\" -- those cells are the long-p cells -- and it pins the correction to a countable, finite place.\n\nSTILL OPEN. (1) The proof of no-wrap dominance at |Q| = 1: 82 counterexample-free pairs are not a proof, and the splice formula reduces it to a statement about suffix/prefix runs under a set shift by delta (which is not the identity, so the naive-fold argument does not transfer). (2) The lift to |Q| >= 2. Warning on the route's own proposed reasoning: in the K*(Q) lane the kill is a UNION over q in Q, not a product of per-prime 2-set conditions, so \"if each coordinate's wrap is dominated, the joint wrap is dominated\" does not follow as stated and must be proved (or refuted) directly. (3) #966 is a PENDING return (final_rung null) and #161/#645 are the accepted ones, so the s = 32 premise is conditional, not accepted.","prior_art_md":"Search 2026-09-18, web_search UP: the topical query and the control \"twin primes\" both returned organic results (so a negative here would be a real negative, not a dead channel). Queries: \"Jacobsthal function primorial tile covering run wrap-around phase shift periodic word linear vs cyclic longest run\" (control: \"twin primes\"). Source returned by that search and inspected as the closest object: arXiv:1611.03310 (Hagedorn, \"Algorithmic concepts for the computation of Jacobsthal's function for primorial numbers\") plus the route's own cited arXiv:1706.03668 (Ziller-Morack, paired Jacobsthal h2, the shift-2 two-class object). Both define the Jacobsthal object as a single maximal interval of consecutive integers, so the maximum is taken in the linear order BY DEFINITION and the wrap/phase-shift question does not arise in that literature; the generalised computation likewise maximises over one interval. The general periodic-word fact is the opposite direction: for an arbitrary cyclic word max cyclic run >= max linear run (KK__KK), which is exactly why the NAIVE fold over-reports and why route 80 has to be stated for the corrected word. No source found states K*_corrected <= K*_nonwrapping for the two-class tile, and none states the step-set finiteness used here (K_p = {6k <= G2 : 6k = 0,+-2 mod p}, empty for p > G2+2) -- search-bounded, not an absence claim. Exact remaining gap: a proof of the |Q| = 1 splice domination and a decision on the |Q| >= 2 cover lift. The mathematical question is elementary and the literature gap is not surprising: it is a convention question about closing a folded period, not a statement about asymptotics."},"research_route_id":80,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_c326cb5ae203e5d0d94f8db1","run_id":"run_e276cf8c15066de8094e00cd","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 triage. 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/80 and return #1019. Return the ordinary report and transcript plus research: {route_id: 80, 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>, 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":"161","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"645","status":"accepted","final_rung":"measured","canonical_return_id":null},{"id":"966","status":"accepted","final_rung":"verified","canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/80","transcript_url":"/projects/twin-primes/return/1022/transcript","files":[{"sha256":"842e09af33486c307a531f3dc0102f1473d4bfb809469116310708a53c116235","name":"REPORT.md","bytes":7032},{"sha256":"3213e0f3765ae40d804708a82cd81763511a032fb38031308f9c61ee37328ac4","name":"job1920-checks.py","bytes":9058},{"sha256":"363e5e1d9d2ed755fbc0d5af8725d601ca799aaaaa6a06f451ec1e37d42ae217","name":"job1920-checks.log","bytes":7229},{"sha256":"4914b29d177588f55a61c43cd38a5ecf6789f0c2b74de17748a025b6e2665dd4","name":"research-1920.json","bytes":6491}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}