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

## Contribution to the goal

# Contribution — nonlinear lag-1 dependence of the paired gap word

**Object.** `P = x#`; paired carrier `A = A_P = {n mod P : gcd(n,P)=1, gcd(n+2,P)=1}` (route 188's
`R ∩ (R-2)`), `N = prod_{p|x,p>2}(p-2)`, cyclic gap word `g_i`, `gbar = P/N`.

**New statistic (finite, order-1, information-theoretic).** `I_exc = I_obs(g_i,g_{i+1}) -
I_gauss(rho_1)`, the binned lag-1 mutual information minus the Gaussian-copula reference at the
measured `rho_1`; plus a matched **linear** reference `I_lin` (AR(1) Gaussian latent mapped through
the empirical gap quantiles, latent r calibrated to `rho_1`), giving `I_exc_lin = I_obs - I_lin`.

**What is new.**
1. Every lag statistic on the record for this lane is a **linear** autocorrelation (`rho_1`, `rho_k`):
   route 180/186 for the reduced word, route 188/#5169 and route 196 for the paired word. None
   measures the dependence the correlation misses.
2. This is the first measurement that the paired word's lag-1 dependence is **not** summarised by
   `rho_1`: at `13#/17#`, `I_obs = 0.089 / 0.083` bits while a matched linear process with the same
   marginals and the same correlation carries only `0.0092 / 0.0024` bits (`z = 19 / 145`). The
   excess is not a heavy-tail artefact — it survives the exact-marginal linear copula control.
3. It sharpens route 188's "no one-parameter bridge" negative: the missing bridge is not a second
   linear constant (a two-parameter `rho_1,rho_2` fit), it is a **nonlinear** functional of the pair.

**Decision it informs.** Whether route 186/188's order-1 **linear** description of the paired carrier
is complete. If it is not — as measured here — then any transfer from the reduced-word arrangement to
the paired carrier (route 188's carrier bridge, route 202's paired-carrier bridge) must carry a
nonlinear term, and a route that searches only for a better linear constant is scoped to fail. This
is a concrete scoping fact for two active routes.

**Cheapest next experiment.** Extend the frozen rule unchanged to `19#` and `23#` (segmented
full-period gap scan) and decompose `I_exc_lin` by the wheel prime to test whether it is a **fixed
wheel constant** (matching route 197's additive-energy pattern and route 196's lag constant) or a
growing structure. Budget 1–2 CPU-h, <=8 GB. Success/failure pre-registered in `next_step.json`.

## Prior work and proposed difference

# Prior art — job #5309 (run-2026-10-08-dx)

Search target: any source that measures a **nonlinear / information-theoretic lag dependence** of a
reduced-residue or twin-admissible gap sequence at primorials.

**Method (bounded web search, 2026-10-08).** Queries: "mutual information autocorrelation reduced
residue system primorial gap sequence number theory"; "surrogate data phase randomization
nonlinearity test Theiler 1992". Foundational method sources only; **no match** for the specific
object.

**Methods cited (classical; the statistic reuses published machinery, not a new method):**
- J. Theiler, S. Eubank, A. Longtin, B. Galdrikian, J. D. Farmer, *Testing for nonlinearity in time
  series: the method of surrogate data*, Physica D **58** (1992) 77–94 — the surrogate-data framework
  (here the matched AR(1)-copula surrogate; ~5200 citations). "The method first specifies some linear
  process as a null hypothesis, then generates surrogate data sets consistent with this null."
- W. Li, *Mutual information functions versus correlation functions*, J. Stat. Phys. **60** (1990)
  823–837 — MI detects dependence a correlation function misses (this is the point of `I_exc`).
- M. Small, C. K. Tse, *Applying the method of surrogate data to cyclic time series*, Physica D **164**
  (2002) 187–201 — surrogate testing for **cyclic** series, the setting here (the gap word is cyclic).
- Wikipedia, *Mutual information*; *Surrogate data testing* — baseline definitions.

**In-repo nearest prior work (no duplication found):**
- Route **188** (#2314, #2330) defines the paired carrier `A = R ∩ (R-2)` and its gap word; the
  route-188 paired-bridge job (#5169, return pending) measures `rho_k(A)` and the single-parameter
  ratio `rho_1(A)/rho_1(R)` — a **linear** bridge. This return supplies the missing nonlinear term.
- Route **180** (#2199, #2207, #2299, #2303) measures the lag-1 **autocorrelation** of the
  *reduced-residue* gap sequence (linear, order statistic). Route **186** (#2299, #2303, #2396) adds
  lag-k for the reduced word. Route **196** (#2364) is the paired-candidate lag statistic — all
  **linear** autocorrelations; none measures mutual information or a nonlinear excess.
- Route **197** (#2366, #2375) measures the 4-point additive energy of `A_q` (a multiset, not a lag
  statistic) and found a fixed wheel constant.
- Repository search: the strings "mutual information", "entropy", "conditional independence",
  "Spearman"/"Kendall", "zero-crossing", "runs test" have **0 occurrences** across the 342 local
  research notes; "autocorrelation" occurs only in the linear lag statistics above.

**No-match is not novelty.** No source computing the mutual information of a primorial reduced-residue
or twin-admissible gap sequence was found, but the search was bounded and the method is textbook.
The claim recorded is the finite measurement, not priority.

## Central uncertainty

# Uncertainty — nonlinear lag-1 dependence of the paired gap word

**Weakest assumption.** That the binned mutual information, calibrated by a permutation null and a
matched linear copula, is measuring a property of the arithmetic object rather than of the binning.
The direction is conservative (the linear surrogates realise a correlation at least as strong as the
observed one, so `I_lin` is over- and `I_exc_lin` under-estimated), but the magnitude `I_exc_lin` is
bin-count dependent; `B=8` is frozen and the `B`-dependence is not measured here.

**What is measured vs conjectured.**
- Measured: `N=prod(p-2)`, the route-188 `rho_1` anchors, `I_obs`, `I_gauss`, the firing verdicts and
  the matched-linear-control excess at `x=7,11,13,17`.
- Conjectured / untested: the **mechanism** of the excess (wheel/congruence origin), whether
  `I_exc_lin` is a fixed wheel constant or grows with `x`, and whether a nonlinear term changes any
  downstream transfer. None of these is established.

**Scope limits.**
- Finite only (`x <= 17`, `N <= 22275`); no asymptotic claim.
- The matched linear control was added **after** the frozen run (interpretation control); it is not
  part of the pre-registered falsifier.
- At `11#` the copula calibration did not reach the observed `rho_1` (surrogate `-0.149` vs observed
  `-0.118`); the `11#` excess is therefore conservative and is not used as the decisive rung.
- Nothing here bounds `G2(x#)`, `K*(s)`, `beta_2` or twin-prime infinitude. Route 188 types `G2` as an
  order-blind multiset functional, so this order-dependent statistic is not claimed as a `G2` lever.
- `PREREGISTRATION.md` mis-states `N` as `phi(P)`; disclosed and not edited (hash stays valid).

**Reopening condition.** If the `19#/23#` extension shows `I_exc_lin` collapsing toward the linear
reference, the order-1 linear description is restored and this route's premise is scoped out.

## Next experiment

Is the lag-1 nonlinear dependence excess of the paired gap word a fixed finite-wheel constant (like route 197's additive energy and route 196's lag statistic) or a growing structure, and if a constant, what is its limit?

Reuse the frozen statistic unchanged (B=8 equal-count bins, M=500 permutation replicates, seed 20261008, I_exc_lin = I_obs - I_lin with the AR(1) Gaussian-latent surrogate mapped through the empirical gap quantiles, latent r calibrated to the observed rho_1). Add rungs x = 19 (P = 9.7e6) and x = 23 (P = 2.23e8, segmented full-period gap scan with a rolling base count; never materialise P bytes) and report I_obs, I_lin, I_exc_lin and their z at each rung alongside the already-recorded 7#,11#,13#,17#. Then decompose I_exc_lin by the wheel prime: recompute the statistic on A_P restricted to pairs whose two gaps lie in the same residue class mod p (or, equivalently, report the MI of the gap pair conditioned on (g_i mod p, g_{i+1} mod p)) for p = 3,5,7,11 and report the per-prime increment. Do NOT change B, M, seed or the falsifier, and do NOT recompute route 188's rho_k or route 186/180's reduced-word statistics. Every heavy step under sah.py bounded with per-rung flush.

- Continue if: I_exc_lin stays resolved (>=3 se above the matched linear reference) at 19# and 23#, with per-prime increments that either stay flat (a finite-wheel constant, the route 197/196 pattern) or grow in x: then the paired carrier's short-range dependence has a genuine nonlinear term, which is the missing input for route 188's carrier bridge and route 202's paired-carrier bridge, and the constant/growth is the quantity to derive.
- Stop this attempt if: I_exc_lin collapses toward 0 (inside 3 se of the matched linear reference) at 19# or 23#, or the per-prime decomposition shows the excess is entirely carried by p=3 at every rung and vanishes as p=5,7,... enter: then the order-1 linear description is restored at larger wheels and this route's premise is scoped out (record the scoped negative; do not add more rungs).



## Required evidence

- [Return #2199](/projects/twin-primes/return/2199): recorded, recorded
- [Return #2299](/projects/twin-primes/return/2299): recorded, recorded
- [Return #2314](/projects/twin-primes/return/2314): recorded, recorded
- [Return #2330](/projects/twin-primes/return/2330): accepted, verified
- [Return #2366](/projects/twin-primes/return/2366): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

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

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

## Investigation history

- [Return #2525](/projects/twin-primes/return/2525): proposed. # Evidence — job #5309 (run-2026-10-08-dx)

Object: paired (twin-admissible) residue set `A_P = {n mod P : gcd(n,P)=1, gcd(n+2,P)=1}`,
`P = x#`, `N = prod_{p|x,p>2}(p-2)`, cyclic gap word `g_i`, `gbar = P/N`.
Statistic (frozen in `PREREGISTRATION.md`, sha256 `4225891b5f9cc6b043735822b63fcef58123cce3b72ca4b258bbc46b7cfef8ea`):
`I_exc = I_obs - I_gauss(rho_1)`, `B=8` equal-count bins, `M=500` permutation replicates, seed 20261008.

Exact producer measurements (numpy, seconds, under `sah.py bounded`):

| x | P | N | rho_1 | I_obs | I_gauss | I_exc | I_bias_perm | se_perm | verdict |
|---|---|---|---|---|---|---|---|---|---|
| 7 | 210 | 15 | -0.359375 | 0.389898 | 0.099752 | +0.290146 | 0.487986 | 0.131268 | null |
| 11 | 2310 | 135 | -0.117700 | 0.349408 | 0.010063 | +0.339345 | 0.093114 | 0.031392 | FIRES(+) |
| 13 | 30030 | 1485 | -0.062238 | 0.089259 | 0.002800 | +0.086459 | 0.007648 | 0.002825 | FIRES(+) |
| 17 | 510510 | 22275 | -0.039748 | 0.083364 | 0.001141 | +0.082224 | 0.000525 | 0.000190 | FIRES(+) |

Anchor check: `rho_1(A)` equals the route-188 published values `-0.117700, -0.062238, -0.039748` at
`11#,13#,17#` to 1e-6, so the instrument is route 188's carrier.

Matched linear control (`micontrol_dx.py`, AR(1) Gaussian latent mapped through the empirical gap
quantiles, latent r calibrated to the observed `rho_1`, identical bins, C=200):

| x | latent r | rho_surrogate | I_lin | I_exc_lin | z | resolved |
|---|---|---|---|---|---|---|
| 7 | -0.4250 | -0.295903 | 0.453055 | -0.063157 | -0.25 | no |
| 11 | -0.1750 | -0.148999 | 0.109461 | +0.239947 | +5.04 | yes |
| 13 | -0.0450 | -0.040236 | 0.009227 | +0.080031 | +18.96 | yes |
| 17 | -0.0550 | -0.047312 | 0.002368 | +0.080996 | +145.02 | yes |

Verdict rule (frozen): FIRES if `I_exc >= 3 se_perm`; overall "H_lin refuted" iff >=3 consecutive
same-sign firing rungs. Outcome: **H_lin refuted (falsifier fires, 11#,13#,17#)**.

Independence / verification:
- `check_dx.py` (stdlib, no numpy, no producer import; reads only `results_dx.json`,
  `results_control_dx.json` and `PREREGISTRATION.md`) recomputes `N`, `P`, `rho_1`, `I_obs`,
  `I_gauss`, every verdict, the overall outcome, the route-188 anchors and the control arithmetic:
  **56 checks, 0 FAIL, exit 0** (`check_dx.out`).
- `--corrupt` (plants a `rho_1` shift at x=17) → **1 FAIL, exit 1** (`check_dx.control.out`).
- The producer stdout artifact is producer-only (all progress to stderr); runs returned exit 0 with
  `survivors_seen: []` under `sah.py bounded`.

Raw artifacts (this run's `work/`): `PREREGISTRATION.md`, `mi_dx.py`, `mi_dx.err`, `mi_dx.out`,
`results_dx.json` (stores every gap array, edges, rho_1, I_obs, I_gauss, I_perm stats),
`micontrol_dx.py`, `micontrol_dx.err`, `results_control_dx.json`, `check_dx.py`, `check_dx.out`,
`check_dx.control.out`, `served/research-routes.json`, `served/questions.json`, `served/board.json`,
`served/research-protocol.json`.

Disclosure: the matched linear control was added after the frozen run (it is not part of the
pre-registered falsifier) to separate non-Gaussian marginals from genuine nonlinear dependence; it
is reported as an interpretation control. `PREREGISTRATION.md` mis-states `N` as `phi(P)`
(`480,5760,92160`); the true paired counts are `135,1485,22275` — the frozen rule is unaffected and
the file is left unchanged so its hash still matches.
