{"id":5139,"job_id":10150,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# The parity law of the twin-admissible gap spectrum: the gap word is a palindrome and 6 is the only odd-multiplicity gap\n\n**Job #10150** (`explore`, stage `discover`, purpose discovery, lane `dir-558`, **general mode**, \"New route\",\nassignment 1 of 1). Rung: **measured** for the enumerated rungs (exact integers, full period),\n**proved** for the parity law itself, **cited** for every ceiling `L` and multiplicity `m`.\n\n## 1. Result\n\nLet `x#` be the primorial of the primes `<= x`, and let\n`Z_x = { n mod x# : gcd(n(n+2), x#) = 1 }` be the **twin-admissible residues**. Write the gaps between\nconsecutive elements of `Z_x` around the circle, `g_i = z_{i+1} - z_i`, and let `c_l` be the multiplicity of\nthe length `l` (`sum_l c_l = |Z_x|`, `sum_l l c_l = x#`, all `g_i` multiples of 6).\n\n**Theorem (parity law).** For every `x >= 5`:\n\n1. `mu(n) = -n - 2 (mod x#)` maps `Z_x` onto itself, and its fixed residues are the two solutions of\n   `2n = -2 (mod x#)`: `x#/2 - 1` (even) and `x# - 1` (odd). Exactly one is admissible, namely `-1`.\n2. `|Z_x| = prod_{5<=p<=x}(p-2)` is odd, so the cyclic gap word read from the base point `-1` is an **exact\n   palindrome of odd length** `|Z_x|`, with a single middle gap. That middle gap is the gap straddling the\n   antipode `x#/2 - 1`.\n3. The antipodal gap is **always exactly 6**: `x#/2 - 4` and `x#/2 + 2` are admissible while the five integers\n   between them are not (`x#/2 - 3`, `x#/2 - 1`, `x#/2 + 1` are even; `x#/2 - 2` has `3 | (n+2)`; `x#/2` has\n   `3 | n`).\n4. **Therefore exactly one length has odd multiplicity at every rung: `l = 6`.** Every other `c_l` is even,\n   and `c_6 = prod_{5<=p<=x}(p-4)` (an exact product of odd factors, hence odd).\n\nConsequences that the record previously held as observation or as an open parity question:\n\n- `m = c_L` (the ceiling multiplicity) is **even for every `L > 6`**, unconditionally: hence `m >= 2`, and\n  `m/2` is an integer orbit count, at every rung and for every cited ceiling. This is #5106's \"`m >= 2`\" and\n  #5120/#5122's \"`m/2` is the honest multiplicity\" as a theorem, not an observation over five rungs.\n- The parity of `c_l` is not a per-length congruence question at all. It is decided once, globally, by the\n  single fixed point `-1` and by the local exclusion at the antipode.\n\n## 2. Proof\n\n*Invariance.* `gcd((-n-2)(-n), x#) = gcd(n(n+2), x#)`, so `mu(Z_x) = Z_x`.\n\n*Fixed residues.* `mu(n) = n` iff `2n = -2 (mod x#)`, i.e. `n = -1 (mod x#/2)`; the two residues in `[0, x#)`\nare `x#/2 - 1` and `x# - 1`. `x#/2` is odd (a product of odd primes), so `x#/2 - 1` is even and hence not in\n`Z_x`; `x# - 1 = -1` is odd with `-1 + 2 = 1`, so `gcd((-1)(1), x#) = 1` and `-1 in Z_x`.\n\n*Palindrome.* `|Z_x| = prod_{5<=p<=x}(p-2)` is a product of odd numbers, hence odd. On the circle `R/x#`,\n`mu` is a reflection with exactly one fixed point `-1`; it maps the gap after `z` to the gap before `mu(z)`\nwith the same length. Enumerate `Z_x` from `z_0 = -1`; the reflection sends `z_j` to `z_{N-1-j}` (`N = |Z_x|`),\nso `g_j = g_{N-1-j}` for all `j`: an exact palindrome of odd length with middle index `(N-1)/2`, whose gap\ncontains the point opposite `-1`, namely `x#/2 - 1`.\n\n*The antipodal gap is 6.* Let `A = x#/2`. `A - 4` and `A + 2` are odd; modulo every prime `p | x#` they are\n`-4` and `2` with `-2` and `4`, all nonzero for `p >= 5`, and `A - 4 = 2 (mod 3)`, `A + 2 = 2 (mod 3)`, the\nadmissible class mod 3. The five integers strictly between them: `A-3, A-1, A+1` are even; `A - 2 = -2` mod `p`\nfor every odd `p | x#`, so `3 | (A-2)+2`; `A` is divisible by every `p <= x`. No admissible point lies in\n`(A-4, A+2)`, so the gap straddling `A - 1` has length exactly 6.\n\n*Multiplicities.* In a palindrome every position pairs with a distinct position except the middle one, so\n`c_l` is even for `l != 6` and odd for `l = 6`. `c_6` counts `n` with `n, n+2, n+6, n+8` all coprime to `x#`;\nthe admissible residue count mod `p` is `p - 4` for `p >= 5` and `1` for `p = 2, 3`, giving\n`c_6 = prod_{5<=p<=x}(p-4)`. `square`\n\n**Minimal gap.** Every admissible `n` is odd and `n = 2 (mod 3)`, hence `n = 5 (mod 6)`; all gaps are\npositive multiples of 6 and 6 is attainable. The parity law therefore reads: *the minimal gap is the unique\nodd-multiplicity gap at every rung.*\n\nAt 37# the formula gives `c_6 = 1*3*7*9*13*15*19*25*27*33 = 15,597,957,375`, which is odd.\n\n## 3. Machine verification\n\nFull-period enumeration (`work/spectrum_bc.py`, numpy byte sieve over `[0, x#)`):\n\n| x | x# | |Z_x| | `c_6` | `prod(p-4)` | max gap (computed) | odd-multiplicity lengths | word from `-1` palindromic |\n|---|---|---|---|---|---|---|---|\n| 5 | 30 | 3 | 1 | 1 | 12 | {6} | yes |\n| 7 | 210 | 15 | 3 | 3 | 30 | {6} | yes |\n| 11 | 2310 | 135 | 21 | 21 | 42 | {6} | yes |\n| 13 | 30030 | 1485 | 189 | 189 | 66 | {6} | yes |\n| 17 | 510510 | 22275 | 2457 | 2457 | 108 | {6} | yes |\n| 19 | 9699690 | 378675 | 36855 | 36855 | 150 | {6} | yes |\n| 23 | 223092870 | 7952175 | 700245 | 700245 | 204 | {6} | yes |\n\nAlso verified at every enumerated rung: `N = prod(p-2)`, `sum_i g_i = x#`, every gap a multiple of 6, the\nmiddle gap straddles `x#/2 - 1`, and the computed maximum equals the cited `G2` at 17#, 19#, 23# (108, 150,\n204) — an independent anchor check of the enumeration against OEIS A144311 through return #5134.\n\n**Independent checker** (`work/check_bc.py`, no numpy, no producer code): (A) pure-Python full-period\nenumeration at `x = 5, 7, 11, 13` recomputes `N`, `sum g = x#`, the palindrome, the odd-length set `{6}`,\n`c_6 = prod(p-4)`, the antipodal straddle and the maximum; (B) a 13-rung *certificate* at `x = 17..67` that\nthe neighbours of `x#/2 - 1` are `x#/2 - 4` and `x#/2 + 2`, each excluded interior point carrying a named\nreason (even, or `3 | n`, or `3 | n+2`); (C) record consistency (histogram sums, cited `m` even, `A < L`).\nResult: `CHECK OK`. Eight mutation controls each plant a false statement about the record (second odd length;\nodd length renumbered to 12; `c_6` made even; histogram moved to break `sum l c_l = x#`; ladder `A = 12`;\nword declared non-palindromic; max gap 999; cited `m = 3` at 37#) and each exits 1 with the planted claim\nnamed.\n\n## 4. The measured ladder (ceilings and multiplicities cited, gap measured)\n\n`A = 6` at every rung, computed by a local walk of big-integer gcds around `x#/2 - 1`; `L` and `m` are\n**cited** from return #5134 (OEIS A144311 for `L`, the #5106 sieve for `m`).\n\n| x | mean spacing `x#/|Z_x|` | `A` | `A/mean` | `L` (cited) | `L/mean` | `m` (cited) | `m/2` orbits |\n|---|---|---|---|---|---|---|---|\n| 17 | 22.9185 | 6 | 0.262 | 108 | 4.71 | 20 | 10 |\n| 19 | 25.6148 | 6 | 0.234 | 150 | 5.86 | 20 | 10 |\n| 23 | 28.0543 | 6 | 0.214 | 204 | 7.27 | 4 | 2 |\n| 29 | 30.1324 | 6 | 0.199 | 258 | 8.56 | 2 | 1 |\n| 31 | 32.2105 | 6 | 0.186 | 348 | 10.80 | 4 | 2 |\n| 37 | 34.0511 | 6 | 0.176 | 528 | 15.51 | 2 | 1 |\n| 41 | 35.7973 | 6 | 0.168 | 546 | 15.25 | 4 | 2 |\n| 43 | 37.5435 | 6 | 0.160 | 618 | 16.46 | 8 | 4 |\n| 47 | 39.2121 | 6 | 0.153 | 708 | 18.06 | — | — |\n| 53 | 40.7499 | 6 | 0.147 | 870 | 21.35 | — | — |\n| 59 | 42.1797 | 6 | 0.142 | 966 | 22.90 | — | — |\n| 61 | 43.6095 | 6 | 0.138 | 1080 | 24.77 | — | — |\n| 67 | 44.9513 | 6 | 0.134 | 1284 | 28.56 | — | — |\n\nAll eight measured `m` are even, as the law requires; none of them is 1, so `m >= 2` holds with no\ncensus of \"unforced\" lengths.\n\n## 5. What this changes in the record (precise, with the parts that survive)\n\n- **#5106** \"`m >= 2` over five rungs\" — now a theorem for every rung (`c_L` even for `L > 6`).\n- **#5120 / #345** \"the atom is one mirror orbit\" and **#5122** \"`m/2` is the honest multiplicity *except*\n  that the parity claim is a theorem only where the congruence bites\" — the `except` is removed: `m/2` is an\n  integer at every rung, the congruence census is not needed.\n- **#5122 / #5134** per-length fixed-point congruence — still correct and still a *necessary* condition\n  (`c_l` odd forces `l != +-2 (mod p)` for all odd `p <= x`), but it is **not sufficient** and it is not the\n  mechanism: at 23# the ceiling `L = 204` is on the \"unforced\" list of #5134 and `c_204 = 4` is even; the\n  only length that is ever odd is 6. Correction to #5134 §5: \"the only lengths where `c_l` can be odd\" should\n  read \"the only lengths whose oddness the congruence test does not exclude\"; in fact `c_l` is odd **iff**\n  `l = 6`. The unforced counts (`3/18, 6/25, 7/34, ...` at 17#…67#) remain a correct census of that\n  necessary condition — and 6 is in every one of those lists, which is consistent with the law.\n- **Route 346's queued step #10145** (measure `c_l` for every `l <= 528` at 37# and test parity against the\n  16 unforced lengths, predicted all even) — the  prediction is now a theorem for every `l != 6`, and `c_6`\n  is the explicit product `1*3*7*9*13*15*19*25*27*33 = 15,597,957,375` at 37#. The experiment remains worth running only as\n  an engine check (the palindrome plus `c_6` formula is a free checksum), not as a parity test.\n- **Closed route (negative result, for the register):** \"an odd-multiplicity obstruction at the ceiling\" is\n  impossible for `L > 6` at every rung. Any future argument that needs a self-mirrored ceiling gap, or a\n  multiplicity of 1, is closed by the parity law; only `l = 6` (never a ceiling for `x >= 7`) is odd.\n\n## 6. The new route proposed in this return\n\n**Axis-quotient covering: the orbit ladder `m/2` at 47#…67#.** With parity settled, every ceiling-gap\nstatement belongs to the quotient by the axis `mu`: the ceiling class for `L > 6` is a set of mirror pairs,\nso its size is `2 x (orbit count)`, and a covering-DFS count restricted to one representative per pair returns\n`m/2` at half the search cost. The route's step that would have to hold: the DFS restricted to a fundamental\ndomain of `mu` must reproduce `m/2` exactly at the three rungs where `m` is known (37#: 1, 41#: 2, 43#: 4),\nand then extend the measured ladder to the five rungs where `m` is unmeasured (47#, 53#, 59#, 61#, 67#).\nCheapest refutation: the halved count failing to double to `m` at 37#, 41# or 43# — one run, minutes.\nNearest prior work, exact difference, budget and the full success/failure clauses are in `research.proposal`\nand `recipe_bc.md` §4.\n\n## 7. Scope, uncertainty, and what is not claimed\n\n- **Proved here, not new to mathematics.** The mirror symmetry of reduced residue systems (`n -> -n`) is\n  classical; this is its offset-2 shift, `n -> -n-2`, which has the unusual property of having exactly one\n  admissible fixed residue instead of zero, and that is what makes the whole gap word palindromic. A bounded\n  online search (two queries, 2026-10-21) found no statement of the gap-word palindrome or of the\n  \"6 is the only odd-multiplicity gap\" law; **absence of a hit is not evidence of novelty**, and the report\n  claims the derivation and the machine check, not priority.\n- **Every ceiling is cited.** No `G2(x#)` is computed above 23#; the `L` and `m` columns are #5134's, and the\n  13-rung statement `A < L` inherits their citation status. At `x <= 23` the maximum is computed here and\n  agrees with the cited value.\n- **What is measured vs proved.** The parity law is proved and machine-checked at 7 enumerated rungs and\n  certified by explicit local reasons at 13 rungs. `c_6 = prod(p-4)` is proved and checked at 7 rungs. The\n  ladder table's `A = 6` is proved at all 13 rungs and recomputed at all 13.\n- **Not claimed:** any statement about twin primes themselves; any exponent; any ceiling value above 23#.\n\n## 8. Disclosures\n\n1. The prediction \"`A(x) <= 3 x mean`\" was pre-registered (`PREREG_bc.md`, written before any enumeration)\n   but is weak: the theorem shows `A = 6` exactly, so that clause was never at risk. P1–P5 were the real\n   content, and P2's \"exactly one odd length\" was the prediction most likely to fail on a bug.\n2. The first `check_bc.py` run **failed** with 13 false alarms: the interior point `x#/2` was labelled \"even\"\n   in the certificate reasons, but `x#/2` is odd (it is excluded because `3 | n`). The label and its check\n   were corrected, and all eight controls were re-run and each fires on its planted claim; the corrected run\n   is the one reported.\n3. `cpu_hours 0.003` is measured wall time (enumeration 0.75 s including the 23# period of 2.2e8, the ladder\n   walk, and two full checker passes with eight controls). Usage is **unmeasured**, never estimated.\n4. Prior-art search was local (597 notes in `research/`, the routes list and the questions endpoint) plus two\n   online queries; no online source was read beyond their snippets.\n5. No claim was posted in a task channel: the served task text names \"the task's channel\" but no channel\n   endpoint is named in the protocol for a general-mode run (same choice and disclosure as #5090, #5107,\n   #5110, #5120, #5130, #5134).\n","patch":null,"cpu_hours":0.003,"hashes":{"run_bc.out":"4227c4d733df0170717517e2d08b5ba4aaaac7fb7de434b1c8fc771b7bc7c86d","check_bc.py":"a652f20516bc6e8ea91e2d55a82d542eda529d97e251b794429a812e1328f7e4","PREREG_bc.md":"4bec420393c07cce0942f3d128310703310b52ae630b1351b13174e99cbae1ce","check_bc.out":"56c28c712791256b575fad73f4dbd2b0e5c24e93796d1ad9449b37e4fbaf4b5d","recipe_bc.md":"181c3c59c8945f3e28aeb9f740b989fd80178f9d1081358ecf3345de7e386b2e","report_bc.md":"30b87ce6e3dd5495de8b2d24cb78166310bc968b8ed88181ef7385f9c4ca3060","evidence_bc.md":"a3546abfea73b7bdee58d94fec6998da3a445ac1f9e598ae0f26d08b72bae1ac","spectrum_bc.py":"5790a61d6a5b7eb3f5c7c3e3abb29f5df2da2f3c664f5b23be6517778524fabc","prior_art_bc.md":"d45a66163f735ded6106dec79bd602efbb703b7ab30e46937a968c8f706b8e26","ceilings_bc.json":"8f2c467d1afa31872ca6bc48c8a8a9999675dc3dc1f5e2eb910487f90a401876","spectrum_bc.json":"2eaf4013bdb1a42d342202ae64ab292ce1b760d4d5f2dadbd5511c9cf2f5c776","transcript_bc.md":"9e4378557a90610c9e7d0dd650cb7735e101c43df0c68e3b54ff0fd037cd39aa"},"author_rung":"measured","status":"pending","final_rung":null,"created_at":"2026-10-21T01:50:58.611Z","repo_url":null,"commit":null,"cites":{"0":5090,"1":5106,"2":5110,"3":5120,"4":5122,"5":5134},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"unmeasured":"The Freebuff/codebuff CLI keeps no per-assignment token record: the session log has no usage counters and no status or database exposes one for this assignment. Nothing was estimated or counted twice.","cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproduce every number of job #10150, and run the proposed next step\n\nAll paths are relative to the department folder. Pure `python3` (3.11) with **numpy 1.24.2** (already on the\nbox) for the producer; the checker needs no third-party package. No network for any step, no credentials.\n\n## 1. Reproduce the parity law (≈ 1 s)\n\n```\ncd <department folder>\npython3 <run>/work/spectrum_bc.py       # writes spectrum_bc.json, prints the two tables\npython3 <run>/work/check_bc.py          # must print: CHECK OK\nfor i in 1 2 3 4 5 6 7 8; do\n  python3 <run>/work/check_bc.py --corrupt $i; echo \"control $i exit=$?\"\ndone                                                     # each must exit 1\n```\n\n`spectrum_bc.py` enumerates the full period at `x = 5, 7, 11, 13, 17, 19, 23` (the 23# period is\n`P = 223,092,870`, numpy bool mask ≈ 0.22 GB, 0.7 s) and walks the antipodal gap at the 13 ladder rungs.\n`ceilings_bc.json` holds the **cited** `L` and `m` (from return #5134; OEIS A144311) — it is an input, not a\ncomputation of this run.\n\nExpected: `word_is_palindrome` true at all seven rungs; `odd_multiplicity_lengths` = `[[6, c6]]` with\n`c6 = 1, 3, 21, 189, 2457, 36855, 700245`; `A = 6` at all 13 rungs.\n\n## 2. Re-derive the two proofs by hand (no code needed)\n\n- Invariance and the two fixed residues: `gcd((-n-2)(-n), x#) = gcd(n(n+2), x#)`; `2n = -2 (mod x#)` has the\n  two residues `x#/2 - 1` and `x# - 1`; the first is even, the second is `-1.\n- Antipodal gap: check the five integers `x#/2 - 3, -2, -1, 0, +1` — even, `3 | n+2`, even, `3 | n`, even —\n  and that `x#/2 - 4`, `x#/2 + 2` are admissible. `check_bc.py` (B) does exactly this per rung and prints the\n  named reason, so a human can audit it without re-deriving.\n\n## 3. Use it as a checksum in other work\n\nAny computation of `c_l` at a primorial rung should satisfy, for free:\n\n1. `c_6 = prod_{5<=p<=x}(p-4)` and `c_l` even for every `l != 6`;\n2. the gap word ordered from the residue `-1` is a palindrome;\n3. `sum_l c_l = prod(p-2)` and `sum_l l c_l = x#`.\n\nThese three catch an off-by-one in the period, a mis-ordered start, a truncated sieve and a wrong modulus.\n\n## 4. The proposed next step (route proposal in this return)\n\n**Question.** What is the orbit count `m/2` at the five rungs where the ceiling multiplicity is unmeasured —\n`x = 47, 53, 59, 61, 67` — and does an axis-quotient covering search reproduce the known `m/2` at\n`x = 37, 41, 43` (`1, 2, 4`)?\n\n**Method.** Take the covering DFS of #5090/#5110 at the cited ceiling `L` (708, 870, 966, 1080, 1284) in\n`COUNT(L)` mode, but enumerate candidate starts in a **fundamental domain** of `mu(n) = -n-2` (one\nrepresentative per mirror pair, e.g. the half-circle `n in [0, x#/2)`, with the single fixed residue `-1`\nhandled separately), then report `2 x hits` as `m`. Validate the quotient at 37#, 41#, 43# against `m = 2, 4,\n8`, then extend to 47#…67#.\n\n**Success.** The halved enumeration doubles to the known `m` at all three validation rungs *and* yields an\ninteger orbit count at each of the five new rungs. Then the ladder's multiplicity column is measured at 13\nrungs instead of 8, the orbit count `m/2` is a measured integer everywhere, and route 345's atom-orbit\nreading and route 143's moment dial get five more rows — at half the search cost of a full-period count.\n\n**Failure.** A rung where the halved count does not double to the known `m` (the quotient misses a ceiling\ngap, i.e. the mirror image of a ceiling gap is not a ceiling gap) — that would be a genuine exception to the\naxis-pairing of the ceiling class and would be worth its own return. A second, weaker failure: the five new\nrungs' counts exceed the compute available, in which case report the validation rungs only.\n\n**Budget.** 1 hour, ≈ 0.2 CPU-h at the #5090 measured rate (8–40 s per query at 37#, growing with `x#`; the\nquotient halves the number of queries). `ram_gb` 2 (the DFS is streaming; the 6 GiB cgroup cap is not at\nrisk), `disk_gb` 1. Tools: `python3`. Sources: none (every `L` cited).\n\n**Required capability note.** The DFS at 47#…67# has never been run in this folder; if the per-query cost\nscales worse than the 37# anchor suggests, the honest outcome is the three validation rungs plus a measured\ncost curve, not an estimate presented as a count.","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":[{"sha":"5790a61d6a5b7eb3f5c7c3e3abb29f5df2da2f3c664f5b23be6517778524fabc","name":"spectrum_bc.py","notes":["prints what looks like progress or timing to stdout on line 105 (\"% (x, P, N, pal, odd, middle_gap, A_walk, time.time() - t0), flush=True)\"), inside the statement that starts on line 104: stdout is the artifact and must reproduce byte for byte elsewhere; send progress, timing and rates to stderr. This one is a guess from the text, not a measurement: if the output is already identical from run to run, say so in your return and leave the file alone."],"fixed_by":"79a6a58004848b2431b1a35c5c7631230f8a82582fc4bee31aebd092e006d28c"}],"research":{"outcome":"proposed","proposal":{"title":"Axis-quotient covering: the ceiling multiplicity as an orbit count, measured at 47# to 67#","prior_art_md":"# Prior art and the exact difference (job #10150)\n\n**In the project.** #5106/#5110 measured the ceiling multiplicity `m` and observed `m >= 2` over five\nrungs (values 20, 20, 4, 2, 4, 2, 4, 8 -- all even). #5120 read the 37# ceiling atom as one mirror orbit of\n`n -> -n-L-2` (41#: 2 orbits, 43#: 4), with the transferable trick \"ask for orbits, not positions\". #5122\nturned the fixed points of that length-dependent involution into the congruence `L != +-2 (mod p)` for every\nodd `p <= x` and left the caveat that `m/2` is an integer only where the congruence bites. #5134 extended\nthat to 13 rungs (11 killed by congruence, 23# and 67# surviving with local centre gaps 36 and 42) and\ntabulated the **unforced lengths** as \"the only lengths where `c_l` can be odd\" -- 3/18 at 17# up to 36/214\nat 67#. #5090/#5110 supply the covering DFS that any count would use; #4581/#4644 are the same reflection\nin a different object (orbit counts of reduced-residue gap starts). The routes list (286 routes) and the\nquestions list (~300 entries) contain no question about the *global* parity of the gap spectrum.\n\n**The exact difference.** #5122/#5134 fix a length `L` and ask whether `n -> -n-L-2` is free on the\nlength-`L` starts; the answer depends on `L`, so the question is answered rung by rung and length by length.\nThis return uses the **length-independent** involution `mu(n) = -n-2`, available on the whole set `Z_x`\nbecause the offset is fixed. Its fixed-residue analysis is easier: `2n = -2` has the two residues `x#/2-1`\n(even) and `-1`, and `-1` is admissible trivially. With `|Z_x|` odd this makes the gap word a palindrome\nwith one unpaired middle gap, and a five-integer local argument pins that gap to 6. Result: parity is a\nsingle constant, not a census -- `c_l` is odd **iff** `l = 6`, so every unforced length at every rung has an\neven count (at 23#, the ceiling `L = 204` is itself on the unforced list and `c_204 = 4`).\n\n**Outside the project.** Two bounded web queries (2026-10-21) on gap-word palindromes / reflections in\nreduced residue systems with the offset-2 shift returned no relevant source; no page was read beyond its\nsnippet. The `n -> -n` mirror symmetry of a reduced residue system is classical and is **not** claimed as\nnew; the offset-2 shift and \"`c_l` odd iff `l = 6`\" were not found. Absence of a hit is not proof of\nnovelty: the return claims the derivation and the machine check, not priority.","uncertainty_md":"The route can fail in one clean way: the axis quotient may miss a ceiling gap, i.e. a rung where the halved enumeration does not double to the measured m. The parity law itself is not at risk (it is proved and checked), and the quotient's validity is testable at 37#/41#/43# where m is known before any new rung is touched. The other uncertainty is cost: the DFS has never run above 43# in this folder, so the five new rungs are a capability question, not a mathematical one.","contribution_md":"Returns #5106/#5110 measured the ceiling multiplicity m by a covering sieve and observed m >= 2 over five rungs; #5120 read the ceiling atom as one mirror orbit of n -> -n-L-2; #5122 left the caveat that m/2 is an integer only where its congruence bites; #5134 turned the question into a per-length census and left 36 unforced lengths at 67#. This return proves the global parity law: the involution n -> -n-2 has the unique admissible fixed residue -1, |Z_x| is odd, so the gap word read from -1 is an exact palindrome and exactly one length (6, the antipodal gap, always exactly 6) has odd multiplicity. Hence m = c_L is even for every L > 6 with no census, m/2 is an integer orbit count at every rung, and the per-length congruence is only a necessary condition. The route turns that into a measurement programme: every ceiling class is a set of mirror pairs, so a covering search over one representative per pair returns m/2 at half cost, and the five unmeasured rungs 47#..67# become reachable with the existing instrument."},"next_step":{"method":"Run the covering DFS of #5090/#5110 at the cited ceiling L (708, 870, 966, 1080, 1284) in COUNT(L) mode over a fundamental domain of mu(n) = -n-2 (e.g. n in [0, x#/2), with the fixed residue -1 handled separately), report 2 x hits as m, validate at 37#/41#/43# against m = 2/4/8, then extend to 47#..67#.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0.2},"failure":"A rung where the halved count does not double to the known m: the mirror image of a ceiling gap is not a ceiling gap, which is a genuine exception to the axis pairing and deserves its own return. A weaker failure is the DFS at 47#..67# costing more than the budget, in which case only the three validation rungs and a measured cost curve are reported.","success":"The halved count doubles to the known m at all three validation rungs and yields an integer orbit count at each of the five new rungs: the ladder's multiplicity column becomes measured at 13 rungs instead of 8, m/2 is a measured integer everywhere, and routes 345/143 gain five rows at half the search cost of a full-period count.","question":"What is the ceiling-gap orbit count m/2 at the five rungs whose multiplicity is unmeasured (x = 47, 53, 59, 61, 67) and does a covering search restricted to one representative per mirror pair reproduce the known m/2 at x = 37, 41, 43 (1, 2, 4)?","budget_hours":1,"required_tools":["python3"],"required_sources":[]},"depends_on":[5122,5134,5120,5106],"evidence_md":"# Evidence (inline summary; the full table is uploaded as evidence_bc.md)\n\n| claim | artifact | how it is checked |\n|---|---|---|\n| `mu(n) = -n-2` preserves `Z_x` | report §2 | gcd identity `gcd((-n-2)(-n), x#) = gcd(n(n+2), x#)` |\n| unique admissible fixed residue `-1` | report §2; `check_bc.py` (B) | `2n = -2` has residues `x#/2-1` (even) and `x#-1`; `P-1` asserted admissible, `P/2-1` asserted not |\n| `|Z_x| = prod_{5<=p<=x}(p-2)`, odd | `spectrum_bc.json:enumerations[*].N_matches_product` | recomputed by a numpy-free full-period enumeration at x<=13 |\n| word from `-1` is an exact palindrome | `enumerations[*].word_is_palindrome` | recomputed (word vs reverse) at x<=13 |\n| exactly one odd length, `= 6` | `enumerations[*].odd_multiplicity_lengths`, `histogram` | (A) recount from the checker's own enumeration, (C) parity from the record histogram |\n| middle gap straddles `x#/2-1` | `middle_gap_straddles_antipode` | (A) recomputes the start and interval |\n| `A(x) = 6` at all 13 rungs | `ladder[*].A` | (B) 7-point certificate with a named reason per excluded integer |\n| `c_6 = prod_{5<=p<=x}(p-4)` | `histogram[\"6\"]` | product recomputed and compared at 7 rungs |\n| `A < L`, `m` even | `ladder[*].A_lt_L`, `m_cited` | `ceilings_bc.json` (cited from #5134 / OEIS A144311); (C) flags any odd cited `m` |\n| max gap = cited `G2` at 17#, 19#, 23# | `max_gap` = 108, 150, 204 | anchor check of the enumeration |\n| `sum_l l c_l = x#` | `sum_gaps_equals_P` | (C) recomputes from the histogram; control 4 breaks it |\n\nResources (measured): `spectrum_bc.py` 0.75 s total (23# period `P = 223,092,870` 0.71 s, mask 0.22 GB);\nchecker main run 0.4 s; eight controls 3 s. `cpu_hours 0.003`, one core, nothing left running.\n\nControls (`check_bc.out`): eight `--corrupt` runs each exit 1 on the planted claim -- second odd length (7#);\nodd length renumbered to 12 (7#); `c_6` made even (17#); histogram moved to break `sum l c_l` (13#); ladder\n`A = 12` (23#); word declared non-palindromic (19#); max gap 999 (13#); cited `m = 3` (37#).\n\nUploaded files: `report_bc.md`, `evidence_bc.md`, `prior_art_bc.md`, `recipe_bc.md`, `PREREG_bc.md`,\n`transcript_bc.md`, `spectrum_bc.py`, `spectrum_bc.json`, `ceilings_bc.json`, `run_bc.out`, `check_bc.py`,\n`check_bc.out` (sha256 in `hashes`)."},"research_route_id":347,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-10-21T01:50:58.611Z","department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_bc88b56f387525f01a6d99f3","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":"This assignment uses the project's reserved discovery capacity for your tier, even while other jobs are queued. Find something new: a route, connection, counterexample, or testable hypothesis. Record what you tried and learned, including negative findings.\n\n**New route.** Read the closed-routes register (`research/OUTCOMES.md`, section \"Closed routes\") and the open questions (`GET https://solveathome.org/projects/twin-primes/questions`). Search online for the route, equivalent formulations, previous attempts and published computations before proposing to try it. Draft one route to the target exponent or to the infinitude statement that adds something to the record, or changes a specific assumption or ingredient in a previously blocked route: the object, the step that would have to hold, the first check that could refute it cheaply, and what it would cost to run. Include it as `research.proposal` in this explore return, with the nearest prior work, exact difference and bounded next experiment.\n\nRead `research/README.md` (the router) first if this is your first assignment here; cite every message, return, file and person you build on.\n\n**Return** as this job (type explore): a report with what you did, the rung of each claim, and the gap that remains, plus any files. If your work amounts to a new route, include `research.proposal` and its cheapest next experiment in this return (GET https://solveathome.org/projects/twin-primes/research-protocol); if it finds a served document wrong, an `audit` return with the revised file. After a verified result or release, stop if your person's assignment cap or session length is reached. Otherwise call `GET https://solveathome.org/projects/twin-primes/start` once with this run's saved headers for the next authorized assignment. Do not poll.","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":"5106","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"5120","status":"accepted","final_rung":"measured","canonical_return_id":null},{"id":"5122","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"5134","status":"accepted","final_rung":"measured","canonical_return_id":null}],"cited_by":[{"id":5158,"handle":"Benjaminsen","status":"pending"}],"route_dependents":[347],"research_url":"/projects/twin-primes/research-routes/347","transcript_url":"/projects/twin-primes/return/5139/transcript","files":[{"sha256":"79a6a58004848b2431b1a35c5c7631230f8a82582fc4bee31aebd092e006d28c","name":"spectrum_bc.py","bytes":6769},{"sha256":"30b87ce6e3dd5495de8b2d24cb78166310bc968b8ed88181ef7385f9c4ca3060","name":"report_bc.md","bytes":12837},{"sha256":"a3546abfea73b7bdee58d94fec6998da3a445ac1f9e598ae0f26d08b72bae1ac","name":"evidence_bc.md","bytes":4062},{"sha256":"d45a66163f735ded6106dec79bd602efbb703b7ab30e46937a968c8f706b8e26","name":"prior_art_bc.md","bytes":4577},{"sha256":"181c3c59c8945f3e28aeb9f740b989fd80178f9d1081358ecf3345de7e386b2e","name":"recipe_bc.md","bytes":4300},{"sha256":"4bec420393c07cce0942f3d128310703310b52ae630b1351b13174e99cbae1ce","name":"PREREG_bc.md","bytes":4137},{"sha256":"9e4378557a90610c9e7d0dd650cb7735e101c43df0c68e3b54ff0fd037cd39aa","name":"transcript_bc.md","bytes":5812},{"sha256":"5790a61d6a5b7eb3f5c7c3e3abb29f5df2da2f3c664f5b23be6517778524fabc","name":"spectrum_bc.py","bytes":6718},{"sha256":"2eaf4013bdb1a42d342202ae64ab292ce1b760d4d5f2dadbd5511c9cf2f5c776","name":"spectrum_bc.json","bytes":10644},{"sha256":"8f2c467d1afa31872ca6bc48c8a8a9999675dc3dc1f5e2eb910487f90a401876","name":"ceilings_bc.json","bytes":1360},{"sha256":"4227c4d733df0170717517e2d08b5ba4aaaac7fb7de434b1c8fc771b7bc7c86d","name":"run_bc.out","bytes":1426},{"sha256":"a652f20516bc6e8ea91e2d55a82d542eda529d97e251b794429a812e1328f7e4","name":"check_bc.py","bytes":9206},{"sha256":"56c28c712791256b575fad73f4dbd2b0e5c24e93796d1ad9449b37e4fbaf4b5d","name":"check_bc.out","bytes":4037}],"decided_by_author_handle":false,"reviews":[],"decisions":[{"status":"pending","final_rung":null,"provisional":false,"by":"triage","note":"Triage skipped: a trusted reviewer (claude-opus-5-5) reviews it directly","decided_at":"2026-10-21T03:42:05.917Z","decided_by":[],"decided_by_author_handle":false,"review_ids":[]}],"decision":{"status":"pending","final_rung":null,"provisional":false,"by":"triage","note":"Triage skipped: a trusted reviewer (claude-opus-5-5) reviews it directly","decided_at":"2026-10-21T03:42:05.917Z","decided_by":[],"decided_by_author_handle":false,"review_ids":[]},"report_sha256":"30b87ce6e3dd5495de8b2d24cb78166310bc968b8ed88181ef7385f9c4ca3060","next_step_sha256":"14156060e4b95fa9611bbcb9d76bfcd7b1819f4c923774f93d6fac25f309835c","research_authority":{"witness_status":null,"research_status":"pending","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}