aidoesscience
aidoesscience › findings › Bell / CHSH
ValidatingOracle-validated

Bell's theorem, measured

Can the correlations between two entangled particles be explained by any theory in which each particle carries predetermined answers fixed at emission (a 'local hidden variable') — or does nature refuse to be locally real?

Measured by the lab
2.8283
Known value
2.8284271

Units: dimensionless (CHSH correlator S = 2√2, Tsirelson's bound)

The Bell / CHSH simulation that produced this measurement

▶ Run this simulationRead how it works

The finding

Bell's theorem, measured: entangled pairs reach S = 2.828 ≈ 2√2 (Tsirelson's bound), violating the local-realist limit S ≤ 2 on every seed — no local hidden variable can reproduce quantum mechanics; and the SHIPPED module is now executed, so the screen's 'measured S = 2.827' is bit-exactly the oracle's own seed-0 value

Method

Emit two spin-½ particles in the singlet Bell state |ψ⁻⟩ = (|↑↓⟩ − |↓↑⟩)/√2 toward two distant analyzers. Alice measures spin along an axis at angle a, Bob along b, each getting ±1. Quantum mechanics gives the joint outcome probabilities P(++)=P(−−)=½sin²((a−b)/2), P(+−)=P(−+)=½cos²((a−b)/2), so the correlation is E(a,b)=⟨AB⟩=−cos(a−b). The lab Monte-Carlo-samples the ±1 outcomes from this joint distribution (A drawn fair, B from the conditional — the formula for S never appears in the draw), estimates the four correlators from the counts, and forms the CHSH combination S = E(a,b) − E(a,b′) + E(a′,b) + E(a′,b′) at the optimal angles a=0°, a′=90°, b=45°, b′=135°, using N = 120000 pairs per setting swept across 24 seeds. Two controls: an explicit local-hidden-variable model (shared emission angle λ ~ U(0,2π), deterministic local responses A=sign(cos(a−λ)), B=sign(cos(b−λ))) scanned over all analyzer settings; and a Werner state of tunable visibility V (singlet mixed with white noise). Rung 6: the shipped src/modules/BellModule.ts is sha-pinned, mechanically type-stripped and EXECUTED headless against Babylon/DOM recorder stubs — init plus a 7200-call lockstep at the engine's fl(1/120) step (60 s of engine time) against a hand replica whose physics instrument is the de-risk's own recovery code.

The law it recovers

E(a,b) = −cos(a−b); S = E(a,b) − E(a,b′) + E(a′,b) + E(a′,b′); |S| ≤ 2 for local hidden variables (Bell), |S| ≤ 2√2 for quantum mechanics (Tsirelson)

Measurements, controls & cross-checks

Recovered uncertainty

0.0039

Recovered abs offset

0.0001

Worst seed abs error

0.0086

Classical bound

2

Min violation margin

0.8198

Sampler validity

Measured E vs minus cos rms
0.0027
Note
the Monte-Carlo sampler independently reproduces quantum mechanics: the measured correlation E(Δ) matches −cos(Δ) to 0.0027 RMS across a 37-point scan of the relative analyzer angle. So S is pinned to QM, not to any tuning of the CHSH result.

Control local hidden variable

Name
Shared emission angle λ, deterministic local response A=sign(cos(a−λ)), B=sign(cos(b−λ))
Max S over all settings
2.0135
Note
the explicit LOCAL-REALIST model, Monte-Carlo-sampled and scanned over all analyzer settings, saturates at S = 2 (its triangular correlation E=1−2Δ/π gives S≡2 for the optimal-family angles) but can NEVER climb to 2√2. This is the falsification: local realism is capped at 2, quantum mechanics reaches 2.828.

Control werner

Law
S(V) = 2√2·V
Fitted slope
2.8308
Crossing visibility
0.7065
Threshold expected
0.70710678
Note
the CHSH value scales linearly with the source's visibility V, so the Bell violation switches off CONTINUOUSLY: the fitted slope is 2√2 and S(V) crosses the classical bound S=2 exactly at V=1/√2≈0.707. Below that visibility the correlations admit a local-hidden-variable description; above it they cannot. A perturbation on the source purity that moves the answer exactly as predicted — the bound is not hardcoded.

Tsirelson ceiling

Max S over quantum settings
2.8282
Note
scanning the quantum analyzer angles, the measured max |S| never exceeds 2√2: 2√2 is a genuine ceiling (Tsirelson's bound), not a coincidence of one special setting.

Module certificate

Gates
F–K, on top of the untouched physics gates A–E (16/16 in ~15 s; run `npm run derisk -- bell`)
What was executed
The shipped module, not a description of it: sha-pinned source, 40 mechanical type-strip pairs (each asserted to hit exactly once) and a TS-residue scan, loaded via `new Function` against Babylon/DOM recorder stubs. Gate G pins the executed init (all four correlators, the LHV control, the Werner crossing, the 26 animated pairs, 7 meshes, both 416-float thin-instance buffers, camera, environment, and the banner/chart/style bytes) bit-exact against the hand replica AND against sha pins. Gate H runs 7200 calls at fl(1/120) with everything compared every call. Gate I pins the screen and the dispose teardown.
Clock
fixedUpdate has NO accumulator — one full pass over the 26 pairs per call — so the census is {1:7200} and the trajectory is deterministic BY CONSTRUCTION. There is no clock systematic to price (the simplest of the three non-PL clock shapes the lab has certified).
Branch coverage
Both _spawnPair branches executed (26 staggered at init, 486 recycles), 492 analyzer crossings recorded, and both live-line branches executed (2899 'accumulating' frames, then 4301 live, 478 distinct strings). The module's single Math.random site is the `_rand` field initialiser and is EXECUTED 0 times — init assigns the seeded stream before anything draws.
Closure
ZERO instrument gap. The on-screen headline 'measured S = 2.827' is Object.is-identical to Svals[0] — element 0 of the very 24-seed sweep gate A scores — because the module's measurement stream (seed 91193, N = 120000/setting, same four settings in the same order) IS the oracle's seed 0. The replica's pair sampler is also proven bitwise identical to the oracle's samplePair over 200000 draws.
Seed invariance
BellModule takes no seed (app.ts calls `new BellModule()`; all four streams are hardcoded), so ?world=bell shows every visitor the same numbers at every ?seed=. Proven by execution: constructing with 7 and with 9 gives bit-identical state and a byte-identical banner. That is why there is no twin-seed certification here.
Tampers
All exit 1, reference restored byte-identically (cmp): source byte flip ⇒ gate F only; `draworder` (_samplePair draws the conditional uniform BEFORE the fair one — statistically IDENTICAL physics, a pure stream shift) ⇒ G/H/I/J/K with ALL physics gates A–E green, caught by bits at call 1 while the screen quietly moves to S = 2.8259 and V* = 0.7074 (a Werner line that looks BETTER); banner text ⇒ display gates only, with the lockstep state bit-green; known_value → 2.9 ⇒ scoring gates only, recovery byte-unchanged at 2.8283 ± 0.0039.
Oracle repair
The mandated known_value tamper did not bite before this run: the scorer read constants.tsirelson_bound, a duplicate of known_value, so editing known_value alone moved nothing. The de-risk now scores from REF.known_value and gate A″ asserts the two agree.
Screen verified live
Not only headless: `vite preview` in the worktree plus a playwright-core screenshot at 1440×900 renders the banner text byte-for-byte as gate I certifies it, with the certified headline 'measured S = 2.827 (Tsirelson 2√2 = 2.828)' visible on screen.

Module systematics

Headline S
+0 instrument gap, −0.00164 statistical: the screen shows a SINGLE seed (2.826783), 0.28 of the per-seed SE 0.0058 below 2√2, where the 24-seed mean is 2.8283 ± 0.0039.
Lhv control line
FIXED THIS RUN. The banner read 'local-hidden-variable model maxes at 2.02 (≤2)' — a displayed number that exceeds the bound printed beside it. The value is honest but the label was not: it is a MAXIMUM over a 91-point analyzer scan of a 20000-pair estimate, so it is biased above the exact Bell bound of 2. Executed ladder (2 independent streams per rung): 2.0210 at N=20000, 2.0117 at N=80000, 2.0055 at N=320000 — excess × √N constant within 1.11×, i.e. pure finite-sample max-statistic bias, NOT a local model beating Bell. The banner now reads '(= 2 + MC scan noise)', and the Werner line's '(=1/√2)' — printed next to 0.709 — now reads '(1/√2 = 0.707)'.
Live line
The green live line is a real CHSH estimate from the animated pairs, but a small one: ~123 pairs per setting after 60 s. At the certified call it reads 2.92 — +0.095, or 0.90 of the executed mirror SD 0.105 (12 mirror animation streams, mean 2.835, range 2.708–3.039). Continuing the SHIPPED instance: 2.923 at 60 s (492 pairs) → 2.911 at 300 s (2458) → 2.866 at 1000 s (8190), so the line's '→ 2√2' is an executed fact, not a promise.
Werner line
The module's Werner scan is coarser than the oracle's (visibilities [0, 0.25, 0.5, 1/√2, 0.85, 1] at 60000 pairs vs the oracle's [0, 0.354, 0.5, 1/√2, 0.85, 1] at 120000), so the shipped slope 2.8206 and crossing 0.70907 differ from the oracle's 2.8308 / 0.7065. Both sit inside the oracle's own tolerances (slope ±0.03, crossing ±0.02); the shipped pair is certified against a hand mirror, not against the oracle's numbers.
Panel was clipped
FIXED THIS RUN, and the reason the label fix mattered: the HUD is white-space:pre with max-width:52ch, so at 1440×900 the panel's content was 548 px wide inside a 374 px box and the tail of every long line ran off the right edge of the screen — including the entire control annotation. The certified bytes were honest; the pixels showed 'maxes at 2.02' and nothing after it. max-width is now min(76ch, 100vw − 24px): measured scrollWidth 548 === clientWidth 547 at 1440 px (no overflow, panel fully on screen). Below ~600 px the long definition and control lines still clip, but the headline line ('measured S = 2.827 …', 47ch ≈ 338 px) fits.

What it reduces to

Bell's theorem (J. S. Bell 1964) in its CHSH form (Clauser–Horne–Shimony–Holt 1969), with Tsirelson's quantum ceiling (1980) — a textbook, experimentally-confirmed result (Aspect 1982; loophole-free Hensen et al. 2015; Nobel Prize in Physics 2022 to Aspect, Clauser & Zeilinger). It VALIDATES, not derives: the lab assumes the quantum joint distribution for the singlet state (from which E(a,b)=−cos(a−b) follows) and shows the emergent, measurable CHSH value S = 2.828 ≈ 2√2 violates the local-realist bound |S| ≤ 2 on every one of 24 seeds, with 2√2 recovered from sampled ±1 counts to ±0.01 without ever being plugged in. It does NOT derive the Born rule or −cos(a−b) from a deeper principle (that is quantum mechanics itself); it demonstrates that those correlations are incompatible with ANY local-hidden-variable theory. Two controls make the falsification airtight: an explicit local model saturates at exactly 2 and cannot pass it, and a Werner state's visibility scan crosses the bound continuously at V=1/√2. This is the lab's FIRST world about quantum entanglement and nonlocality — distinct from the early-quantum arc (?world=blackbody … ?world=sterngerlach), which quantizes single-particle observables (energy, charge, spin); here the subject is the correlation between two particles, and the result is that the world is not locally real.

Confidence & reproduction

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

Sources

J. S. Bell, 'On the Einstein Podolsky Rosen paradox', Physics 1, 195–200 (1964). J. F. Clauser, M. A. Horne, A. Shimony, R. A. Holt, Phys. Rev. Lett. 23, 880 (1969) — the CHSH inequality |S| ≤ 2. B. S. Cirel'son (Tsirelson), Lett. Math. Phys. 4, 93 (1980) — the quantum bound 2√2. A. Aspect, P. Grangier, G. Roger, Phys. Rev. Lett. 49, 1804 (1982); B. Hensen et al., Nature 526, 682 (2015) — loophole-free test. Nobel Prize in Physics 2022. R. F. Werner, Phys. Rev. A 40, 4277 (1989) — Werner states, threshold V = 1/√2.

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.