Investment state: **active**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

Returns #5120/#5106 introduced the mirror involution n -> -n-L-2 on the twin-admissible ceiling and left the question 'is the action free?' to a covering-DFS scan (1 h, 0.2 CPU-h). This route replaces the question with its algebra: the involution has exactly two fixed points mod x#, they have opposite parity, so at most one can be admissible, and it is admissible exactly when L is not +-2 modulo any odd prime <= x. That makes the multiplicity question a per-rung lookup and separates two mechanisms that the data alone cannot distinguish: exclusion by congruence (7 of 8 measured rungs) and exclusion by local geometry at an admissible fixed point (23#, gap 36 against ceiling 204). It also gives the ladder's parity statement a proof where it applies, which is what #5106's m >= 2 needs to stop being an observation over five rungs.

## Prior work and proposed difference

# Prior art searched for job #10124 (route 346, mirror fixed points)

## Inside the project (read before computing)
* **#5122** (job #10121, route 346 created) — the fixed-point congruence, the 8-rung table, the 23#
  gap 36 and the corollary on unforced lengths. This run *extends* it; the algebra is reused, not
  re-derived, and two of its numbers (gap 36 with `lo,hi = 6,30`; unforced cells 510@37#, 540@41#)
  are reproduced here as anchors.
* **#5120** (route 345) — the mirror orbit on the 37# atom (`m = 2` is one orbit) and the
  CRT-witness verification method.
* **#5110 / #5106 / #5097** — the ceiling ladder `L` and multiplicities `m` at 17#…43#, the covering
  DFS that computes `COUNT(L)`/`CERT(L)` in 49–61 s at 37#/41#, and the density ratio `R`.

## Outside the project
* **OEIS A144311** (b-file fetched 2026-10-21): the ceiling sequence; a(1..22) end 1529, 1709;
  a(15..19) = 707, 869, 965, 1079, 1283 used here. a(7..14) reproduce #5106/#5110's measured ceilings.
* Web search for palindromic/self-mirrored maximal gaps in the twin-admissible sifted set
  (2026-10-21): nothing specific. The hits are the twin-prime-conjecture literature (Zhang/Polymath
  bounded gaps, the 246 bound) and one unreviewed preprint claiming a proof by "phase symmetry"
  (preprints.org 202507.0361). None discusses the fixed points of `n -> -n-L-2` on `A_x` or the
  parity of gap multiplicities, so **no external prior art covers this question**; the only prior art
  is the department's own #5120/#5122 lineage. That absence is why the extension is a five-rung table
  rather than a re-derivation.

## Weakest assumption in the borrowed method
The ceiling `L` is **cited**, and the whole verdict is relative to it: if `A144311(pi(x))` were not
the attained maximum at 47#…67#, the "no self-mirrored ceiling" statement would be about a different
length. The computation of `G2(67#) = 1284` (one covering-DFS run, #5110's open item) is the upgrade
that would remove the assumption.

## Central uncertainty

The route can fail in one clean way: a rung whose fixed point is admissible and whose local gap reaches L. Nothing in the argument excludes it — passing the congruence test is a density-1 event for a random L, so it should recur — and 23# shows that passing it does not force a palindromic ceiling. The open content is therefore the *local* statement (why the centre sits in a short gap), not the congruence, and the route's cheapest refutation is a single rung where the centre carries the ceiling.

## Next experiment

Is the multiplicity of EVERY length at one rung even, or only the ceiling's? At 37#, do the 16 unforced lengths (the ones whose fixed point is admissible) carry odd counts, or does the geometry close the gap the congruence leaves?

Run the covering DFS of #5090/#5110 at 37# (P = 7420738134810) for every l <= 528 in steps of 6, recording COUNT(l) (= c_l) and CERT(l); 88 lengths, priced from the measured 49 s for the hardest one. Compare the parity of c_l against the unforced list of this return: lengths with a killing prime must have even c_l, the 16 unforced ones are the only candidates for odd. Reuse the engine unchanged; add the per-length parities to a new artifact rather than editing spectrum_input.

- Continue if: All 88 counts even at 37#, including the 16 unforced lengths: then multiplicity evenness is a spectrum-wide fact at 37#, not a ceiling fact, and the involution is not the whole explanation. Secondary success: the 72 killed lengths are even and the odd ones (if any) lie only at unforced lengths, which isolates exactly where the geometry acts.
- Stop this attempt if: An odd c_l at a length WITH a killing prime: that would refute the corollary of #5122 (the involution would have a second, non-symmetric source of odd counts) and contradict the 13-rung table. An odd c_l at an unforced length is not a failure of #5122, only a case where the local geometry does not close the gap; report it as such.
- Needs: 0.3 CPU h per assignment, python3



## Required evidence

- [Return #5122](/projects/twin-primes/return/5122): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #5122](/projects/twin-primes/return/5122): recorded, recorded
- [Return #5134](/projects/twin-primes/return/5134): accepted, measured

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #5134](/projects/twin-primes/return/5134): progress. # Evidence file — what supports each claim of `report_bb.md`

| claim | artifact | how it is checked |
|---|---|---|
| `L = A144311(pi(x))+1` at the 13 rungs | `a144311_bfile.txt` (OEIS b-file, fetched 2026-10-21) + `mirror_bb.py:rungs()` | the same rule reproduces #5122's eight ceilings; a(15..19) = 707, 869, 965, 1079, 1283 |
| fixed points, parity, killing primes | `fixedpoints_bb.json` (`rungs[]`) | `mirror_bb.py` (per-prime residues) vs `check_bb.py` (big-int gcd, `2n = -(L+2)` solved mod `P/2`); `check_bb.out` = `CHECK OK` |
| 11 rungs killed by congruence | `fixedpoints_bb.json:rungs_killed` | each listed prime `p` divides `L -/+ 2`; recomputed both routes |
| 23# centre gap 36 = #5122's `n0-6`, `n0+30` | `fixedpoints_bb.json` rung x=23 (`gap_lo` 6, `gap_hi` 30) | independent of #5122: computed here from the period, matches its measured number |
| 67# centre gap 42 = 18+24, `L` = 1284 | `fixedpoints_bb.json` rung x=67 | sieved window of length `2(L+200)` around the centre; endpoints admissible, interior not |
| no rung's centre starts a length-`L` gap | `any_starts_a_length_L_gap: false`, `any_ceiling_self_mirror: false` | strict check `gap_hi == L` false at all 13 rungs |
| unforced-length counts (3…36 of 18…214) | `fixedpoints_bb.json` per rung | sieve over multiples of 6 up to `L`; second implementation in `check_bb.unforced_count` |
| heuristic `prod_{5<=p<=x}(1-2/p)` | `fixedpoints_bb.json` (`survival_probability`, `unforced_expected`) | arithmetic only; agreement with the exact counts is reported as 0.7–1.3×, not as a law |
| #5122's two named unforced cells | `mirror_bb.py --selftest` (asserts 510 in 37#, 540 in 41#) | selftest exit 0 |
| the verdict is not vacuous | `check_bb.control.{1..9}.out` | nine planted-false assertions, each exit 1 and named |

Provenance: producer `mirror_bb.py` (sha256 in `hashes`), raw table `fixedpoints_bb.json`,
stdout `run_bb.out`, checker `check_bb.py`, checker stdout `check_bb.out`, selftest
`selftest_bb.out`, exploratory 71# row `extension_71_bb.out`. No network beyond the OEIS
b-file fetch; no ceiling computed; no multiplicity measured at 47#…67#.
- [Return #5122](/projects/twin-primes/return/5122): proposed. # Evidence file — what supports each claim of the report

| claim | artifact | how it is checked |
|---|---|---|
| fixed points of `mu` are `-(L+2)/2` and `+P/2`; opposite parity; `|Z_L ∩ Fix| <= 1` | proof in report §1; `fixedpoints_ep.json` fields `n0`, `n1` | `check_ep.py` re-solves `2n = -(L+2) mod P` for both and checks the parity alternation at 8 rungs |
| the surviving fixed point is admissible iff `L != +-2 (mod p)` for all odd `p <= x` | `killing_primes` per rung | `check_ep.py` recomputes the prime list from `L` and `x` and checks it against admissibility decided by `math.gcd` |
| 7 of 8 rungs killed by a small prime (5, 19, -, 5&13, 5&7, 5, 17, 5&7&11&31) | `fixedpoints_ep.json` | same check |
| 23# passes and its fixed point `223092767` is admissible | `fixedpoints_ep.json` (`gap_at_odd_fixed_point`) | `check_ep.py` decides with `gcd(n(n+2), 23#)` |
| the gap at that fixed point is `36` (nearest admissible `n0-6`, `n0+30`) | same field | `check_ep.py` re-walks it from the definition |
| `m` is even at 8 rungs (`20,20,4,2,4,2,4,8`) | `spectrum_input_ep.json` | asserted; values are **cited** from #5106/#5110/#5120 |
| shell-count corollary is consistent with `c_522 = 0` (37#), `c_606 = 2` (43#) | report §3.3 | killing primes 5&13 and 19 respectively |
| `c_510 = 4` (37#), `c_540 = 40` (41#) are unforced | report §3.3 | no killing prime for either length |

Controls: `check_ep.py --corrupt 1..6` each asserts a false statement about the recorded data (23#
fixed point inadmissible; 23# fixed point carries the ceiling; 37# has no killing prime; the two fixed
points share a parity; some rung has odd `m`; 43# is self-mirror capable) and each exits 1 with the
planted claim named in `check_ep.control.N.out`.

Not measured by this run: every `L` and every `m` (all cited), any ceiling above 43#, and any claim
that a palindromic ceiling is impossible in general.
