aidoesscience
aidoessciencefindings › The hanging chain (catenary)
ValidatingOracle-validated

The catenary recovered by a generic minimizer with no cosh coded

Jakob Bernoulli's May 1690 challenge — what shape does a uniform flexible chain hanging between two pins take? Galileo had asserted a parabola (Discorsi 1638); Leibniz, Huygens, and Johann Bernoulli answered cosh in the June 1691 Acta Eruditorum, naming the curve catenaria. Can the cosh, its parameter a, the sag, and the tension law T = w·y all EMERGE from nothing but a discretized potential-energy functional plus a generic constrained-stationarity solver — with the catenary equation, cosh, and the transcendental span–length relation coded nowhere in the recovery path?

Measured by the lab
0.8455047
Known value
0.8455047
Relative error
5.54e-14

Units: length units (catenary parameter a for S = 2, L = 2.5; root of L = 2a·sinh(S/2a), Acta Eruditorum June 1691)

▶ Run this simulationRead how it works

The finding

The catenary recovered by a generic minimizer with no cosh coded: a discrete chain of N equal rigid links (only potential energy U = Σ w·ℓ·y_mid and two pin constraints in the generator) settles, under damped Newton on the KKT system from random shapes, into the cosh to 1.4e-7 of sag, with the parameter a = 0.845504697713 recovered AS THE LAGRANGE MULTIPLIER of the span constraint (horizontal tension / weight-per-length) vs the 1691 law's 0.8455046977134 — rel 5.5e-14 Richardson-extrapolated, emergent q = 2.000 — the tension law T = w·y above the directrix emerging with slope 1.00000031, the noisy-photograph vertex curvature giving a to 0.52 SE, and Galileo's 1638 parabola claim falsified twice over: the same-length parabola carries +8.6e-4 relative excess energy (5300× the chain's numerics) and misses the shape by 8.8e-3 of sag where the cosh threads it at 1.4e-7

Method

The chain is N equal rigid links of length ℓ = L/N with angles θ_k, weight per unit length w = 1, pinned ends: energy U(θ) = Σ c_k sinθ_k with c_k = wℓ²(N−k−½) (each link carries the chain hanging below it), constraints Σℓcosθ_k = S and Σℓsinθ_k = 0. A generic damped Newton solves the KKT stationarity system (arrow structure ⇒ O(N) per step via Schur complement, backtracking line search on the residual norm) from RANDOM low-frequency initial shapes and randomized initial multipliers. The recovered parameter is a = H/w where H is the span constraint's Lagrange multiplier — the horizontal tension the minimizer discovers on its own; nothing in the generator knows cosh. Canonical geometry S = 2, L = 2.5 (a/S set by L/S only — confirmed by the 3.7× scaling gate at 7.2e-16). Richardson extrapolation over N = 200/400/800/1600 (emergent q = 2.000/2.000); the recovered chain is then interrogated: shape vs the scoring cosh, per-link tension T_k = √(H²+V_k²) regressed on height (Routh's T = w·y), 24 wild-init multi-starts + 50 constraint-tangent perturbations (it is a MINIMUM, not just stationary), a 5-length re-minimization sweep against the transcendental law, the same-length and best-fit parabolas (Galileo), and a 24-seed noisy photograph (σ = 1e-3) whose estimator is the vertex RADIUS OF CURVATURE — smoothed argmin + windowed QUARTIC least squares, quartic because cosh's x⁴/(24a³) term biases a quadratic vertex fit at the percent level (the Malus→blackbody→photoelectric estimator lesson applied at design time: match locator order to local shape). 14 gates, ~2 s (A–H the oracle, I–M the honest-module certificate that EXECUTES the shipped module). All knowns loaded from scripts/oracles/catenary.reference.json only to score. ?world=catenary.

Measurements, controls & cross-checks

Raw finest grid

N
1600
A
0.84550461
Rel
1.0400e-7
Note
un-extrapolated; the N = 200/400/800/1600 ladder has emergent exponent q = 2.000/2.000 and extrapolates 6 orders past the finest grid

Sag

Recovered
0.66359377
Known
0.66359377
Rel
3.1600e-13

Emergent shape

Rms over sag
1.4200e-7
Note
finest-grid vertices vs y = a·cosh(x/a), which is constructed ONLY in the scoring block

Tension law

Slope
1.0000003
Expected
w = 1
Directrix a rel
7.0500e-7
Note
per-link tension T_k = √(H² + V_k²) regressed on link height: T = w·y measured from the directrix (Routh, Analytical Statics ch. X) — never coded; the directrix-derived a independently re-hands back the multiplier's a to 7e-7

Multi start

Seeds
24
At global min
22
Converged
23
A spread rel
2.8200e-13
Note
wild random shapes and multipliers; one init did not converge and one converged to a genuine SECONDARY stationary configuration of the KKT system (a partially folded chain at U = −1.024 vs the minimum's −1.041) — disclosed, the constrained functional really has these; 50/50 random constraint-tangent perturbations RAISE U, so the recovered configuration is a minimum, not merely stationary

Perturbation sweep

L values
  • 2.05
  • 2.2
  • 2.5
  • 3
  • 3.5
Worst rel
8.6400e-13
Monotone
true
Scaling 3p7x rel
7.2000e-16
Note
full re-minimization from fresh random inits at each length, from near-taut to deep sag: a(L) tracks the transcendental 1691 law solved only in the scorer; scaling both S and L by 3.7 scales a by exactly 3.7 (scale-free geometry)

Rival galileo parabola

Same length energy excess rel
0.00086
Excess over chain numerics
5300
Bestfit rms over sag
0.00882
Cosh rms over sag
1.4200e-7
Shallow L2p02 rms over sag
0.000382
Note
Galileo (Discorsi 1638, Second Day) said the chain is a parabola. Hung properly — the unique symmetric parabola through the pins with the SAME arc length — it carries 8.6e-4 relative MORE potential energy than the chain the minimizer found, 3.5 orders above the 1.6e-7 numerical error: structural, not numerical. The best-fit parabola misses the shape by 8.8e-3 of sag; the cosh threads the same vertices at 1.4e-7. And the near-taut chain (L/S = 1.01) shrinks the parabola's misfit 23× to 3.8e-4 — a shallow cosh IS nearly a parabola (cosh x ≈ 1 + x²/2), which is why Galileo believed it and why 17-year-old Huygens needed the deep-sag limit to catch him in 1646. The parabola is the right answer to the OTHER problem: load uniform per horizontal distance (a suspension-bridge deck), not per arc length

Noisy photograph

Seeds
24
Sigma
0.001
A
0.846090 ± 0.00112
Se dist
0.52
Estimator bias rel
0.0001
Note
a recovered as the vertex radius of curvature (a physical definition: R_vertex = H/w) from noisy vertex positions via smoothed argmin + windowed quartic LSQ; the quartic (not quadratic) absorbs cosh's x⁴ term — a quadratic vertex fit over the same window would be biased at the percent level. The 1.0e-4 window-truncation bias of the quartic is 13× below the noise SE and disclosed, not gated away

Honest module certificate

Gates
I–M
Executed
src/modules/CatenaryModule.ts sha256-pinned, TS stripped via 28 exact pinned pairs + 13/10 bulk, run through new Function with Babylon/DOM recorder stubs; init() builds the real screen (49 beads, 2×79 overlay segments, 2 pins, HUD #phs-catenary)
Solver identity
executed _solveA === a re-typed replica bisection BIT-FOR-BIT at all 42 span probes (tolerance literal 0) and _catY likewise; the screen analytic a is thereby ONE code path with the certified replica, not two that agree
Similarity reconciliation
at the geometrically similar span S* = LEN·(S_ref/L_ref) = 13.056 — inside the module own breathing sweep — the screen a rescaled by L_ref/LEN lands on the oracle known value to rel 1.31e-16 (predicted ceiling 5e-15 from the condition number dln a/dln(S/L) ≈ 3.3 × ulp-level similarity rounding) and on the gate-A EMERGENT Richardson a∞ to 5.53e-14 (the emergent value own 5.54e-14 residual dominates): the law-fed overlay and the no-cosh minimizer meet through pure scale-freeness
Drive
4400 engine ticks at fl(1/120): all 49 node positions + span/dir/a/sag/parC0/parC2/rmsCat/rmsPar/acc === an independent re-typed replica at EVERY tick; zero step deficit CHECKED (acc === 0 every tick, fl(1/120) === DT); span hits BOTH clamps (14.5 and 8); bead/overlay Float32 buffers byte-identical to replica-built ones + sha-pinned; HUD === replica-built toFixed string + sha-pinned; final on-screen RMS ratio 10.9× at span 9.0
Settled physics
with SPAN_RATE patched to 0 on the executed class, the rope fixed point at S* sits 1.24e-2 (max node dev) from an INDEPENDENT cosh-free tension-polygon funicular — the offset IS the per-step gravity kick G·dt² = 6.8e-4: predicted ceilings kick·N = 3.27e-2 and kick/L0 = 2.00e-3 (measured link stretch 1.22e-3), and halving DT shrinks node dev ×3.991 and stretch ×3.996 vs the predicted 4; the funicular own N-ladder (48/96/192) has emergent q = 1.9998 and Richardson-lands on the 1691 transcendental law to 2.62e-10 with cosh appearing nowhere in it
Dynamics honesty
an instance with _measure noop-shadowed stays BIT-IDENTICAL for 600 ticks (the analytic scorer has no back-reaction on the rope); a V-shape init at S* converges to the SAME fixed point to 8.63e-14 (the small on-screen residual is FOUND by the dynamics, not inherited from the catenary-shaped boot placement); the executed Verlet+PBD region is scanned for cosh/sinh/asinh/_catY/_solveA/_parC with a planted-violation liveness self-test
Tampers
known_value→0.9: exit 1, A/A-prime/B/C/G/H/J fail with recovered 0.84550469771333 byte-identical while I/K/L/M stay green; module DAMP 0.99→0.985: exit 1, I/K/M fail while A–H stay green AND L stays green — the equilibrium is damping-independent, a physics consistency check for free; cert bead-sha flip: exit 1, only K fires

What it reduces to

The catenary (Jakob Bernoulli's challenge, Acta Eruditorum May 1690; solutions by Leibniz, Huygens, and Johann Bernoulli, Acta Eruditorum June 1691): a uniform flexible chain hangs in y = a·cosh(x/a) with L = 2a·sinh(S/2a), sag a(cosh(S/2a)−1), tension T = w·y above the directrix, and a = H/w = the vertex radius of curvature — not Galileo's parabola. It VALIDATES, not derives: the generator is a discretized potential-energy functional plus a GENERIC constrained-stationarity solver (a numerical direct method standing in for the calculus of variations, the same recipe as the brachistochrone one rung down the arc), and the cosh shape, a, the sag, the tension law, and scale-freeness are all measured OUTPUTS. Non-circularity: no cosh, no catenary equation, no transcendental solve, and no tension formula appear anywhere in the recovery path — the scoring block alone constructs them (tamper test: falsifying known_value flips exit to 1 with the recovered 0.845504697713 unchanged). The decisive control is historical: Galileo's 1638 parabola, hung with the same length, measurably carries more energy AND misses the shape by 5 orders of magnitude more than the cosh — with the near-taut limit reproducing exactly the regime that fooled him.

Module systematics

CLOSED by the honest-module certificate (gates I–M, this run — the derisk now EXECUTES the shipped module): the two law-fed elements previously only disclosed are now certified harmless. (1) The analytic overlay/a: the executed _solveA is bit-identical to the certified replica at 42 spans, and at the similar span S* its rescaled value meets the oracle known a to 1.31e-16 and the emergent no-cosh recovery to 5.53e-14 — the overlay is the SAME transcendental root the oracle validates, reached through scale similarity. (2) The catenary-shaped boot placement: a V-shape init converges to the same PBD fixed point to 8.63e-14, so the small residual is found, not inherited; and a noop-scorer instance proves the analytic block cannot steer the rope. The remaining on-screen systematics are now DECOMPOSED and predicted rather than only disclosed: at the settled probe the screen rmsCat/sag = 2.16e-3 = the PBD G·dt² fixed-point stretch (predicted ceiling kick/L0 = 2.0e-3 per link, offset ∝ dt² verified ×3.99) sitting on the exact 48-link discretization floor 1.57e-4 (funicular-vs-cosh, computed exactly); on the breathing screen a quasi-static lag rides on top (span rate 0.3/s), visible as the RMS varying with sweep direction — disclosed, not gated. The screen and the scorer are one machine: 4400 ticks bit-exact, buffers and HUD sha-pinned.

Confidence & reproduction

Confidence
high
Validation
derisk-pass
Re-run the check
npm run derisk -- catenary (scripts/catenary-derisk.mjs)
Oracle
scripts/oracles/catenary.reference.json

Sources

Jakob Bernoulli, Acta Eruditorum (May 1690) 217 — the challenge. G. W. Leibniz, 'De linea in quam flexile se pondere proprio curvat', Acta Eruditorum (June 1691) 277; C. Huygens, ibid. 281; Johann Bernoulli, ibid. 274. Galileo, Discorsi (1638), Second Day — the parabola claim falsified here (Huygens' 1646 letters to Mersenne already disproved it). E. J. Routh, A Treatise on Analytical Statics vol. 1 ch. X — T = w·y; E. H. Lockwood, A Book of Curves (CUP 1961) ch. 13.

One finding from the lab's 104 catalogued results — each an experiment run end to end by an AI: a question, a method, measured data, a control, and a confidence.