Is the lab's g(r) instrument — the radial distribution function it uses to ask what phase of matter an emergent Particle Life world forms — a calibrated ruler? Does it recover the known structure of the best-understood liquid in statistical mechanics, the hard-sphere fluid, from nothing but raw sampled configurations?
Units: dimensionless g(σ⁺) at η = 0.40 (ρσ³ = 0.7639437), Carnahan–Starling
▶ Run this simulationRead how it works
Pair correlation g(r) — the lab's structure ruler calibrated on the hard-sphere fluid AND the shipped instrument itself certified: the SAME toroidal pair-histogram ÷ ideal-gas-shell math the module points at Particle Life, fed raw Metropolis Monte Carlo whose ONLY physics is overlap rejection (no equation of state, no g(r) theory anywhere in the generator), reads the contact value ĝ(σ⁺) = 3.7009 ± 0.0108 at η = 0.40 vs Carnahan–Starling's (1 − η/2)/(1 − η)³ = 3.7037 (0.08%, 0.3 SE) — tracks the CS curve across η = 0.10 → 0.40 (max dev 1.6%, slope 0.9967, r 0.99990), reads exactly 1 on uncorrelated matter, and rejects BOTH exact Percus–Yevick routes in opposite directions (virial −10% below at 34 SE, compressibility +5% above at 17 SE) — resolving the classic PY thermodynamic inconsistency where the near-exact interpolation says it must; the module's coarse-bin scheme is mirrored bin-exactly (0.04%) and its systematic quantified: the on-screen tallest-bin peakG under-reads contact by ~30% and biases the bond length ~7% outward at this bin-width-to-slope ratio — pure bin-width convolution, disclosed. HONEST-MODULE: the shipped PairCorrelationModule.ts + ParticleLifeModule.ts are sha-pinned, type-stripped and EXECUTED headlessly from the seed-7 default boot in a 2400-call fl(1/120) engine-protocol lockstep — histogram, g(r), analysis, status panel and SVG chart all bit/byte-exact vs an independent replica, first run — so the default screen's 'peak g(r) 21.39 · phase-separated · dense droplets + gas' is a certified output of the certified code; and the same shipped estimator driven over the oracle's own seed-101 hard-sphere stream reproduces the validated coarse mirror to 1.2e-15 and labels the reference fluid 'liquid-like · short-range order' — the instrument, executed, reads the best-understood liquid in statistical mechanics AS a liquid
Raw Metropolis MC of 512 hard spheres (σ = 1) in a periodic cube from a simple-cubic start, cell-list overlap test — the ONLY accept/reject rule is 'no two centres closer than σ'; no EOS, no closure, no CS/PY form appears in generation or estimation. The estimator is the module's own math: toroidal pair histogram normalized bin-by-bin by the ideal-gas shell expectation N·ρ·(4π/3)(r₂³−r₁³), here on fine 0.005σ bins over [σ, 1.20σ], with a least-squares quadratic in (r̄_b − σ) over [σ, 1.10σ] (volume-weighted bin radii) extrapolated to contact. 6 seeds × 300 samples at η = 0.40 with half-split drift check; 4-point η-sweep (3 seeds each); ideal-gas Poisson control through the identical machinery; both PY routes as quantitative rivals; and a mirror of PairCorrelationModule's coarse binning (60 bins over 0.95·L/2 from r = 0) accumulated from the same pair stream and gated against the fine truth block-averaged. Honest-module certificate (gates L–P): both shipped modules sha-pinned + mechanically type-stripped + executed under src/core/Engine.ts's own protocol (1 fixedUpdate + 1 render per call at fl(1/120), elapsed by repeated addition) from the seed-7 default boot for 2400 calls against an independently written replica — bit/byte-equality of PL state (899 sim steps, census {0:1501,1:899}), all 34 pair-histogram snapshots, every g(r) recompute, latest{peakR,peakG,shells,phase}, 23 status-panel writes and 40 SVG chart writes; seed-8 twin moves every displayed digit; dt twins prove the budget-3 clamp + overflow reset live; closure drives the executed _snapshot/_computeGr/_analyse over the oracle's seed-101 MC stream against the validated coarse mirror. 16 gates in scripts/paircorr-derisk.mjs (~11 s); tamper ⇒ exit 1 (sha → L only; pair-symmetric PL force tamper → lockstep call 3 with ALL physics gates green; g(r)-normalization tamper → lockstep + closure; known ±0.1 → the 2 scoring gates, both directions, recovery unchanged). ?world=paircorr.
0.0108
0.0126
6
0.0013
The radial distribution function of statistical mechanics and the hard-sphere contact-value theorem Z = 1 + 4η·g(σ): recovering g_CS(σ) = (1 − η/2)/(1 − η)³ (Carnahan & Starling 1969) from raw overlap-rejection MC. Non-circular: the generator codes only 'reject overlaps', the estimator codes only the ideal-gas shell expectation, and the CS/PY closed forms are loaded from the reference exclusively to score; the certificate's lockstep never sees the known value. Scope honestly stated: the oracle validates the INSTRUMENT on a citable reference fluid and quantifies its binning systematic; the certificate proves the SHIPPED code — estimator, substrate, screen — is bit-exactly the thing so validated (executed headlessly, no browser needed after all), including driving the shipped estimator over the oracle's own configurations. What remains an investigation is the Particle Life g(r) VALUE itself (peak 21.39, phase-separated at seed 7): an emergent world has no citable known value to score it against — the certified claim is that this number is the true output of a calibrated, disclosed-bias instrument reading the true substrate.
npm run derisk -- paircorr (scripts/paircorr-derisk.mjs — 16 gates: contact scalar (mean/worst-seed/half-split), 5-point CS sweep (point + slope + r + monotone), ideal-gas control (contact + flatness), PY-virial and PY-compressibility rivals, module-binning mirror; plus the honest-module certificate L–P (sha pins + strip + RNG/answer-freedom census + executed fallback, executed init, 2400-call lockstep, display reconciliation + seed-motion twin, closure on the oracle's stream + dt twins); ~11 s, exit non-zero on any miss)scripts/oracles/paircorr.reference.jsonN. F. Carnahan & K. E. Starling, J. Chem. Phys. 51, 635 (1969); M. S. Wertheim, Phys. Rev. Lett. 10, 321 (1963); E. Thiele, J. Chem. Phys. 39, 474 (1963); J. A. Barker & D. Henderson, Rev. Mod. Phys. 48, 587 (1976); J. Kolafa, S. Labík & A. Malijevský, Phys. Chem. Chem. Phys. 6, 2335 (2004); N. Metropolis et al., J. Chem. Phys. 21, 1087 (1953)