{"id":1833,"job_id":2612,"problem_id":1,"lane_id":null,"type":"explore","user_id":1,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Job #2612 (pursue route 100): floor(2L/p) is not the exact maximal drop. A proven phase bound D(P,p,L) is strictly smaller on 2300 of 4036 shapes; drops of 3 to 17 exist at base P=2; D >= 3 is never attained in scope\n\n**Caveat first.** This is a finite instrument. Nothing here bounds G2, beta_2 or twin-prime infinitude. The drop >= 3 witnesses are at base P = 2 (P = 2# is a primorial; #1264/#1267 state their lemmas for every primorial P). At P = 30 no drop >= 3 lies in any computed range, and section 1 shows none can occur below A = 14 (p = 7), 19 (p = 11) or 21 (p = 13). Whether D is attained once D >= 3 stays open: in scope it is attained only for D <= 2.\n\nNotation (#1267): L = A = K*(P,R), B = K*(Pp,R), drop = A - B. For a run rho and translate t in Z/p, k_t(rho) is the number of p-forked slots.\n\n## 1. Phase bound (proven; the table is verified)\n\nLet c_0 < ... < c_{m-1} be the twin-admissible classes mod P. L consecutive A_P slots starting in class c_phi are n_1 + o_i, where o_i = floor((phi+i)/m) P + c_{(phi+i) mod m} - c_phi (i < L). These offsets depend only on (P, phi, L). Translate by t M_R (M_R = P prod R, prime to p). The start residue s = n_1 + t M_R (mod p) then runs over all of Z/p, so\n\nmin_t k_t(rho) = kappa_phi(L) := min_{s in Z/p} #{ i : o_i + s = 0 or -2 (mod p) }.\n\nThis depends on (P, p, phi, L) only. It does not depend on R or on which run. #1267 section 3 gives drop <= min_t k_t(rho) for every maximal run rho. Hence, for every R with K*(P,R) = L,\n\n**drop <= D(P,p,L) := max_phi kappa_phi(L) <= floor(2L/p)** (the last step is #1267's pigeonhole).\n\nWhenever D < floor(2L/p), no R attains floor(2L/p). This is the step's failure branch (\"a strictly stronger bound for some (L,p)\"), and it is a theorem, not a missed search. The step's other failure case (\"every translate of a maximal run loses more than floor(2L/p)\") cannot occur, because the translate sum is 2L.\n\ndbound2612.py computes D exactly (Python ints) for P in {2, 6, 30, 210, 2310}, p <= 97, L <= 60, with floor >= 1. It covers 4036 shapes; on 2300 of them D < floor (dbound2612.json). Examples, as [P, p, L, floor, D]:\n- [30,7,4..7, 1..2, 0]: at P = 30, a base change by 7 never lowers K* <= 7. This explains #1804's \"all p=7 rows d*=0\".\n- [30,7,11, 3, 2], [30,11,17, 3, 2], [30,11,18, 3, 2], [30,13,20, 3, 2].\n- The smallest L with D(30,p,L) >= 3 is 14, 19, 21, 27, 33 for p = 7, 11, 13, 17, 19. The first floor-3 rows of route 117's queued job 4154 (p = 11, A = 17..18) therefore cannot drop by 3.\n- D(P,p,L) = floor(2L/p) for P = 2, p = 3 at every L, because 2j+1 mod 3 cycles through all three residues.\n- The phase matters: (30,11,12) has D = 2 but min_phi kappa = 1. #1267's run sits in a D-attaining phase.\n\n## 2. Consistency with the record (verified)\n\ncensus2612.py re-reads #1812's 14,008 hard rows and #1804's 1,904 rows (with kfork's per-row d*). Result: 0 rows have drop > D, and 0 have d* > D. floor - D = 1 on 7,848 + 807 rows and floor - D = 2 on 169 + 98 rows. drop = D occurs on 3 + 3 rows with D = 1 and on #1267's row (D = 2).\n\n## 3. Sweep at small bases (measured; pre-registered in prereg-2612.md before any row ran)\n\nThe population is P = 2 with R from primes 3..43 (2 prod R <= 2e8), and P = 6 with R from primes 5..47 (6 prod R <= 5e8). It takes rows with D >= 3 and Mp <= 2e9, and rows with D = 2 and Mp <= 1e8, in ascending Mp. Both populations ran to completion: 11017 at P = 2 (Mp reached 1994416710) and 1952 at P = 6 (Mp reached 1994416710). The instrument is kstar.c (#1812), gated on #1267 (12 -> 10) and #1246 (9 -> 8).\n- Guard G (drop > D): 0 rows.\n- Rows with drop >= 3: 1350. Maximal drop per (P,p): P=2 p=3: 17; P=2 p=5: 2; P=2 p=11: 6; P=2 p=13: 8; P=2 p=17: 2; P=2 p=19: 2; P=6 p=11: 2; P=6 p=13: 2.\n- drop = D attained: (P=2,p=3,D=2) x45. There are 8269 rows with D >= 3, and none attains D. The largest attained D is 2.\n- Cross-checked by kfork.c (xcheck2612.out):\n  - (2,3,{5,17,19}): A = 7, B = 4, drop 3, d* = 4.\n  - (2,3,{5,7,11,13,19,23}): A = 32, B = 22, drop 10, d* = 21.\n  - (2,11,{3,5,7,13,19,23}): A = 62, B = 56, drop 6, d* = D = 10, floor 11.\n  - (2,13,{3,5,7,17,19,23}): A = 62, B = 58, drop 4.\n  - (2,3,{5,7,11,17,19,23,29}): A = 48, B = 31, drop 17, d* = 32.\n  - (2,13,{3,5,7,11,19,29,37}): A = 83, B = 75, drop 8, d* = 12 = floor.\n  - (6,11,{5,7,13,19,23}): A = 20, B = 18, drop 2, d* = 3.\n  - kstar agrees on each of these rows.\n\nReading: floor(2L/p) is not the sharp constant. D(P,p,L) is a proven, strictly smaller bound on 57% of the tabulated shapes. The attained maximum is D exactly for D <= 2. For D >= 3 it sits below D in every row run, because merges recover length (B - (A - d*) > 0, as in #1804).\n\n## Named requirements\n\n`python3` and `exact-integer-arithmetic` were used: Python ints in dbound2612.py/census2612.py, and exact uint64 in the served C instruments. `return-1264` and `return-1246` are public records and were read. I rebuilt only the small D calculator. kstar.c and kfork.c are reused unchanged from #1812 and #1804.\n\n## Files\n\ndbound2612.py/.json, census2612.py/.json, prereg-2612.md, sweep2612.py/.json/.jsonl, xcheck2612.sh/.out. The first sweep attempt (all D >= 2 rows, Mp <= 1e10, one batch) was stopped after 10 minutes with no output read, as recorded in the prereg amendment.\n\nSources: <project base>/research-routes/100 (rev 2), /research-routes/117 (rev 3); returns #1246, #1264, #1267, #1804, #1812. The online search is in prior_art_md.\n\n36 returns wait for a verdict.\n\nTranscript: scrubbed by sah-py-1.0.5 (credentials, session/account ids, and local paths outside the work folder removed).\n","patch":null,"cpu_hours":2,"hashes":{"xcheck2612.out":"9059c92a28c56785bad8fdfae8b50b5f7ea233f54318c9e93e2b7a4454930f77","census2612.json":"c0777c80272ed9b2acf6414e8a2141642f9c7361bb16c84efc0cbb5e0496e9d2","dbound2612.json":"9d0389ac5ff6fcd951a548230b1cf839e3fe5fc18e7e1e01b0c360ae7799e046"},"author_rung":"proven","status":"pending","final_rung":null,"created_at":"2026-09-26T14:25:52.196Z","repo_url":null,"commit":null,"cites":{"files":["4d3faa05291d3533890f6fb2ad11b8b5d22e1697ba85bcb86b713ce531ac7aba","c372d71775047b743e8a2d912663f8d1399e9e98228f054d68b2d719443bcffc","8837978e1e4003a30521675e5a215b968bd56def51d6c70721087fc6c88f4c30","44742d0793ceff1b2e0a93d41c4186d16a18fd7aaa8d995ba2cbf88b030e5b69"],"handles":[],"returns":[1246,1264,1267,1804,1812],"messages":[]},"tokens":{"log":"claude-code","input":172,"models":{"claude-opus-5-5":66763},"output":66763,"source":"claude-jsonl","entries":86,"cache_read":10736565,"cache_write":166799,"observed_models":["claude-opus-5-5"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"All inputs are at <project base>/files/<sha256> (host root /files). Needs python3 >= 3.9 (stdlib) and cc.\n\n1. Phase bound table (the proven claim's finite part). `python3 dbound2612.py 60 97 > dbound2612.json` (dbound2612.py f667d0b794404fdcb6468b687609239892a6becd1a2ec94a53b0dd0e79b8819b), ~2 s. Expect sha256 9d0389ac5ff6fcd951a548230b1cf839e3fe5fc18e7e1e01b0c360ae7799e046: 4036 shapes (P in {2,6,30,210,2310}, p <= 97 prime, p !| P, L <= 60, floor(2L/p) >= 1), 2300 with D < floor(2L/p). Spot rows: [30,7,11,3,2,1], [30,11,17,3,2,2], [30,13,20,3,2,2] ([P,p,L,floor,D,Dmin]).\n2. Census consistency. Fetch sweep2775b.json (8837978e1e4003a30521675e5a215b968bd56def51d6c70721087fc6c88f4c30, #1812) and sweep2785.json (44742d0793ceff1b2e0a93d41c4186d16a18fd7aaa8d995ba2cbf88b030e5b69, #1804). `python3 census2612.py sweep2775b.json sweep2785.json > census2612.json` (census2612.py 16bd6ed54a626c0e57aec791a491d3e477626ac64078d5116874b6647c375527), ~1 s. Expect sha256 c0777c80272ed9b2acf6414e8a2141642f9c7361bb16c84efc0cbb5e0496e9d2: drop_gt_D and dstar_gt_D empty on 14,008 + 1,904 rows.\n3. Witnesses by two instruments. Put kstar.c (4d3faa05291d3533890f6fb2ad11b8b5d22e1697ba85bcb86b713ce531ac7aba, #1812), kfork.c (c372d71775047b743e8a2d912663f8d1399e9e98228f054d68b2d719443bcffc, #1804) and xcheck2612.sh (a722c11ca0e595c783c736297a8012fe06c27ecb8f4fab7116ba728d02b86469) in one directory; `sh xcheck2612.sh > xcheck2612.out`, ~5 s. Expect sha256 9059c92a28c56785bad8fdfae8b50b5f7ea233f54318c9e93e2b7a4454930f77. Lines are \"P p A B dstar F nmax R...\" (kfork), then \"P p R K\" (kstar). Drop = A - B on the kfork lines: 2 (#1267 gate), 3, 10, 2, 6, 4, 2, 17, 8, 2.\n4. Sweep (measurement, wall-budgeted, so not byte-reproducible). sweep2612.py (4594af227244805764f47bc7315eece94edc9ef3f29314f15dc21bc7a2325467) under prereg-2612.md (96295e24ab8e14f36f6667fbc7d17206221ce00b64db845de1e92d574d0a037a) wrote sweep2612.jsonl (941c61912865e5356c2dd35f5e576a81c9bb1ef417fa94145c727a5ce501ac7e, rows [P,p,R,A,B,D]) and sweep2612.json (613c0c5ad3174ce072869b10433fdb8a666b6f367b1445c6da604375c5b01898). To check any row: `printf 'P 1 n R\\nP p n R\\n' | ./kstar 1`. The guard (no row with A - B > D) is re-checked from the jsonl with one line of python.\nJudgment: read the proof in report section 1 against #1267 section 3 (~10 min).","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0.022727272727272728,"omitted":2,"outputs":88},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":"2026-09-26T14:27:32.384Z","file_notes":null,"research":{"outcome":"result","route_id":100,"next_step":{"method":"Reuse sweep2612.jsonl (rows with D >= 3 at P=2 and P=6, all with drop < D) and kfork.c: for each row with drop >= D-2, list every maximal A-run and translate at min fork count and the merged A_{Pp}-run that beats A - d*, and classify the merge (end-extension through a removed unkilled slot vs a different window). Then scan P=2 and P=6 with Mp up to 1e10 for drop = D at D >= 3, lowest Mp first, and P=30 rows with p=7, A >= 14 or p=11, A >= 19 (the smallest A where D(30,p,A) >= 3).","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0},"failure":"No drop = D row for D >= 3 through Mp 1e10 and no merge-gain invariant: record the observed max drop per (P,p,D) and stop.","success":"A row with drop = D >= 3 (cross-checked by kfork.c), or a proven lower bound on the merge gain for D >= 3 that matches the observed maximal drops.","question":"Is the phase bound D(P,p,A) attained when D >= 3, or is the exact maximal drop D minus a merge gain that is always positive once D >= 3?","budget_hours":2,"required_tools":["python3","cc"],"required_sources":["return-1267","return-1804"]},"depends_on":[1267],"evidence_md":"Caveat: finite instrument; nothing about G2, beta_2 or infinitude. The drop >= 3 witnesses are at base P=2. Attainment for D >= 3 is open.\n\n(1) PROVEN, a phase refinement of #1267. The offsets of L consecutive A_P slots depend only on the start class phi mod P. Since t M_R runs over Z/p, min_t k_t(rho) = kappa_phi(L) = min_s #{i : o_i + s = 0 or -2 mod p}, independent of R. So drop <= D(P,p,L) := max_phi kappa_phi(L) <= floor(2L/p), uniformly in R. Where D < floor(2L/p), floor is never attained. That is the step's failure branch, as a theorem.\n\n(2) VERIFIED table (dbound2612.json, exact): D < floor on 2300 of 4036 shapes (P in {2,6,30,210,2310}, p <= 97, L <= 60). At P=30: D(30,7,L)=0 for L <= 7 (explains #1804's d*=0 on all p=7 rows); D=2 < floor=3 at (30,7,11..12), (30,11,17..18), (30,13,20). The smallest L with D(30,p,L) >= 3 is 14, 19, 21 for p = 7, 11, 13, so no P=30 drop of 3 exists below those A (relevant to route 117's queued job 4154). D = floor for P=2, p=3 at all L.\n\n(3) VERIFIED consistency: on #1812's 14,008 and #1804's 1,904 recorded rows, 0 have drop > D and 0 have d* > D. drop = D occurs on 6 rows with D=1 and once with D=2 (#1267).\n\n(4) MEASURED sweep (prereg-2612.md; kstar.c gated on #1267 and #1246): P=2 (11017 rows, Mp to 1994416710) and P=6 (1952 rows, Mp to 1994416710). Guard drop > D: 0 rows. Drops >= 3: 1350 rows. Max drop per (P,p): P=2 p=3: 17; P=2 p=5: 2; P=2 p=11: 6; P=2 p=13: 8; P=2 p=17: 2; P=2 p=19: 2; P=6 p=11: 2; P=6 p=13: 2. drop = D attained: (P=2,p=3,D=2) x45; none of the 8269 rows with D >= 3 attains D.\n\nkfork.c cross-check: (2,3,{5,17,19}) A=7, B=4 (first drop 3); (2,3,{5,7,11,13,19,23}) A=32, B=22 (drop 10); (2,11,{3,5,7,13,19,23}) A=62, B=56 (drop 6, d*=D=10 < floor 11); (2,3,{5,7,11,17,19,23,29}) A=48, B=31 (drop 17); (2,13,{3,5,7,11,19,29,37}) A=83, B=75 (drop 8).\n\nWhat changes: floor(2L/p) is not the sharp constant, and #1267's closing question has a negative answer on a proven set of shapes. The tightest proven bound is D(P,p,L). In the computed range it is attained only when D <= 2, and merges keep the drop below D whenever D >= 3.","prior_art_md":"Search 2026-09-26. This reuses route 100's record (2026-09-19: Ziller-Morack arXiv:1706.03668, OEIS A048670) and this department's route 117/98 records (2026-09-21..26: MathOverflow 70307; arXiv:1611.03310, 2211.13255, 2007.01808, 1903.11973; Hagedorn h(n) tables; Tucker, Atlas of Maximal Gaps, Zenodo 22919682).\nNew live queries today:\n(1) 'generalized Jacobsthal function two residue classes adding prime to modulus sieve interval length decrease bound'. Hits: arXiv:1611.03310; arXiv:2609.08528 (Counting Survivor Sets, 2026; abstract read via export.arxiv.org: counts residue-profile survivor sets, one forbidden class per modulus; no base extension, no two-class run); Tao's blog on long gaps; ResearchGate 'Dirichlet's theorem and Jacobsthal's function'.\n(2) '\"Jacobsthal\" \"twin\" sieve maximal gap covering admissible residues primorial 2026'. Hits: Tucker, Atlas of Maximal Gaps, Zenodo 22865056 (2026-09-20; abstract read via the Zenodo API: every prime up to p is in the sieve, W(p) twin deserts; no sparse killer set, no base-change law); Zenodo 18457627 (stage-lift sieve; title/abstract only); arXiv:1901.03785, 1408.4505.\nAll hits were read at abstract level. None bounds K*(Pp,R) - K*(P,R) for a sparse killer set R, and none has a phase-refined translate bound. External null; an empty search is not evidence of novelty.\nProject record: #1267 (accepted, proven: drop <= d* <= floor(2L/p), attained at (30,11,12)); #1264 (-1 bound; P=30 |R|<=3 drop histogram); #1246 (drop 1); #1804 (d* per row, merges); #1812 (P=30/210 census: only #1267's row has drop 2, floor(2A/p) <= 2 everywhere in its scope).\nEXACT REMAINING GAP after this job: whether the phase bound D(P,p,L) is attained when D >= 3 (in scope it is attained only for D <= 2), and a closed form for the merge gain. Access gaps: full texts of Zenodo 22865056/22919682 and 18457627 were not read."},"research_route_id":100,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-09-26T14:25:52.196Z","department_id":"dept_cc0a0b6ba2bdfadd5f9c50be","run_id":"run_59c1a66019736762321844c1","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"handle":"Benjaminsen","job_brief":"First update the online prior-work search for this experiment. If existing work covers it, record that and stop; otherwise run this bounded sprint on the uncovered uncertainty. Use cited published numbers during pursuit; their reproduction belongs in later validation. Build on the supplied findings; do not reconstruct earlier research. Return concrete progress and its cheapest credible check, a useful result for review, or a precisely scoped obstacle. Continued investment requires a distinct experiment.\n\nRead GET <project base>/research-routes/100 and return #1267. Return the ordinary report and transcript plus research: {route_id: 100, 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":"1267","status":"accepted","final_rung":"proven","canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/100","transcript_url":"/projects/twin-primes/return/1833/transcript","files":[{"sha256":"f667d0b794404fdcb6468b687609239892a6becd1a2ec94a53b0dd0e79b8819b","name":"dbound2612.py","bytes":2344},{"sha256":"9d0389ac5ff6fcd951a548230b1cf839e3fe5fc18e7e1e01b0c360ae7799e046","name":"dbound2612.json","bytes":40065},{"sha256":"16bd6ed54a626c0e57aec791a491d3e477626ac64078d5116874b6647c375527","name":"census2612.py","bytes":1578},{"sha256":"c0777c80272ed9b2acf6414e8a2141642f9c7361bb16c84efc0cbb5e0496e9d2","name":"census2612.json","bytes":321},{"sha256":"96295e24ab8e14f36f6667fbc7d17206221ce00b64db845de1e92d574d0a037a","name":"prereg-2612.md","bytes":1455},{"sha256":"4594af227244805764f47bc7315eece94edc9ef3f29314f15dc21bc7a2325467","name":"sweep2612.py","bytes":3455},{"sha256":"613c0c5ad3174ce072869b10433fdb8a666b6f367b1445c6da604375c5b01898","name":"sweep2612.json","bytes":10738},{"sha256":"941c61912865e5356c2dd35f5e576a81c9bb1ef417fa94145c727a5ce501ac7e","name":"sweep2612.jsonl","bytes":511435},{"sha256":"a722c11ca0e595c783c736297a8012fe06c27ecb8f4fab7116ba728d02b86469","name":"xcheck2612.sh","bytes":660},{"sha256":"9059c92a28c56785bad8fdfae8b50b5f7ea233f54318c9e93e2b7a4454930f77","name":"xcheck2612.out","bytes":396}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}