In a possible world where gravity is F = −μ/rᵖ instead of inverse-square, do orbits still close — or do they precess at the classical apsidal-angle law Φ = π/√(3−p), closing at ALL eccentricities only at Bertrand's two exponents (p = 2 and Hooke), with the near-Kepler case p = 2+ε showing the Mercury-style first-order apsidal drift Δϖ ≈ πε?
Units: dimensionless (Φ/π at p = 2.5 = 1/√(3−2.5) = √2 exactly; Φ = near-circular apsidal angle)
▶ Run this simulationRead how it works
Counterfactual gravity answers 'why inverse-square?': a raw leapfrog of a = −μ r̂/rᵖ — no apsidal-angle formula, no √(3−p), no orbit theory in the recovery path — returns the near-circular apsidal angle Φ/π = 1.414213296 ± 8.2e-9 at p = 2.5 vs the exact √2 = 1/√(3−2.5) (rel 1.9e-7, 12 seeds), tracks Φ = π/√(3−p) across six exponents to ≤ 7.3e-6 with the law's exponent fitted at −0.5000014, and reproduces Bertrand's theorem as an e-independence dichotomy: p = 2 and Hooke hold Φ fixed to ≤ 5e-5 rad from e ≈ 0.02 to e ≈ 0.5 while p = 2.5 drifts 0.26 rad — only inverse-square and the spring close at all eccentricities; near-Kepler p = 2+ε reproduces the Mercury-style first-order drift Δϖ = 2π((1−ε)^(−1/2)−1) ≈ πε to 1.4e-5, and the closed-orbit rival ('any attractive central force gives closed ellipses') is off by 41.4% at p = 2.5 while the same machinery recovers exact closure (7e-8) at p = 2
Generator = the module's verbatim dynamics: kick–drift–kick symplectic leapfrog of a = −μ(x,y)/r^(p+1) (GravityExponentModule._step, μ = 400), oracle dt = 2.5e-4. Recovery: apsides detected as radial-velocity sign changes (linearly interpolated), apsidal angle read from the integrated swept angle dθ = L/r² dt between successive apsides (2 settle apsides skipped, 38 averaged); each launch is tangential at r0 with v = f·v_circ, f chosen by a linear probe (e ∝ 1−f, self-calibrated — no known value involved) to hit e ∈ {0.01…0.08}, and Φ(e) is extrapolated linearly in e² to e → 0 to remove the O(e²) finite-eccentricity bias. π/√(3−p) appears ONLY in the scorer (scripts/oracles/precession.reference.json). Gates: (A) 12-seed headline at p = 2.5 (random r0 ∈ [6,14], random azimuth), Φ̂₀/π vs √2 rel < 1e-6, SE < 1e-7; (B) sweep p ∈ {−1, 1, 1.5, 2, 2.5, 2.8} vs 1/√(3−p), rel < 3e-5; (C) log-log fit over 7 exponents returns slope −1/2 to rel < 1e-5; (D) Bertrand closure: |ΔΦ| < 5e-4 rad from small to large e at p = 2 and p = −1, > 0.1 rad at p = 2.5; (E) GR linearization at p = 2.01: Δϖ vs 2π((1−ε)^(−1/2)−1), rel < 1e-4; (F) rival 'all central forces close' rejected by 41.4% at p = 2.5 while the p = 2 control recovers closure < 1e-6 and p = 2.5 stays open (49.8%) at e ≈ 0.75; (G) mesh convergence: dt-halving error ratio ≥ 2; (H) symplectic energy drift < 1e-9; (I) module mirror: verbatim module emulation (p = 2.3, dt = 1/240, raw uninterpolated apsis detector, running mean after 2 settle apsides, 300 s) pins the on-screen Φ = 216.9° ∈ [216.4, 217.4], the 'precessing rosette · Δϖ +74°/orbit' verdict and drift < 0.02%; (J) scoring self-test: tampered known ⇒ FAIL with the recovery unchanged. HONEST-MODULE CERTIFICATE (K–M): (K) src/modules/GravityExponentModule.ts sha256-pinned, TS stripped via 27 exact pinned pairs + 2 counted bulk passes + banned-syntax scan, EXECUTED headless (new Function + Babylon/DOM recorder stubs) — statics === reference certificate, init() mesh/DOM census + init state bit-exact vs a replica built ONLY from reference constants, style sha-pinned, and the HUD's law-fed near-circ line phiTheory(2.3) similarity-tied to the oracle's own free e²→0 recovery at p = 2.3 (rel 1.3e-7 < 3e-5); (L) the executed fixedUpdate over 36000 fl(1/120) engine ticks (72000 sim steps, zero accumulator deficit, exactly 2 steps/tick) bit-exact vs the replica at EVERY tick across the full state (x/y/vx/vy/t/acc/steps/θ/vr/apsis machinery/Φ + 1500-point trail ring), then render(): planet position, trail thin-instance buffer, HUD text and SVG law chart === replica strings, all sha256-pinned; (M) the on-screen Φ reconciled through three PREDICTED detector effects — raw−interp gap = (δ_last−δ_first)/N EXACTLY (model dev 4.6e-16) under the derived one-step-lateness ceiling, the ±4.74e-3 rad apsis-TYPE alternation of the interpolated intervals (periapsis vs apoapsis interpolation error at the module's coarse dt) whose type-pairs are 4.4e7× flatter, giving the odd-window endpoint bias its derived ceiling (observed 6.32e-5 = 99.999% of ceiling), and an INDEPENDENT 7-launch e-family Φ(e²) cubic fit (even windows, law nowhere) predicting the screen's own finite-e Φ at its measured e = 0.427 to 6.1e-7 rad (fit residual scale 1.6e-6).
Φ(p) = π/√(3−p) for near-circular orbits under f = −μ/rᵖ (Newton, Principia I Prop. XLV; Goldstein §3.6); Bertrand (1873): bound orbits close at all eccentricities only for inverse-square and Hooke; Δϖ(2+ε) = 2Φ−2π ≈ πε to first order.
8.2000e-9
13/13 pass in ~11 s (A–J validation + K–M honest-module certificate); three tampers each exit 1: known_value×1.01 ⇒ ONLY gate A fires with the recovered value unchanged at 1.414213296 and the certificate green; certificate v_factor 0.82→0.83 ⇒ K (statics) + L (replica diverges) + M fire while A–J stay green — the replica is built from the reference, so a statics tamper cannot drag it along; module_sha256 flip ⇒ only K fires. All restored by hand
Newton's revolving-orbits result (Principia Book I, Prop. XLV) — the apsidal angle of a near-circular orbit under a power-law central force is π/√(3−p), because the radial oscillation about the circular radius runs at κ = ω√(3−p) — together with Bertrand's 1873 theorem that bound orbits close at every eccentricity only for the inverse-square and linear (Hooke) force laws, and the first-order apsidal-drift structure Δϖ ≈ πε that underlies perihelion-precession tests of gravity. Non-circular because the generator integrates ONLY a = −μ r̂/rᵖ by symplectic leapfrog: no apsidal-angle formula, no √(3−p), no radial-oscillation analysis, and no closure criterion appears anywhere in generation or detection — apsides are found as vr sign changes, the angle is the integrated dθ, the e → 0 limit is reached by a self-calibrated e² extrapolation, and the tamper self-test proves the recovery cannot see the known value (tampered known ⇒ FAIL with the recovered 1.414213296 unchanged). The recovery is sharper than 'non-inverse-square forces precess' in four ways: it returns the dimensionless apsidal angle to 1.9e-7 with seed-level uncertainty; it verifies the full functional law across six exponents AND recovers the law's exponent −1/2 by fit; it reproduces Bertrand's closure dichotomy as a measured e-independence gap of four orders of magnitude; and it verifies the first-order linearization Δϖ ≈ πε that connects the counterfactual sweep back to real perihelion tests. Limits, disclosed: Φ = π/√(3−p) is the NEAR-CIRCULAR law — at finite eccentricity the apsidal angle of a non-Bertrand exponent genuinely depends on e (that dependence IS gate D's signal, 0.26 rad at p = 2.5, e ≈ 0.75), so the headline constant is the e → 0 limit the extrapolation isolates; the residual 1.9e-7 bias is the O(e⁴) term the linear-in-e² fit leaves behind (~20× the 8e-9 seed scatter), which is why the gate is on relative error, not SE-consistency; and Bertrand's theorem is verified at its two closing exponents plus one open one, not proven for all p — the sweep covers the law, the dichotomy is spot-checked.
The on-screen GravityExponentModule (default p = 2.3, V_FACTOR = 0.82 ⇒ e ≈ 0.43, dt = 1/240) shows a running-mean apsidal angle of 216.9° next to the near-circular theory line 215.1° — a +0.8% finite-eccentricity bias that is REAL PHYSICS (the apsidal angle of a non-Bertrand exponent grows with e; the module's read-out is the e ≈ 0.43 value, the oracle's headline is the e → 0 limit) and is disclosed by the HUD itself, which prints both numbers side by side. Oracle gate I reproduces the module's pipeline verbatim (raw uninterpolated vr-sign-change apsis detector, 2 settle apsides, running mean, dt = 1/240, 300 s) and pins the display band [216.4, 217.4]°, the 'precessing rosette · Δϖ +74°/orbit' verdict and the < 0.02% energy-drift figure; a live scrape of the built app (vite preview + system-Chrome playwright) confirmed all 5 pins: 'apsidal Φ 216.9° (near-circ 215.1°) · energy drift 0.000% · → precessing rosette · Δϖ +74°/orbit'. The module is now EXECUTED by the derisk, not just emulated: gates K–M sha256-pin the source, strip TS via exact pinned pairs, run it under new Function with recorder stubs, and bit-compare the full state against a reference-built replica at every one of 36000 fl(1/120) engine ticks — the on-screen Φ 216.9°, the HUD string, the SVG law chart and the 1500-point trail are what the executed machine computes, sha-pinned. The +0.8% finite-e bias is no longer just disclosed but PREDICTED: an independent 7-launch e-family Φ(e²) cubic fit lands on the screen's own value at e = 0.427 to 6.1e-7 rad. Execution also quantified a real detector property invisible to the emulation-band gate I: at dt = 1/240 the interpolated apsidal intervals ALTERNATE ±4.74e-3 rad by apsis type (periapsis vs apoapsis interpolation error), type-pairs are 4.4e7× flatter, and the module's 75-interval (odd) window therefore carries a 6.32e-5 rad unpaired-endpoint bias — bounded by its derived ceiling and folded into the reconciliation chain, raw → interpolated → even-window → family prediction, with no fitted tolerance anywhere. No module code was changed this run (zero-edit certificate).
one planet around a fixed star tracing a fading rosette; HUD: force law F = −μ/r^2.30, measured apsidal Φ 216.9° vs near-circ 215.1°, energy drift 0.000%, verdict 'precessing rosette · Δϖ +74°/orbit'; Φ/π vs p law chart marking Bertrand's two closing exponents — all read-outs mirror-pinned by oracle gate I and scrape-verified 5/5
npm run derisk -- precession (scripts/precession-derisk.mjs)scripts/oracles/precession.reference.jsonI. Newton, 'Philosophiæ Naturalis Principia Mathematica' (1687), Book I, Prop. XLV — apsidal angle for power-law centripetal forces. J. Bertrand, C. R. Acad. Sci. Paris 77, 849–853 (1873) — only the inverse-square and linear laws close all bound orbits. H. Goldstein, C. Poole, J. Safko, 'Classical Mechanics' 3rd ed., §3.6 & Appendix A.