Which orbital architectures observed in the universe are forced by number-theoretic constraints, rather than selected by initial conditions or dynamics?
draft · day 2 · 2026-05-20 data: NASA Exoplanet Archive 5933 planets · 1037 multi-planet systems
Three established fields each see one face of the same elephant and don't talk to each other.
The bridge: the observed period-ratio distribution is the pushforward of the cosmic initial-condition measure through some sequence of number-theoretic filters. Day-1 assumed the filter was KAM stability (favouring noble irrationals). Day-2 falsifies that and identifies the dominant filter as resonance trapping during migration (favouring low-order rationals).
↑ back to topLong-lived multi-planet systems concentrate on period ratios whose continued-fraction expansion has bounded partial quotients — i.e. more noble, more KAM-stable irrationals.
The per-ratio Khinchin and Lévy constants both shift in the opposite direction at z ≈ +10 (Test 5).
Observed period ratios show systematically larger partial-quotient geometric mean (Khinchin) and faster-growing convergent denominators (Lévy) than the Gauss-Kuzmin null. The 1-D marginal density of {r} = r − ⌊r⌋ deviates from the Gauss measure at χ² = 111 on 19 dof (Test 7), with localizable pile-ups at 3:2 and just-below-integer (Lithwick–Wu). The dominant filter on period ratios is migration-driven resonance trapping, not KAM-stability suppression of resonant tori.
For an n-planet system, the resonance chain — the tuple of nearest low-order commensurabilities — concentrates on a sparse subset of the combinatorially possible chains. Concentration is robust to the size of the alphabet (Tests 4 and 6). Consecutive resonances in a chain are non-independent at coarse resolution.
Galactic disk substructure (moving groups, phase-space spirals) is the image, under the galactic potential's integrable flow, of rational points on a lower-dimensional resonant submanifold of action space.
Take all 1037 multi-planet systems from the NASA Exoplanet Archive, sort each by period, compute adjacent ratios r = Pi+1/Pi, and for each r compute the continued-fraction expansion to depth 8. Null: Gauss-Kuzmin, P(ak = m) = log2(1 + 1/(m(m+2))).
| ak | empirical | Gauss-Kuzmin | ratio |
|---|---|---|---|
| 1 | 0.430 | 0.415 | 1.04 |
| 2 | 0.167 | 0.170 | 0.98 |
| 3 | 0.088 | 0.093 | 0.94 |
| 4 | 0.056 | 0.059 | 0.95 |
| 5 | 0.040 | 0.041 | 0.99 |
| 6 | 0.028 | 0.030 | 0.95 |
| 7 | 0.019 | 0.023 | 0.83 |
| 8 | 0.017 | 0.018 | 0.92 |
| 9 | 0.015 | 0.014 | 1.02 |
| ≥ 10 | 0.140 | 0.137 | 1.02 |
χ² = 21.5 on 9 dof. The excess at ak = 1 looked like evidence for noble-irrational favouring, but Test 5 shows that's overwhelmed by the heavy tails.
Norbits = stellar_age × 365.25·10⁹ / Pinner_days spans log10 5.8 to 13.0 across 689 ratio-pairs with measured age.
| quartile | median log10 Norbits | frac(ak=1) | frac(ak≥4) |
|---|---|---|---|
| Q1 | 10.43 | 0.430 | 0.328 |
| Q2 | 11.31 | 0.428 | 0.299 |
| Q3 | 11.64 | 0.437 | 0.315 |
| Q4 | 12.04 | 0.434 | 0.321 |
| sample | n systems | n ak | frac(a=1) | χ² / dof |
|---|---|---|---|---|
| all multi | 1037 | 10924 | 0.431 | 21.5 / 9 |
| RV-only | 208 | 2072 | 0.435 | 7.4 / 9 |
| Transit-only | 683 | 7214 | 0.434 | 14.9 / 9 |
Resonance alphabet Σ = {(p,q) : gcd=1, p > q ≥ 1, p+q ≤ 9}, |Σ| = 13. Each adjacent ratio gets the nearest symbol.
| L | n systems | distinct observed | uniform expectation |
|---|---|---|---|
| 2 (3-planet) | 219 | 79 | ~123 |
| 3 (4-planet) | 81 | 70 | ~79 |
Two universal constants govern continued-fraction expansions for almost every real (Lebesgue):
Both are smaller for noble-ish irrationals (KAM-favoured). Conjecture I predicted period ratios shift downward.
| quantity | theoretical | empirical | SE | z |
|---|---|---|---|---|
| ⟨ln ak⟩ | 0.988 | 1.194 | 0.020 | +10.09 |
| (1/n) log qn | 1.187 | 1.428 | 0.022 | +10.95 |
| K = exp ⟨ln a⟩ | 2.685 | 3.301 | — | — |
Under Gauss-Kuzmin the (ak) are asymptotically i.i.d. Contingency table on buckets {1, 2, 3, 4, ≥5}:
| ak \ ak+1 | =1 | =2 | =3 | =4 | ≥5 |
|---|---|---|---|---|---|
| =1 | 1933 | 882 | 519 | 331 | 1681 |
| =2 | 850 | 352 | 172 | 125 | 558 |
| =3 | 519 | 190 | 93 | 66 | 235 |
| =4 | 348 | 115 | 57 | 45 | 154 |
| ≥5 | 1520 | 526 | 309 | 172 | 722 |
χ² = 173.2 on 16 dof (critical@p=0.01 ≈ 32).
| alphabet | |Σ| | L=2 distinct | uniform exp. | entropy (bits) | uniform entropy |
|---|---|---|---|---|---|
| Farey-9 | 13 | 79 | 123 | 5.90 | 7.40 |
| Farey-12 | 22 | 131 | 176 | 6.73 | 7.78 |
| Farey-15 | 35 | 166 | 201 | 7.18 | 7.78 |
| chain | count |
|---|---|
| 2:1 — 2:1 | 14 |
| 2:1 — 7:4 | 6 |
| 2:1 — 11:1 | 5 |
| 2:1 — 7:3 | 4 |
| 5:3 — 7:4 | 4 |
| 7:3 — 7:3 | 4 |
| alphabet | dof | χ² raw | χ² merged | verdict |
|---|---|---|---|---|
| Farey-9 | 144 / 100 | 259.9 | 142.0 | significant |
| Farey-12 | 441 / 196 | 493.4 | 210.6 | marginal |
| Farey-15 | 1156 / 256 | 864.6 | 247.8 | underpowered |
Take the fractional part {r} = r − ⌊r⌋ ∈ [0, 1) of every adjacent ratio (n = 1564). This pools over integer parts and gives a single 1-D density to test.
| baseline | χ² | dof | critical @ p=0.001 |
|---|---|---|---|
| Gauss measure 1/((1+x) ln 2) | 111.2 | 19 | 43.8 |
| uniform on [0,1) | 50.5 | 19 | 43.8 |
Both nulls are decisively rejected. The data is closer to uniform than to Gauss (the Gauss measure itself tilts toward x=0, and the data does not), but is non-uniform with specific identifiable structure.
| {r} window | observed | Gauss expected | z | physical interpretation |
|---|---|---|---|---|
| [0.50, 0.55) | 114 | 74.0 | +4.65 | 3:2 pile-up |
| [0.10, 0.15) | 63 | 100.3 | −3.72 | gap just past integer (Lithwick–Wu) |
| [0.90, 0.95) | 88 | 58.6 | +3.84 | pile-up just below integer (Lithwick–Wu) |
| [0.05, 0.10) | 71 | 105.0 | −3.32 | same gap, inner edge |
| [0.85, 0.90) | 83 | 60.2 | +2.94 | broad 2:1 pile-up shoulder |
The pile-up/gap pattern at {r} ≈ 0.90–0.95 (excess) and {r} ≈ 0.05–0.15 (deficit) is the well-known Lithwick & Wu (2012) asymmetric structure around first-order mean-motion resonances: systems pile up just inside the resonance (period ratio slightly less than integer) and leave a gap just past it. Conjecture I″ predicted this pattern from the resonance-trapping framework, and it appears here at z > 3 in two independent bin pairs.
| center {p/q} | label | observed | Gauss expected | ratio | z |
|---|---|---|---|---|---|
| 0.000 | integer (2:1, 3:1, …) | 44 | 67.4 | 0.65 | −2.85 |
| 0.250 | 5:4 | 55 | 72.2 | 0.76 | −2.03 |
| 0.333 | 4:3 | 71 | 67.7 | 1.05 | +0.40 |
| 0.500 | 3:2 | 84 | 60.2 | 1.40 | +3.07 |
| 0.667 | 5:3 | 66 | 54.2 | 1.22 | +1.61 |
The narrow ±2% windows confirm: only 3:2 shows a sharp pile-up at the exact resonance. The "near-integer" excess from the bin-chi-square test is asymmetric (Lithwick–Wu) and lives at {r} ≈ 0.90–0.95, not at {r} = 0 itself — which actually shows a slight deficit (z = −2.85) at the ±2% scale.
We model the empirical density as a mixture of the Gauss measure and a KDE-style mass concentrated at Farey-N centers with bandwidth σ:
p({r}) = α · 1/((1+{r}) ln 2) + (1−α) · (1/Z) ∑_{(p,q) ∈ Σ_N} w_{p,q} · K({r}; {p/q}, σ)
MLE over a 51×41 (α, σ) grid:
| Farey alphabet | |Σ| | α | σ | ΔLL vs pure Gauss | 2·ΔLL |
|---|---|---|---|---|---|
| Farey-9 | 5 | 0.02 | 0.500* | +28.5 | 57.1 |
| Farey-12 | 8 | 0.02 | 0.500* | +28.6 | 57.2 |
| Farey-15 | 12 | 0.02 | 0.500* | +28.6 | 57.3 |
| Farey-20 | 22 | 0.00 | 0.500* | +28.7 | 57.3 |
*σ hits the upper grid boundary at 0.5 in every run. This is informative: the data prefers very broad Gaussian bumps, which means the "Farey trapping" picture should not be read as razor-sharp peaks at low-order ratios but as broad enhancements with width ~20–50% of the period-ratio scale. Sharp-peak mixture models are non-identifiable here.
# Pull data
curl -sG "https://exoplanetarchive.ipac.caltech.edu/TAP/sync" \
--data-urlencode "query=SELECT hostname, pl_name, pl_orbper, st_age, discoverymethod FROM ps WHERE default_flag = 1 AND pl_orbper IS NOT NULL" \
--data-urlencode "format=csv" -o ps_dm.csv
# Day-1 tests
python3 analyze.py
python3 analyze_dynamical.py
python3 analyze_rv_and_c2.py
# Day-2 tests
python3 analyze_conjecture_I_deep.py
python3 analyze_conjecture_II_extended.py
python3 analyze_mixture_v3.py
Dependencies: numpy, matplotlib.