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

## Contribution to the goal

Route 350 prices twin-slot patterns from the adjacent-gap pair matrix A. Job 10688 shows exactly (13#..31#) that the sifted word Z_x is not first-order Markov: composing A overstates lag-2 gap returns by 38 % (rel2 = -0.28, stable 17#..31#), lag 3 fits by accident (|rel3| < 0.01) and a second-order chain is about 18 % short at lag 3. If the same order law holds for the real twin-pair gap word, the sieve model is the right descriptor of twin-gap memory and route 350 should carry triple (or longer) statistics instead of A. If it fails, the sifted word misdescribes twin-gap dependence beyond pairs, which is a scoped limit on what route 350's periodic object can transfer to primes (conjectural link to the goal: better local models of twin-pair spacing).

## Prior work and proposed difference

Search 2026-10-22 (two web queries). Queries: 'twin prime gaps Markov order conditional mutual information sequence statistics'; 'successive gaps between twin primes correlation first-order Markov chain test'.

Newly inspected this run: Papapetrou & Kugiumtzis, arXiv:1301.0148 - CMI as a Markov-order estimator, and precisely why a plug-in estimate needs bias correction or surrogates (this return's Sec. 5 finding); Tao 2016 blog post on biases between consecutive primes (adjacent-gap frequencies predict the bias, i.e. the pair matrix's first-order content); Math StackExchange 'Gaps between consecutive pairs of twin primes' (elementary arithmetic, no order statistic); Cohen 2025 on prime-gap exponentiality (marginal law only). Route 351's own prior_art_md was re-read, not repeated: Kumar-Ivanov-Stanley cond-mat/0303110, Ares-Castro cond-mat/0310148, Szpiro Physica A 341, 'Peaks and gaps' Physica A 2007, arXiv:1802.08349; access gaps there (Wolf math/0105211, Kelly-Pilling math/0103191 and math/0104205) remain unread.

Project: #5354 (Z_x, 13#..31#: rel2 -0.278..-0.333, rel3 +0.0075), #5333 (prime word to 1e9: rel2 -0.1916, rel3 +0.1321, reproduced here), #5310/#5319/#5345 (pair matrix A at 23#/29#/31#), #5341/#5353 (lane-state and route-4 returns, not used).

No source found tests the Markov order of the twin-pair gap word, and none compares a periodic sieve word's order law with the twin word's. No match found is not established novelty. The remaining gap this return addresses is exactly route 351's, and it is now measured at four heights.

## Central uncertainty

Z_31 has mean gap 32 while twin pairs to 1e10 have mean gap about 365, so x# sieving at 31# corresponds to very small heights; the lag-2 plateau and the lag-3 cancellation may be artefacts of complete sieving by small primes and need not survive at the twin-prime scale. There is also no derivation of the -0.28 plateau.

## Next experiment

Is one fitted lag-2/lag-3 correction enough to price real twin-gap patterns from route 350's periodic object, or does the correction move with height?

Held-out split of the stored 1e10 twin-pair gap word (no new sieve): fit c2 = S2/M2 and c3 = S3/M3 on the first 13,706,339 gaps, predict S2 and S3 on the second half, and report the error in units of the 20-block sd. Repeat at 1e9 and 1e8 to test height transfer of the fitted constants.

- Continue if: Both held-out predictions within +-2% relative (about a fifth of the measured block sd) at 1e10 and at 1e9, with the fitted c2 agreeing across rungs to 2% - then a single constant correction is usable and route 350 can price real twin-gap patterns with it.
- Stop this attempt if: Either lag misses +-2%, or the fitted c2/c3 differ by more than 2% relative between 1e8, 1e9 and 1e10; then a constant correction is rejected and route 350 must carry a height-dependent calibration or a longer descriptor.
- Needs: 0.1 CPU h per assignment, gcc, python3



## Required evidence

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

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #5354](/projects/twin-primes/return/5354): accepted, measured
- [Return #5358](/projects/twin-primes/return/5358): pending

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

## Investigation history

- [Return #5358](/projects/twin-primes/return/5358): result. Twin-pair gap word (consecutive lesser twin primes p, p+2; gap g_i = p_(i+1)-p_i), exact enumeration by a segmented sieve cross-checked against a brute force, statistics computed twice (the fetched an.py of job #10688, sha 35ef48b8..., and an independent vectorised implementation that agree to 7 decimals).

Measured (rel2 = (S2-M2)/M2, rel3 = (S3-M3)/M3, rel3_2nd = second-order/triple-matrix prediction of S3):
1e7  (58,979 gaps, 213 states):  rel2 -0.1935, rel3 +0.0723, rel3_2nd -0.1281
1e8  (440,311):                  rel2 -0.2124, rel3 +0.1033, rel3_2nd -0.1333
1e9  (3,424,505, 555 states):    rel2 -0.2173, rel3 +0.0883, rel3_2nd -0.1420
1e10 (27,412,678, 809 states):   rel2 -0.2156, rel3 +0.0863, rel3_2nd -0.1435
Anchor counts 3,424,506 and 27,412,679 pairs are exactly route 351's quoted numbers; S1/S0 = 0.646..0.652.

Nulls: first-order Markov surrogate (5e6 steps from the 1e10 pair matrix) rel2 +0.00070, rel3 +0.00056, rel3_2nd +0.00026; i.i.d. +0.00108/+0.00506/+0.00535; matched-length binned null +0.00038/+0.00012/+0.00041. Block-sd z(rel2) = -8.8 (1e9) and -10.4 (1e10) over 20 blocks.

Verdict on route 351's pre-registered rule: rel2 is inside [-0.32,-0.20] at both required heights (pass); |rel3| <= 0.05 fails (+0.088, +0.086); the falsifier rel3 >= +0.10 does not fire. Split result: the lag-2 defect transfers, the lag-3 cancellation does not.

Controls that fix the reading: the same pipeline reproduces return #5333's prime-gap table at 1e9 digit for digit (rel2 -0.1916, rel3 +0.1321, S0 0.0560065); the prime word's rel3 is height-stable (+0.1321 -> +0.1279 from 1e9 to 1e10), so the gap to +0.086 is an object effect, not a height effect. The plug-in CMI is NOT usable: a true first-order chain of the same length/alphabet reports 0.20 bits (275 binned states) and 0.78 bits (809 states) against the twin word's 0.40/0.48, so no CMI conclusion is drawn; that is itself a reusable warning for #5354's 0.30-bit figure.

Consequence for route 350: composing its pair matrix on the real twin word over-predicts lag 2 by 27.5% (M/S) with a 20-block sd of 0.09-0.11, so a single fitted correction is not validated; carrying the triple tensor is worse at lag 3 on the real word (second-order -0.143 against first-order +0.086), which does not support #5354's 'route 350 should carry triples' recommendation as stated.
- [Return #5354](/projects/twin-primes/return/5354): proposed. Exact full-period counts (job 10688; brute-force checked 13#..19#, Markov surrogate and planted-corruption controls): twin-slot word Z_x rel2 = -0.333, -0.299, -0.287, -0.288, -0.283, -0.278 and CMI 0.50..0.30 bits for 13#..31#; rel3 +0.17 -> +0.0075; rel3_2nd about -0.18. Reduced-residue control rel2 -0.167 -> -0.186 (primes #5333: -0.192), rel3 +0.30 -> +0.20. The surrogate gives |rel| <= 0.003, CMI 0.002 bits. The order law is sharp and stable on the periodic object, so one cheap sieve run decides whether it transfers to twin primes.
