Recognition Physics φ · Rotation Lab

99 galaxies. Zero per-galaxy knobs. One verdict, reported verbatim.

Dark-matter fits give every galaxy its own halo, two or three dials each. This script fits nothing per galaxy: the paper-v07 causal-response kernel runs with global constants (some derived from φ = (1+√5)/2, some RS-motivated, plus declared calibration seams), and is scored against the public SPARC sample (175 disk galaxies; the 99 highest-quality Q=1 curves enter the aggregate). A MOND baseline runs through the identical masks and error model, so the comparison has no home-field advantage. The preregistered pass/fail gate prints its verdict at the end, whatever it says.

Public port of the preregistered verifier (prereg/sparc-2026-04-26), outputs verified identical · run verified 2026-07-08 · data: Lelli, McGaugh & Schombert 2016 (SPARC)

1.52median χ²/N (RS)
5.50MOND, same pipeline
0.198RAR scatter (dex)
numpyonly dep · ~2s
The parameter ledger

What is derived, what is a seam

Derived from φ: the dynamical exponent α = 1 − 1/φ and the mass-to-light ratio Υ = φ. HAS RS BASIS (RS-motivated forms matching the paper fit to ~2%, not forced): the gas coupling Cξ = 2φ−4 and the profile constants A = 1 + αlock/2 and p = 1 − αlock/4, where αlock = α/2 = (1 − 1/φ)/2 (Lean GravityParameters.A_amplitude, p_steepness). Declared calibration seams, named in the script header and carried in Lean only as literal definitions: the tick τ₀ = 7.2997×10−15 s and the rungs Nτ = 142.4, Nr = 126.3 (the Fibonacci 142/126 reading is conjecture). Nothing varies per galaxy.

The honest verdict

Gate says FAIL. Median says 3.6× better.

PASS iff mean χ²/N < 2.0 AND f(χ²/N<2) > 0.7 measured: mean = 2.898, f_good = 0.626 → FAIL

The preregistered gate fails on the mean, dragged by 17 outliers. The median, 1.52 vs MOND's 5.50 on identical masks and errors, is the strongest zero-per-galaxy result we know of. Both numbers are on this page because both are true.

Built-in baseline

MOND on the same footing

Simple-μ MOND with the standard a₀ = 1.23×10−10 m/s² runs through the same masks, the same error model, the same Υ. It scores median 5.50, mean 10.35, with 51 galaxies over χ²/N = 5 against RS's 17. The point of the baseline is that any scoring bias hits both models equally.

NGC 3198, straight from the run

The classic flat-rotation-curve galaxy. Newtonian gravity on the visible baryons (thin line) falls away beyond 10 kpc; the observed curve (squares) stays flat to 44 kpc. The RS kernel (gold) lifts the baryonic prediction with no per-galaxy input; MOND (dashed) overshoots this galaxy. Numbers are copied from the reference output's chart-data block, so you can diff every point.

NGC 3198 (Q=1, Rd = 3.14 kpc): observed v(r) with errors, Newtonian baryons (Υ = φ), RS causal-response, and simple-μ MOND. This galaxy scores RS χ²/N = 2.35, MOND 12.74. One galaxy is an illustration; the claim lives in the 99-galaxy table.

Aggregate over the Q=1 sample

Metric (99 galaxies, 1854 masked points)RS causal-responseMOND (simple μ)
median χ²/N1.5165.499
mean χ²/N2.89810.350
galaxies with χ²/N > 51751
RAR scatter (dex)0.198
BTFR slope / scatter4.001 / 0.230 dex

The baryonic Tully–Fisher slope lands at 4.001 with zero tuning; the deep-MOND prediction is exactly 4. The radial-acceleration-relation scatter of 0.198 dex is computed from all masked Q=1 points.

Run it yourself

One file plus the public SPARC data. Download both, unzip the data next to the script, run. About two seconds. The per-galaxy table, the aggregates, the gate verdict, and the NGC 3198 chart block should match the reference output exactly.

$ unzip -q sparc_data.zip && python3 sparc_rotation_test.py
SPARC ROTATION-CURVE TEST: RS causal-response model, zero per-galaxy knobs
derived:  alpha = 0.381966   C_xi = 0.291796   A = 1.095492   p = 0.952254
seams:    tau0 = 7.299682e-15 s   N_tau = 142.4   N_r = 126.3

median chi^2/N   RS causal-response: 1.5163    MOND: 5.4987
RAR scatter (log10 a_obs - log10 a_model, 1854 points): 0.1976 dex
BTFR (99 galaxies): slope = 4.0009, scatter = 0.2297 dex
VERDICT: FAIL  (mean = 2.898, f_good = 0.626)
↓ Test script ↓ SPARC data (124 KB) Reference output
Honest scope

HYPOTHESIS with a preregistered falsifier, and the falsifier currently reads FAIL: the gate demands mean χ²/N < 2.0 and the measured mean is 2.898 (17 outlier galaxies; the median is 1.52). We report that verbatim rather than switching to the statistic that passes. On the Lean anchoring: the global constants come from Lean's GravityParameters.lean, and the SPARC score artifacts are certified in Lean (MassToLightPhiLockedSPARCRerunScoreCard.lean, matching these numbers to 6+ decimals), but the paper-v07 kernel form this lab runs is the paper's, not yet a Lean capstone; Lean's ILG w_t is a different, time-only kernel. The rungs Nτ = 142.4, Nr = 126.3 and τ₀ are declared calibration seams, Lean literal defs, not derivations (the Fibonacci 142/126 reading is conjecture); Cξ, A, and p are HAS RS BASIS (~2% match to the paper fit); Υ = φ is an RS policy choice where SPARC convention would use ~0.5 at 3.6μm. All χ² values, for every theory, depend on the fixed error model (paper Sec. 4.3); with raw SPARC errors alone nothing fits, RS or MOND or halo fits alike. What IS solid: zero per-galaxy parameters, an identical-pipeline MOND baseline, and every number on this page reproducible from the two downloads above.

All labs Regge triangulation Bekenstein spectrometer Lattice Lorentz Six gravity numbers 3/8 crossing Mass ratio PMNS χ² Galaxy rotation Regge cubic Solar eigenvalues Erdős–Straus The α construction