Johann Bernoulli's June 1696 challenge — of all frictionless ramps between a point A and a lower point B, which lets a bead slide down in the least time? The answer (the cycloid, not the straight line and not Galileo's circular arc) launched the calculus of variations. Can the cycloid, its time π√(R/g), Bernoulli's invariant, and Huygens' tautochrone all EMERGE from nothing but raw kinematics plus a generic numerical optimizer — with the calculus of variations, the Euler–Lagrange equation, and the cycloid itself coded nowhere?
Units: s (least descent time A→B for B at the cycloid arch bottom; π√(R/g), Bernoulli 1697)
▶ Run this simulationRead how it works
The cycloid recovered by a generic minimizer with no cycloid coded: minimizing the raw descent-time functional over free polylines (only segment-exact energy-conservation kinematics t = 2L/(√(2g)(√y₁+√y₂)) in the generator) returns the least time 2.007089923171 s vs π√(R/g) = 2.007089923154 s (rel 8e-12 Richardson-extrapolated, emergent convergence exponent q = 2.000), the cycloid shape to 5.1e-7·2R, Bernoulli's optical invariant y(1+y'²) = 7.999995 vs 2R = 8 (R_rec = 3.999998, never fed), Huygens' tautochrone on the recovered curve (4 release heights, worst 2.7e-4), and the √scale law to 9 digits — while Galileo's 1638 circular-arc claim is falsified by 0.49% (the BEST circle through A,B, optimized by the same machinery, measurably loses) and the straight line by 18.5%
A ramp is a free polyline over a graded x-grid x_i = X_B(i/N)³ (cubic grading because the optimum leaves A vertically, y ~ x^(2/3): it restores clean 2nd-order convergence, measured q = 2.000). The ONLY physics coded is the exact descent time of a straight segment under energy conservation, t = 2L/(√(2g)(√(y₁−y₀)+√(y₂−y₀))) — the closed form of ∫ds/v with v = √(2g(y−y₀)). Total time is minimized by damped Newton on the tridiagonal system ∇T = 0 (analytic gradient, FD tridiagonal Hessian, positivity-guarded line search, steepest-descent fallback), multi-started because the raw functional genuinely has other stationary curves (deeper multi-arch extremals) that extreme random inits can find. Endpoints A = (0,0), B = (πR, 2R) with R = 4 m, g = 9.8 m/s² are INPUTS (the arch-bottom geometry makes the known value exact and the tautochrone gate clean). Richardson extrapolation over N = 200/400/800 gives the continuum least time; the recovered curve is then interrogated: shape vs the parametric cycloid (constructed only to score), the invariant y(1+y'²) along it, tautochrone descents from 4 interior release points, a 5-scale endpoint sweep re-optimized from scratch, the full circle family through A,B (coarse scan + golden section, both bulge directions), and 24 seeds × (random smooth init + line init) with a 1%-per-segment noisy stopwatch. 8 gates, ~0.1 s. All knowns loaded from scripts/oracles/brachistochrone.reference.json only to score. ?world=brachistochrone.
Johann Bernoulli's brachistochrone (Acta Eruditorum, June 1696; solutions May 1697 by both Bernoullis, Newton, Leibniz, l'Hôpital): the least-time curve is the cycloid, with descent time π√(R/g) to the arch bottom, the invariant y(1+y'²) = 2R from Bernoulli's optical derivation, and Huygens' tautochrone property (Horologium Oscillatorium 1673). It VALIDATES, not derives: the generator is raw kinematics (segment-exact ∫ds/√(2gy)) plus a GENERIC minimizer — a numerical direct method standing in for the calculus of variations — and the cycloid shape, π√(R/g), 2R, the tautochrone, and the √s scaling are all measured OUTPUTS. Non-circularity: no cycloid parametrization, no Euler–Lagrange equation, no π-as-target, and no 2R appear anywhere in the recovery path (the parametric cycloid exists only in the scoring block; tamper test: falsifying known_value flips exit to 1 with the recovered 2.0070899232 s unchanged). The decisive control is historical: Galileo's 1638 circular-arc claim is beaten by 0.49% by the best member of the whole circle family, timed by the same machinery — the margin that needed Bernoulli's generation to see.
CERTIFIED this run (validated → validated + honest-module), module untouched — it was already honest. The module (?world=brachistochrone) is a fed-geometry RACE with earned times: the three curves (line, shallow circular arc, cycloid) are coded parametrically — the cycloid is fed, and that remains the disclosure — but every number on screen is a MEASUREMENT: the race arrival times and tautochrone spread come from symplectic-Euler integration of tangential gravity a = −g·dy/ds along each polyline (the closed form π√(R/g) appears only as the labeled theory banner), and the energy-drift readout is a live conservation check (3.4e-2 J/kg = 0.04% of gΔy). The derisk now EXECUTES the module (10 sha256-pinned slices, mechanical strip, driven at the engine's fl(1/120) step through both phases) and pins all 8 arrival times, 3 curve lengths, drift, phase steps and 4 HUD strings strict-===/sha256; the screen-vs-known gap is decomposed as an exact identity with zero fitted parameters (−5.211e-4 s first-order integrator bias + 7.228e-4 s substep quantization ∈ (0, h], net +2.017e-4 s, still '2.007 s' at 3 rendered digits) and the module's own machinery Richardson-extrapolates to 1.55e-7 rel of both π√(R/g) and the oracle minimizer's T∞. What the module does NOT do — recover the cycloid without being fed it — is exactly what the oracle's generic minimizer does non-circularly; the two protocols meet at the polyline floor.
npm run derisk -- brachistochrone (scripts/brachistochrone-derisk.mjs)scripts/oracles/brachistochrone.reference.jsonJohann Bernoulli, Acta Eruditorum (June 1696) 264 — the challenge; Acta Eruditorum (May 1697) 205–224 — the solutions (Johann's optical/Snell argument; Jacob's variational one); I. Newton, Phil. Trans. 19 (1697) 384 (anonymous — 'tanquam ex ungue leonem'). C. Huygens, Horologium Oscillatorium (1673), Part II — the tautochrone. Galileo, Discorsi (1638), Third Day, scholium to Prop. 36 — the circular-arc claim falsified here. H. Goldstein, Classical Mechanics §2.2; V. M. Tikhomirov, Stories about Maxima and Minima (AMS 1990) ch. 1.