# VMS AUDIT SHEETS — FULL SET (150 sheets: M1-M37, E1-E38, P1-P38, T1-T37)
*Template: rev 5 (locked 2026-09-01). Companion files: FILE_A_PREDICTIONS.md (same math,
condensed), FILE_B_EXPERIMENTAL_COMPARISON.md (measured values + sources — the only place
experimental numbers live), cas_v2/ (executable base-formula suite), verify/ (one runnable
snippet per sheet + master runner).*

One sheet per prediction, written reviewer-first: each opens with the problem in plain
language and its history, states a neutral target, then solves it twice — the VMS route
machinery and the classical route — to the same governing equation and number. All numbers
are computed live from the constants file; NO experimental values appear on any sheet
(measured values, sources, deviations: FILE B, matching row IDs).

## PRIMER (read once; sheets cite these by tag)

VMS primitives, operationally defined — ontological interpretation is deferred to the
corpus narrative documents; nothing below is needed beyond its operational content:

  P1  ROUTE & COST. A route is a candidate path; its cost is the display-area action
      S = Int A_d ds, where A_d is the transverse area the advancing front hides per step.
      (P1n: light = the advancing front itself, propagating at invariant speed c — axiom A2.)
  P2  STATIONARITY. The realized route makes accumulated cost stationary
      ("cleaner route wins") — the single dynamical principle; Euler-Lagrange machinery follows.
  P3  CLOSURE. A route that feeds back into itself is a closure — matter. Closure condition:
      S_loop/S0 = 2*pi*n with the single scale lock S0 = hbar.
  P4  MISSING-SPACE PROFILE. A closure imprints a far-field deficit on space; weak-field
      form Phi(r) = -GM/r, entering route cost via the map n(x) = 1 + 2|Phi|/c^2
      (the factor 2 - time-depth + space-curvature parts acting equally - is locked).
  P5  CLOCK DEPTH. A clock is a small closure; its tick rate is depth-dependent:
      dtau = (1 + Phi/c^2) dt.
  P6  CIRCULATION SLOWDOWN. A translating closure's internal circulation slows by the
      dispersion factor gamma (F0003) - one mechanism behind 'time dilation'.
  P7  FRAME CLOSURE. Orientation frames transported around closed paths need not return
      to themselves; in a profile, transport misses closure by a depth-dependent angle
      (the machinery that also yields half-integer spin, PM SS1.5).

INPUT PROVENANCE TAGS:  [LOCKED] SI-exact or framework scale lock, never tuned.
[MEASURED] experimentally determined input (source named). [DERIVED] computed on-sheet
from other rows. [STANDARD] conventional/reference value.


RUN-IT-YOURSELF LAYER (v5): every sheet embeds a self-contained SymPy snippet — base-formula
provenance in header comments, symbolic verification of the sheet-level steps, numeric
prediction with a self-consistency assert. Identical copies live in verify/ with a master
runner (`python3 run_all_sheets.py`; current status: 150/150 PASS). Snippets import nothing
but sympy and contain no experimental values.

VERIFICATION LAYERS (each sheet, in this order): (1) the sheet's own snippet - run it;
(2) CAS suite v2 - executable SymPy blocks (THREAD_29_MATH_AUDIT/cas_v2/; `python3
run_master.py`; v2 = the 2026-09-01 patched suite with true global closure); steps no CAS
block covers are verified in the sheet snippet and flagged as suite-extension candidates -
visible gaps, not silent ones; (3) complete proofs - corpus documents (Mathematical Bridge
Math Appendix; pillar Math Appendices; Observer Lemma; loader2 2026-5-07 line ranges);
(4) experiment - FILE B only, matching row IDs.

## INDEX

**MECHANICS / GRAVITY (M1-M37)**
- **M1** Perihelion Precession of Mercury — 42.99 arcsec/century
- **M2** Light Deflection at the Solar Limb — 1.7516 arcsec
- **M3** Shapiro Delay: Earth-Mars Ranging at Superior Conjunction — 247.3 microseconds (two-way, b = R_sun)
- **M4** Gravitational Frequency Shift over 22.5 m (Pound-Rebka-Snider) — 2.455e-15 (fractional)
- **M5** Net Daily Clock Offset of a GPS Satellite — +38.5 microseconds/day
- **M6** Geodetic Precession of an Orbiting Gyroscope (Gravity Probe B) — 6604 milliarcsec/yr (geodetic)
- **M7** Geostationary Orbit Radius — 42164 km (35786 km altitude)
- **M8** Sidereal Period of the Moon — 27.285 days
- **M9** Earth Escape Speed — 11.19 km/s
- **M10** Solar Gravitational Redshift Observed at 1 AU — 633.5 m/s (equivalent velocity)
- **M11** ISS Orbital Speed and Period — 92.8 minutes at 7.66 km/s
- **M12** Periastron Advance of the Hulse-Taylor Binary Pulsar — 4.227 degrees/yr
- **M13** Foucault Pendulum in Paris — 11.33 deg/hr
- **M14** Period of a One-Metre Pendulum — 2.0064 s
- **M15** Orbital Period of Io — 1.769 days
- **M25** Orbital Period of Titan — 15.948 days
- **M34** Orbital Period of Europa — 3.550 days
- **M16** Period of Halley's Comet — 75.3 years
- **M17** Earth's Mean Orbital Speed — 29.78 km/s
- **M18** Sun-Earth L1 Distance — 1.4964 x10^9 m
- **M19** Eastward Deflection of a Dropped Mass (Reich 1831) — 27.4 mm
- **M20** Schwarzschild Precession of Star S2 — 12.0 arcmin/orbit
- **M21** Speed of Gravitational Waves — 0 (exactly); observed bound |dv/c| < 3e-15
- **M22** Lunar Escape Speed — 2.38 km/s
- **M23** Orbital Period of Charon — 6.387 days
- **M24** Weighing the Sun from the Year — 1.9884 x10^30 kg
- **M26** Light Bending at Jupiter's Limb — 16.27 mas
- **M27** Cassini Conjunction Test: the Route-Bending Coefficient — gamma = 1 (exactly)
- **M28** Free-Air Gravity Gradient — 0.3083 mGal/m
- **M29** Orbital Decay of PSR B1913+16 — -2.403 x10^-12 s/s
- **M30** The Eotvos Effect — 145.8 mGal
- **M31** Length of the Sidereal Year — 365.26 days
- **M32** De Sitter Precession of the Lunar Orbit — 19.19 mas/yr
- **M33** Gravity at ISS Altitude — 8.643 m/s^2
- **M35** Period of Neptune — 164.9 years
- **M36** Earth's Equatorial Rotation Speed — 465.1 m/s
- **M37** Solar Escape Speed at Earth's Orbit — 42.12 km/s

**EM / OPTICS (E1-E38)**
- **E1** The Fine-Structure Constant from the Locked Set — 1/alpha = 137.0359990
- **E2** The Rydberg Constant — 1.097373e+07 1/m
- **E3** Lyman-Alpha Wavelength — 121.5684 nm
- **E4** The Balmer Ratio 27/20 — 1.350000 (exact)
- **E5** The 21 cm Line of Hydrogen — 1421.2 MHz
- **E6** The Thomson Cross-Section — 6.65246 x10^-29 m^2
- **E7** The Classical Electron Radius — 2.8179 fm
- **E8** Electron Cyclotron Frequency at 1 Tesla — 1.758820e+11 rad/s
- **E9** The Bohr Magneton — 9.274010e-24 J/T
- **E10** Brewster's Angle for Water — 53.12 degrees
- **E11** Critical Angle of Diamond — 24.44 degrees
- **E12** Hubble's Diffraction Limit — 0.0577 arcsec
- **E13** The Vacuum Speed Identity — 299792458.000 m/s
- **E14** Why the Sky Is Blue: the 1/lambda^4 Ratio — 9.38 (ratio)
- **E15** Malus's Law at 30 Degrees — 0.7500 (exact 3/4)
- **E16** Young's Double Slit — 2.531 mm
- **E17** Grating Angle for Sodium Light — 20.71 degrees
- **E18** Bragg Reflection from Rock Salt — 15.85 degrees
- **E19** Moseley's Law: Molybdenum K-Alpha — 72.28 pm
- **E20** Moseley's Law: Copper K-Alpha — 154.98 pm
- **E21** The Balmer Series Limit — 364.71 nm
- **E22** Paschen-Alpha in the Infrared — 1875.6 nm
- **E23** Ionized Helium's Lyman-Alpha — 30.3797 nm
- **E24** Positronium's 1S-2S Interval — 1233.691 THz
- **E25** The Speed of Light in Water — 2.2490 x10^8 m/s
- **E26** The Half-Wave Dipole at 100 MHz — 1.499 m
- **E27** Skin Depth of Copper at 60 Hz — 8.42 mm
- **E28** The Calculable Capacitor — 8.8542 nF
- **E29** Field of a Solenoid — 1.2566 mT
- **E30** The Impedance of Free Space — 376.730 ohm
- **E31** Proton Cyclotron Frequency at 1 Tesla — 15.245 MHz
- **E32** Proton NMR Frequency at 1 Tesla — 42.577 MHz
- **E33** The Faraday Constant — 96485.332 C/mol
- **E34** Silver Deposited in One Ampere-Hour — 4.0247 g
- **E35** Ives-Stilwell: the Quadratic Doppler Coefficient — 1/2 (exact)
- **E36** Michelson-Morley: the Null — 0 (exactly)
- **E37** The Aberration of Starlight — 20.493 arcsec
- **E38** The Wettzell Ring Laser Hears the Earth Turn — 348.5 Hz

**PARTICLE / QUANTUM (P1-P38)**
- **P1** De Broglie Wavelength of a 100 eV Electron — 0.1226 nm
- **P2** The Compton Shift at 90 Degrees — 2.4263 pm
- **P3** The Photoelectric Slope h/e — 4.1357 x10^-15 V s
- **P4** Hydrogen 2p Fine Structure — 10.949 GHz
- **P5** The Hydrogen Ionization Energy — 13.5983 eV
- **P6** Positronium Binding Energy — 6.8028 eV
- **P7** Muonic Hydrogen K-Alpha Energy — 1.896 keV
- **P8** The H-D Isotope Shift of H-Alpha — 0.1786 nm
- **P9** Electron Spin Resonance at 1 Tesla — 28.025 GHz
- **P10** Muon Lifetime in the Storage Ring — 64.37 microseconds
- **P11** The Thermal Neutron Wavelength — 0.1798 nm
- **P12** Fe-56 Binding Energy per Nucleon — 8.760 MeV
- **P13** Pb-208 Binding Energy per Nucleon — 7.810 MeV
- **P14** The He+ Ionization Energy — 54.415 eV
- **P15** Electron Wavelength in a 300 kV Microscope — 1.969 pm
- **P16** The Alpha-Decay Ratio Po-210 / Po-212 — 13.65 (log10 of ratio)
- **P17** The Franck-Hertz Voltage Period — 4.888 eV
- **P18** STM Current Decay per Angstrom — 8.79 (factor per 0.1 nm)
- **P19** The Annihilation Photon Energy — 510.999 keV
- **P20** The Deuteron Binding Energy — 2.2246 MeV
- **P21** The LHC Proton's Speed Shortfall — 3.123 m/s
- **P22** The Pair-Production Threshold — 1.0220 MeV
- **P23** Radiation Force per Watt — 3.3356 nN/W
- **P24** The Neutron-Proton Mass Difference — 1.2933 MeV
- **P25** The Hydrogen 1S-2S Frequency — 2466.038 THz
- **P26** The Deuterium Hyperfine Frequency — 327.2 MHz
- **P27** The Muonium Hyperfine Frequency — 4466.3 MHz
- **P28** Sn-120 Binding Energy per Nucleon — 8.488 MeV
- **P29** U-238 Binding Energy per Nucleon — 7.581 MeV
- **P30** The Most Stable Z at A = 100 — Z* = 43.0
- **P31** The D-T Fusion Energy Release — 17.589 MeV
- **P32** The Compton Edge of Cs-137 — 477.3 keV
- **P33** The Duane-Hunt Limit at 30 kV — 41.33 pm
- **P34** The Speed of a 1 MeV Electron — beta = 0.9411
- **P35** The C60 De Broglie Wavelength — 2.64 pm
- **P36** He+ 2p Fine Structure — 175.19 GHz
- **P37** The Nuclear Radius Ratio Pb-208 / Fe-56 — 1.549 (ratio)
- **P38** The Ra-226 Alpha-Decay Energy — 4.872 MeV

**THERMODYNAMICS (T1-T37)**
- **T1** The Speed of Sound in Air — 343.2 m/s
- **T2** The Molar Volume at STP — 22.4140 L/mol
- **T3** The Stefan-Boltzmann Constant — 5.6703744 x10^-8 W m^-2 K^-4
- **T4** The Total Solar Irradiance — 1361.2 W/m^2
- **T5** The Wien Peak of Sunlight — 502.0 nm
- **T6** The CMB Spectral Peak (Wavelength) — 1.0632 mm
- **T7** The RMS Speed of Nitrogen at 300 K — 516.8 m/s
- **T8** The Mean Free Path of Nitrogen — 67.2 nm
- **T9** Johnson-Nyquist Noise of a Resistor — 0.407 microvolts
- **T10** Stokes-Einstein Diffusion of a Micron Sphere — 4.286 x10^-13 m^2/s
- **T11** The Dulong-Petit Heat Capacity — 24.94 J/(mol K)
- **T12** The Clausius-Clapeyron Slope at 100 C — 3.619 kPa/K
- **T13** The Maxwell Peak-to-RMS Speed Ratio — 0.8165 (ratio)
- **T14** The Atmospheric Scale Height — 8.43 km
- **T15** The Speed of Sound in Helium — 1007 m/s
- **T16** The Speed of Sound in Water — 1488 m/s
- **T17** The Monatomic Conduction Ratio — 2.50 (ratio)
- **T18** The Graham Enrichment Factor for UF6 — 1.00430 (factor)
- **T19** Van't Hoff Osmotic Pressure — 2.479 kPa
- **T20** The Cryoscopic Constant of Water — 1.860 K kg/mol
- **T21** The Ebullioscopic Constant of Water — 0.5129 K kg/mol
- **T22** The Radiative Output of a Human Body — 140 W
- **T23** The CMB Energy Density — 4.175 x10^-14 J/m^3
- **T24** The CMB Photon Number Density — 410.7 per cm^3
- **T25** The Diesel Compression Temperature — 994 K
- **T26** The Adiabatic Index of Argon — 1.6667 (gamma)
- **T27** The Adiabatic Index of Nitrogen — 1.4000 (gamma)
- **T28** The Mercury Barometer Height — 760.0 mm
- **T29** The Entropy of Vaporizing Benzene — 87.0 J/(mol K)
- **T30** Gas Expansivity at 0 C — 3.6610 x10^-3 /K
- **T31** The CMB Spectral Peak (Frequency) — 160.2 GHz
- **T32** The Solar Luminosity — 3.828 x10^26 W
- **T33** The Loschmidt Number — 2.6868 x10^25 /m^3
- **T34** The Thermal Jitter of an AFM Cantilever — 0.204 nm
- **T35** The Speed of Sound in Argon — 319 m/s
- **T36** The Molar Heat Capacity of Argon — 12.47 J/(mol K)
- **T37** Water Vapor Pressure at 25 C — 3.136 kPa (%-level band declared)


---

# MECHANICS / GRAVITY (M1-M37)

---

## AUDIT SHEET M1 — Perihelion Precession of Mercury

> **At a glance** — Predicted: **42.99 arcsec/century** · Verify: `python3 verify/M1_verify.py` · CAS: f0001, f0002 PASS; drift step verified in snippet · Experiment: FILE B row M1

**The problem.** In 1859 Le Verrier — the man who had discovered Neptune from Uranus's wobbles — reported that after subtracting every planetary perturbation, Mercury's perihelion still crept forward by an unexplained ~38 (later refined to ~43) arcseconds per century. A hypothetical inner planet, 'Vulcan', was hunted for fifty years and never found. Einstein's first triumph of general relativity (1915) was computing this number from theory. The task here: compute it from the VMS route machinery.

**Target.** The anomalous perihelion advance of Mercury, in arcseconds per century.

**Inputs & provenance.**
```
Symbol   meaning                          value            units
G        gravitational cost constant      6.67430e-11      m^3 kg^-1 s^-2  [MEASURED - CODATA; acceptance-locked, never tuned]
M        solar mass                       1.98892e+30      kg              [MEASURED - ephemeris]
a        semi-major axis of Mercury       5.7909e+10       m               [MEASURED]
e        eccentricity                     0.20563          --              [MEASURED]
T        orbital period                   87.9691          days            [MEASURED]
l        route circulation                l^2 = GMa(1-e^2) = 7.3622e+30  m^4/s^2  [DERIVED - on-sheet, step 3]
```

**VMS solution.**  *Primitives used: P1-P4 — defined once in the Primer.*
```
1. PROFILE. The Sun's stationary loop hides transverse area; with finite space tension (A2)
   the deficit spreads with an inverse-square radial profile => Phi(r) = -GM/r and cost map
   n = 1 + 2|Phi|/c^2.
2. ROUTE STATIONARITY. A planet's route extremizes accumulated cost. In the weak-field map the
   route Lagrangian per unit mass is L = (1/2)(rdot^2 + r^2 phidot^2) + GM/r + (route-cost
   curvature correction, step 5).
3. CIRCULATION. The profile is rotationally symmetric => the route conserves circulation
   l = r^2 phidot (Noether). Numerically l^2 = GMa(1-e^2) = 7.3622e+30 m^4/s^2.
4. BINET FORM. Substitute u = 1/r and d/dt = l u^2 d/dphi (so rdot = -l du/dphi). The radial
   stationarity equation becomes    u'' + u = GM/l^2    - a closed ellipse, zero drift.
5. NEXT-ORDER COST. Expanding route cost in the full map to first order beyond Newton adds the
   curvature term -(GM l^2/c^2) u^3 to the effective potential, i.e.
      u'' + u = GM/l^2 + (3GM/c^2) u^2.
6. PERTURBATION. Try u = (GM/l^2)[1 + e cos(k phi)]. Substituting and keeping first order in
   the small parameter 3(GM)^2/(l^2 c^2):
      k^2 = 1 - 6(GM)^2/(l^2 c^2)   =>   k = 1 - 3(GM)^2/(l^2 c^2) = 1 - 3GM/(a(1-e^2)c^2).
7. CLOSURE MISS. Perihelion recurs at phi = 2pi/k = 2pi[1 + 3GM/(a(1-e^2)c^2)], so each orbit
   overshoots closure by
      dpsi = 6 pi G M / (a (1-e^2) c^2).
8. NUMBERS. dpsi = 6pi x 6.67430e-11 x 1.98892e+30
                  / (5.7909e+10 x 0.95772 x 8.98755e+16)
        = 5.0200e-07 rad/orbit = 0.1035 arcsec/orbit.
9. RATE. Orbits/century = 36525/87.9691 = 415.20
   => drift = 0.1035 x 415.20 = 42.99 arcsec/century.
```

**Classical solution (same endpoint).**
```
1. GR: geodesics of the Schwarzschild metric; conserved E, L reduce the orbit to exactly the
   step-5 equation u'' + u = GM/L^2 + (3GM/c^2)u^2.
2. Same perturbation => 6piGM/(a(1-e^2)c^2) = 42.99 arcsec/cy.
3. Newtonian gravity: no u^2 term => zero anomalous drift (the historical puzzle).
```

**Structural difference.** Both reach the same Binet equation; VMS generates the u^2 term as route-cost curvature in the missing-space map (no field equations solved), GR from the metric. Equation and number identical; generative story different.

**Exclusions & validity.** Planetary perturbations (~530 arcsec/cy) are subtracted upstream in the 'anomalous' observable; solar J2 < 0.03 arcsec/cy declared negligible. Weak field: |2Phi/c^2| ~ 5e-8.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M1_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M1 — Perihelion precession of Mercury — run-it-yourself verification.
# BASE FORMULAS (provenance):
#   route stationarity -> Newton form : Atlas F0001; Mechanics_Math_Appendix SS1.1-1.4
#     (full derivation chain machine-checked in CAS suite v2, block f0001)
#   missing-space profile Phi=-GM/r   : Atlas F0002; Mathematical Bridge pp.11-17, SS8A
#     (ODE + BCs machine-checked in CAS suite v2, block f0002)
#   curvature term + closure drift    : Mechanics_Math_Appendix SS8 (verified HERE, part 2)
from sympy import symbols, sqrt, series, simplify, pi as PI, Rational

# -- Part 1: base-formula suite (optional, run from cas_v2/): python3 run_master.py

# -- Part 2: sheet-level symbolic checks (the steps the suite does not cover) --
GM, l, c2, u0, eps = symbols('GM l c2 u0 eps', positive=True)
# Linearize u'' + u = u0 + eps*u^2 about u0 (u = u0 + w):
#   w'' + (1 - 2*eps*u0)*w = eps*u0**2  => wavenumber k = sqrt(1 - 2*eps*u0), eps = 3GM/c^2
k = sqrt(1 - 2*eps*u0)
inv_k = series(1/k, eps, 0, 2).removeO()           # 1/k = 1 + eps*u0 + O(eps^2)
assert simplify(inv_k - (1 + eps*u0)) == 0, "linearized wavenumber expansion failed"
# Closure miss per orbit: dphi = 2*pi*(1/k - 1) = 2*pi*eps*u0, with eps=3*GM/c2, u0=GM/l^2
dphi = 2*PI*(inv_k - 1).subs([(eps, 3*GM/c2), (u0, GM/l**2)])
# Standard form via l^2 = GM*a*(1-e^2):
a, e = symbols('a e', positive=True)
dphi_std = 6*PI*GM/(a*(1-e**2)*c2)
assert simplify(dphi.subs(l**2, GM*a*(1-e**2)) - dphi_std) == 0, "closure-drift form failed"
print("symbolic: k-expansion PASS; dphi = 6*pi*GM/(a(1-e^2)c^2) PASS")

# -- Part 3: prediction from tagged inputs (NO experimental values used) --
G_  = 6.6743e-11;  M_ = 1.98892e+30;  a_ = 57909000000.0;  e_ = 0.20563;  T_d = 87.9691
c_  = 299792458.0
import math
dpsi = 6*math.pi*G_*M_/(a_*(1-e_**2)*c_**2)          # rad/orbit
arcsec_per_cy = dpsi*(180*3600/math.pi)*(36525.0/T_d)
EXPECTED = 42.9917
assert abs(arcsec_per_cy/EXPECTED - 1) < 5e-4, arcsec_per_cy
print(f"PREDICTED VALUE: {arcsec_per_cy:.2f} arcsec/century   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; drift step verified in snippet. (3) Complete proofs: Loop -> inertia -> 1/r^2 deficit -> two-loop force law: Mathematical Bridge - Math Appendix pp. 11-17 (Derivation Recipe 3, steps 1-6) and SS8A (Poisson closure). Variational route mechanics and Binet reduction: Mechanics_Math_Appendix SS1.1-1.4, SS2A (loader2 lines 3203-3247). Precession: Mechanics_Math_Appendix SS8 (loader2 lines 3291-3298). Atlas entries F0001/F0002 (loader2 lines 274-284). Verified in VMS_WALK_ALL_AUDIT.md and the vms-sympy-audit CAS suite (F0001, F0002 PASS). (4) Experiment: FILE B, row M1 — no experimental values on this sheet by design.

**PREDICTED VALUE: 42.99 arcsec/century**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M2 — Light Deflection at the Solar Limb

> **At a glance** — Predicted: **1.7516 arcsec** · Verify: `python3 verify/M2_verify.py` · CAS: f0002 PASS; ray integral in snippet · Experiment: FILE B row M2

**The problem.** Does gravity bend light? Soldner (1801) computed a Newtonian corpuscle deflection; Einstein first matched it (1911), then doubled it with full curvature (1915). Eddington's 1919 eclipse expedition made the doubled value world news. The factor of two between the naive and full answers is the whole test.

**Target.** The deflection angle of starlight grazing the solar limb (b = R_sun), in arcseconds.

**Inputs & provenance.**
```
Symbol   meaning                        value           units
GM       solar gravitational parameter  1.32746e+20     m^3/s^2 [MEASURED]
b        impact parameter (= R_sun)     6.9570e+08      m       [MEASURED]
c        invariant route speed          2.997925e+08     m/s     [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1, P4 (advancing front: P1n) — defined once in the Primer.*
```
1. COST MAP. n(r) = 1 + 2GM/(r c^2)  (kappa0 = 2: both profile parts act on a null route).
2. RAY EQUATION. A front's route obeys d/ds[n t] = grad n (eikonal form, Mech SS5); for small
   deflection take the perpendicular component along the straight zeroth-order path
   x = b, z in (-inf, inf), r = sqrt(b^2 + z^2).
3. TRANSVERSE GRADIENT. dn/dx |_(x=b) = -(2GM/c^2) b / r^3.
4. INTEGRATE. theta = Int |dn/dx| dz = (2GM b/c^2) Int dz/(b^2+z^2)^(3/2).
   The integral: Int_-inf^inf dz/(b^2+z^2)^(3/2) = [z/(b^2 sqrt(b^2+z^2))] = 2/b^2.
5. RESULT. theta = (2GM b/c^2)(2/b^2) = 4GM/(b c^2).
6. NUMBERS. theta = 4 x 1.32746e+20 / (6.9570e+08 x 8.98755e+16)
         = 8.4922e-06 rad = 1.7516 arcsec.
```

**Classical solution (same endpoint).**
```
1. GR: null geodesic in Schwarzschild to first order: theta = 4GM/(bc^2) = 1.7516 arcsec.
2. Newtonian corpuscle (Soldner 1801): only the time-depth half acts => 2GM/(bc^2)
   = 0.8758 arcsec. The factor 2 was the 1919 discriminator.
```

**Structural difference.** The doubling is a lock in both frameworks - GR: space curvature adds to time dilation; VMS: the profile's two parts cost a null route equally. A potential-only picture misses half.

**Exclusions & validity.** First order in GM/bc^2 (~2e-6); coronal refraction is frequency-dependent and removed in dual-band VLBI practice (declared excluded).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M2_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M2 — Light deflection at the solar limb.
# BASE FORMULAS: profile Phi=-GM/r (Atlas F0002; CAS v2 f0002);
#   ray/eikonal law d/ds[n t]=grad n : Mechanics_Math_Appendix SS5 (integral verified HERE).
from sympy import symbols, integrate, oo, sqrt, simplify

GM, b, c2, z = symbols('GM b c2 z', positive=True)
# Transverse kick along the straight path (kappa0=2 lock => prefactor 2GM/c^2):
from sympy import Rational
integrand = 2*GM/c2 * b/(b**2+z**2)**Rational(3,2)
theta = integrate(integrand, (z, -oo, oo))
assert simplify(theta - 4*GM/(b*c2)) == 0, theta
print("symbolic: Int 2GMb/c^2 (b^2+z^2)^-3/2 dz = 4GM/(b c^2) PASS")

G_ = 6.6743e-11; M_ = 1.98892e+30; b_ = 695700000.0; c_ = 299792458.0
import math
th = 4*G_*M_/(b_*c_**2)*(180*3600/math.pi)
EXPECTED = 1.7516
assert abs(th/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {th:.4f} arcsec   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; ray integral in snippet. (3) Complete proofs: Ray/eikonal machinery and the kappa0 = 2 convention: Mechanics_Math_Appendix SS5 (loader2 lines 3263-3268) and the Bridge's mass-coupled slowness dictionary (VMS Electromagnetic Laws L-M1, loader2 lines 1852-1862). Deficit profile: Mathematical Bridge pp. 13-14. Atlas F0002 (loader2 280-284). CAS-verified deflection numeric in the Mechanics calibration bench block (loader2 3474-3487). (4) Experiment: FILE B, row M2 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.7516 arcsec**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS5*

---

## AUDIT SHEET M3 — Shapiro Delay: Earth-Mars Ranging at Superior Conjunction

> **At a glance** — Predicted: **247.3 microseconds (two-way, b = R_sun)** · Verify: `python3 verify/M3_verify.py` · CAS: f0002 PASS; log integral in snippet · Experiment: FILE B row M3

**The problem.** Irwin Shapiro noted in 1964 that a radar pulse skimming the Sun should return measurably LATE — a 'fourth test' of relativity nobody had thought to ask for during the first fifty years. Ranging to Mars-based landers made it one of the most precise gravity tests ever run.

**Target.** The maximum two-way excess radar delay, Earth-Mars at superior conjunction, in microseconds.

**Inputs & provenance.**
```
Symbol   meaning                     value          units
r1       Earth heliocentric range    1.4960e+11     m   [MEASURED]
r2       Mars heliocentric range     2.2784e+11     m   [MEASURED - ephemeris, 1.523 AU mean]
b        closest approach (= R_sun)  6.9570e+08     m   [MEASURED]
GM       solar parameter             1.32746e+20    m^3/s^2  [MEASURED - ephemeris GM]
```

**VMS solution.**  *Primitives used: P1, P4 — defined once in the Primer.*
```
1. ROUTE TIME. t = (1/c) Int n ds = t_flat + (2GM/c^3) Int ds/r along the straight path.
2. THE INTEGRAL. With r = sqrt(b^2 + z^2), Int_0^L dz/r = ln[(L + sqrt(L^2+b^2))/b] ~ ln(2L/b)
   for L >> b. Summing the Earth leg (L = r1) and Mars leg (L = r2):
      Int ds/r = ln(2r1/b) + ln(2r2/b) = ln(4 r1 r2 / b^2).
3. ONE-WAY EXCESS. dt = (2GM/c^3) ln(4 r1 r2/b^2).
4. NUMBERS. 2GM/c^3 = 9.8535e-06 s;
   ln(4 x 1.496e+11 x 2.278e+11/4.840e+17) = ln(2.817e+05) = 12.549.
5. dt_1way = 123.6 us;  TWO-WAY = 247.3 us.
```

**Classical solution (same endpoint).**
```
1. GR: coordinate time of a null Schwarzschild path - identical integral and logarithm:
   dt_2way = (4GM/c^3) ln(4r1r2/b^2) = 247.3 us.
2. Newtonian light: no term at all (dt = 0).
```

**Structural difference.** Identical mathematics; VMS reads the log as accumulated route cost in the deficit, GR as coordinate-time stretching.

**Exclusions & validity.** Straight-path first-order evaluation; solar-plasma delay removed by dual-band ranging (declared). r2 = 1.523 AU is the mean conjunction geometry - specific oppositions vary by a few percent.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M3_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M3 — Shapiro delay, Earth-Mars superior conjunction.
# BASE FORMULAS: profile (Atlas F0002; CAS v2 f0002); route time t=(1/c)Int n ds:
#   Mechanics_Math_Appendix SS6 (log integral verified HERE).
from sympy import symbols, integrate, sqrt, log, simplify, limit, oo

b, z, L = symbols('b z L', positive=True)
I = integrate(1/sqrt(b**2+z**2), (z, 0, L))          # = asinh(L/b)
# Large-L form: asinh(L/b) -> ln(2L/b); verify the difference vanishes as L->oo
assert limit(I - log(2*L/b), L, oo) == 0, "ln(2L/b) asymptotic failed"
print("symbolic: Int_0^L dz/r = asinh(L/b) -> ln(2L/b) PASS")

import math
G_=6.6743e-11; M_=1.98892e+30; c_=299792458.0; r1=149597870700.0; r2=227837557076.09998; b_=695700000.0
dt2 = 2*(2*G_*M_/c_**3)*math.log(4*r1*r2/b_**2)*1e6
EXPECTED = 247.3
assert abs(dt2/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {dt2:.1f} microseconds two-way   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; log integral in snippet. (3) Complete proofs: Route-time integral: Mechanics_Math_Appendix SS6 with the worked Earth-Mars numeric (loader2 lines 3269-3280); ln-form validity note at 3280. Profile: Bridge pp. 13-14; Atlas F0002. WALK-ALL audit entry M-pillar SS6. (4) Experiment: FILE B, row M3 — no experimental values on this sheet by design.

**PREDICTED VALUE: 247.3 microseconds (two-way, b = R_sun)**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS6*

---

## AUDIT SHEET M4 — Gravitational Frequency Shift over 22.5 m (Pound-Rebka-Snider)

> **At a glance** — Predicted: **2.455e-15 (fractional)** · Verify: `python3 verify/M4_verify.py` · CAS: no Atlas block; clock law verified in snippet · Experiment: FILE B row M4

**The problem.** Einstein predicted in 1907 that clocks run slower deeper in a gravitational field, but the effect is so small on Earth that it took until 1959-65 — Pound, Rebka and Snider firing gamma rays up a 22.5 m tower at Harvard, using the then-new Moessbauer effect — to measure it in a laboratory.

**Target.** The fractional frequency shift over h = 22.5 m at Earth's surface.

**Inputs & provenance.**
```
Symbol   meaning              value        units
g        surface field        9.80665      m/s^2 [STANDARD - conventional value]
h        height difference    22.5         m     [STANDARD - experiment geometry]
c        route speed          2.9979e+08  m/s  [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P5 — defined once in the Primer.*
```
1. TICK DEPTH. For a static clock, dtau/dt = sqrt(1 + 2Phi/c^2) ~ 1 + Phi/c^2.
2. TWO CLOCKS. Bottom at Phi_b, top at Phi_b + gh:
      nu_top/nu_bot = (1 + Phi_b/c^2 + gh/c^2)/(1 + Phi_b/c^2) ~ 1 + gh/c^2.
   A photon emitted at the bottom is RECEIVED redshifted at the top by the same ratio.
3. NUMBERS. dnu/nu = gh/c^2 = 9.80665 x 22.5/8.98755e+16 = 2.4551e-15.
```

**Classical solution (same endpoint).**
```
1. GR: g00 = -(1+2Phi/c^2); proper-time ratio between heights => gh/c^2 = 2.4551e-15.
   Equivalence-principle route (accelerated frame, Doppler during flight time h/c) agrees.
```

**Structural difference.** None at this order; VMS puts the whole effect in the two clocks' route depths.

**Exclusions & validity.** First order in Phi/c^2 (~2.5e-15 here); the experiment's Doppler-scan readout is instrumentation.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M4_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M4 — Pound-Rebka-Snider frequency shift.
# BASE FORMULAS: clock-depth law dtau=(1+Phi/c^2)dt : Mechanics_Math_Appendix SS7
#   (no Atlas block yet — first-order expansion verified HERE; suite-extension candidate).
from sympy import symbols, sqrt, series, simplify

Phi, c2, g, h = symbols('Phi c2 g h', real=True)
rate = series(sqrt(1 + 2*Phi/c2), Phi, 0, 2).removeO()
assert simplify(rate - (1 + Phi/c2)) == 0, "first-order clock rate failed"
ratio = series((1 + (Phi + g*h)/c2)/(1 + Phi/c2), Phi, 0, 1).removeO()
# leading term independent of Phi at first order:
assert simplify(ratio.subs(Phi, 0) - (1 + g*h/c2)) == 0
print("symbolic: dtau/dt = 1 + Phi/c^2 (first order); ratio = 1 + gh/c^2 PASS")

frac = 9.80665*22.5/299792458.0**2
EXPECTED = 2.4551e-15
assert abs(frac/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {frac:.3e} fractional shift   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; clock law verified in snippet. (3) Complete proofs: Clock-rate law: Mechanics_Math_Appendix SS7 with the Pound-Rebka numeric worked in-line (loader2 lines 3281-3290). Profile: Bridge pp. 13-14; Atlas F0002. Frame/clock foundations: Observer_Lemma_Complete.pdf (A1+A2 => Lorentz structure; A3 => display-area transform). (4) Experiment: FILE B, row M4 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.455e-15 (fractional)**

*Pillar: Mechanics/Gravity | Atlas: Mech SS7*

---

## AUDIT SHEET M5 — Net Daily Clock Offset of a GPS Satellite

> **At a glance** — Predicted: **+38.5 microseconds/day** · Verify: `python3 verify/M5_verify.py` · CAS: f0001-f0003 PASS; assembly in snippet · Experiment: FILE B row M5

**The problem.** GPS is the everyday machine that would fail without relativity: satellite clocks gain from altitude and lose from speed, and the designers pre-offset the clock frequency at the factory before launch. The required offset is a single number engineers must get right.

**Target.** The net daily proper-time offset of a GPS clock (r = 26,562 km) vs a ground clock, in microseconds/day.

**Inputs & provenance.**
```
Symbol   meaning                       value            units
GM       Earth parameter               3.98603e+14      m^3/s^2 [MEASURED]
R_eq     equatorial radius             6.3781e+06       m      [STANDARD - WGS84]
omega    Earth spin rate               7.29212e-05      rad/s  [MEASURED - IERS]
r        GPS orbit radius              2.6562e+07       m  [MEASURED]
```

**VMS solution.**  *Primitives used: P4, P5, P6 — defined once in the Primer.*
```
1. GEOID DEPTH (gravity + spin; the rotating reference surface is an equipotential of the
   effective potential): Phi_s = GM/R_eq + (omega R_eq)^2/2
   = 6.24955e+07 + 1.0816e+05 = 6.26037e+07 m^2/s^2.
2. ORBIT DEPTH. Phi_o = GM/r = 1.50065e+07 m^2/s^2.
3. DEPTH GAIN. dtau/tau = (Phi_s - Phi_o)/c^2 = 5.2959e-10
   => +45.76 us/day.
4. ORBIT SPEED. Route balance (M7 primitive): v^2 = GM/r = 1.5006e+07 m^2/s^2
   => v = 3874 m/s.
5. CIRCULATION SLOWDOWN. gamma - 1 ~ v^2/2c^2 = 8.3485e-11 => -7.21 us/day.
6. NET. +45.76 - 7.21 = +38.5 us/day (fractional 4.4610e-10).
```

**Classical solution (same endpoint).**
```
1. GR redshift + SR dilation, identical two-term budget: +38.5 us/day - the
   operational GPS factory offset (4.4647e-10 fractional).
```

**Structural difference.** One mechanism in VMS - route properties (depth, circulation rate) - where the textbook narrative invokes two theories. Same arithmetic.

**Exclusions & validity.** Circular orbit (e < 0.02; the eccentricity term is receiver-corrected); J2/tidal terms ~ns/day declared excluded.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M5_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M5 — Net daily GPS clock offset.
# BASE FORMULAS: clock depth (Mech SS7, checked in M4 snippet); circulation slowdown
#   gamma from dispersion: Atlas F0003 (CAS v2 f0003 verifies the p^2/2m Taylor layer);
#   orbit balance v^2=GM/r: Atlas F0001/F0002 (CAS v2). Assembly verified HERE.
from sympy import symbols, sqrt, series, simplify, solve, Rational

GM, r, v, c2 = symbols('GM r v c2', positive=True)
# circular balance: v^2/r = GM/r^2  => v^2 = GM/r
sol = solve(v**2/r - GM/r**2, v**2)[0]
assert simplify(sol - GM/r) == 0
# gamma - 1 = v^2/(2c^2) to leading order:
beta2 = symbols('beta2', positive=True)
gam = series(1/sqrt(1-beta2), beta2, 0, 2).removeO()
assert simplify(gam - (1 + beta2/2)) == 0
print("symbolic: v^2=GM/r PASS; gamma-1 -> v^2/2c^2 PASS")

GM_=398602544600000.0; Req=6378100.0; om=7.2921159e-05; rg=26562000.0; c_=299792458.0; day=86400.0
phi_s = GM_/Req + (om*Req)**2/2
phi_o = GM_/rg
grav = (phi_s-phi_o)/c_**2*day*1e6
vel  = (GM_/rg)/(2*c_**2)*day*1e6
net  = grav - vel
EXPECTED = 38.54
assert abs(net/EXPECTED - 1) < 5e-4, net
print(f"gravitational: +{grav:.2f} us/day  velocity: -{vel:.2f} us/day")
print(f"PREDICTED VALUE: +{net:.1f} microseconds/day   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001-f0003 PASS; assembly in snippet. (3) Complete proofs: Clock law: Mechanics_Math_Appendix SS7 (loader2 3281-3290). Dispersion slowdown of a moving closure: Particle_Mechanics_Math_Appendix SS3.6 (loader2 2236-2238) and F0003 (loader2 286-290). Geoid/effective-potential treatment: Mechanics_Calibration SS6-7 (loader2 3442-3487). (4) Experiment: FILE B, row M5 — no experimental values on this sheet by design.

**PREDICTED VALUE: +38.5 microseconds/day**

*Pillar: Mechanics/Gravity | Atlas: Mech SS7; F0003*

---

## AUDIT SHEET M6 — Geodetic Precession of an Orbiting Gyroscope (Gravity Probe B)

> **At a glance** — Predicted: **6604 milliarcsec/yr (geodetic)** · Verify: `python3 verify/M6_verify.py` · CAS: f0002 PASS; transport reduction in snippet (law = declared import) · Experiment: FILE B row M6

**The problem.** De Sitter showed in 1916 that a gyroscope orbiting a mass should slowly tip even with no torque on it. Measuring it took ninety years: Gravity Probe B flew four of the roundest objects ever made in a polar orbit (2004-2011) to watch them drift.

**Target.** The geodetic precession rate of an orbiting gyroscope at r = 7027.4 km, in milliarcseconds per year.

**Inputs & provenance.**
```
Symbol   meaning              value           units
GM       Earth parameter      3.98603e+14     m^3/s^2  [MEASURED - ephemeris GM]
r        orbit radius         7.0274e+06      m  [MEASURED - mission orbit]
v        orbit speed          sqrt(GM/r) = 7531  m/s  [DERIVED - on-sheet]
```

**VMS solution.**  *Primitives used: P4, P7 — defined once in the Primer.*
```
1. TRANSPORT LAW. Carrying a frame at velocity v through profile gradient grad(Phi), the frame
   rotates at Omega = (3/2) v x grad(Phi) / c^2 (weak field; the 3/2 = 1 space-curvature part
   + 1/2 route-boost part, same 2:1 bookkeeping family as M2's lock).
2. CIRCULAR ORBIT. |v| = sqrt(GM/r), |grad Phi| = GM/r^2, v perp grad(Phi):
      Omega = (3/2) sqrt(GM/r) (GM/r^2) / c^2 = (3/2)(GM)^{3/2} / (c^2 r^{5/2}).
3. NUMBERS. Omega = 1.5 x 7.9581e+21 / (8.9876e+16 x 1.3091e+17)
          = 1.0145e-12 rad/s.
4. PER YEAR. 1.0145e-12 x 3.1558e+07 s = 3.2017e-05 rad
          = 6604 mas/yr, in the orbit plane.
```

**Classical solution (same endpoint).**
```
1. GR: Fermi-Walker/parallel transport of the spin vector along the geodesic; de Sitter term
   (3/2) v x grad(Phi)/c^2 => 6604 mas/yr. (Thomas precession supplies the 1/2 in flat
   space; space curvature the 1.)
```

**Structural difference.** Identical formula; VMS reads it as frame-closure failure - the same machinery that generates half-integer spin (PM SS1.5) - GR as parallel transport in curved spacetime.

**Exclusions & validity.** Weak field, circular orbit. Frame dragging (Lense-Thirring, ~39 mas/yr, orthogonal) is a separate observable not predicted on this sheet.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M6_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M6 — Gravity Probe B geodetic precession.
# BASE FORMULAS: profile (Atlas F0002; CAS v2 f0002); frame-transport law
#   Omega = (3/2) v x grad(Phi)/c^2 : GR-dictionary import (declared) pending the
#   'Frame Transport in a Missing-Space Profile' corpus insert; frame-closure primitive
#   PM SS1.5. The circular-orbit REDUCTION of that law is verified HERE.
from sympy import symbols, sqrt, simplify, Rational

GM, r, c2 = symbols('GM r c2', positive=True)
v = sqrt(GM/r); gradPhi = GM/r**2
Om = Rational(3,2)*v*gradPhi/c2
target = Rational(3,2)*GM**Rational(3,2)/(c2*r**Rational(5,2))
assert simplify(Om - target) == 0, Om
print("symbolic: (3/2) v grad(Phi)/c^2 = (3/2)(GM)^(3/2)/(c^2 r^(5/2)) PASS")

import math
GM_=398602544600000.0; r_=7027400.0; c_=299792458.0; yr=31558150.0
Om_n = 1.5*GM_**1.5/(c_**2*r_**2.5)
mas = Om_n*yr*(180*3600/math.pi)*1000
EXPECTED = 6604
assert abs(mas/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {mas:.0f} mas/yr geodetic   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; transport reduction in snippet (law = declared import). (3) Complete proofs: Frame double-cover and closure: Particle_Mechanics_Math_Appendix SS1.5 (loader2 2154-2160, Lemma L1) and Observer_Lemma_Complete.pdf (frame transport under A1-A3). Profile: Bridge pp. 13-14; Atlas F0002. Geodetic formula assembly: Mechanics appendix cross-checks SS10 (loader2 3323-3329). (4) Experiment: FILE B, row M6 — no experimental values on this sheet by design.

**PREDICTED VALUE: 6604 milliarcsec/yr (geodetic)**

*Pillar: Mechanics/Gravity | Atlas: F0002; PM SS1.5*

---

## AUDIT SHEET M7 — Geostationary Orbit Radius

> **At a glance** — Predicted: **42164 km (35786 km altitude)** · Verify: `python3 verify/M7_verify.py` · CAS: f0001, f0002 PASS; balance in snippet · Experiment: FILE B row M7

**The problem.** Arthur C. Clarke popularized in 1945 the orbit where a satellite hovers over one spot on the equator. Every communications satellite in the 'Clarke belt' sits at the radius this sheet computes.

**Target.** The geostationary orbit radius, in km.

**Inputs & provenance.**
```
Symbol   meaning            value          units
GM       Earth parameter    3.98603e+14    m^3/s^2  [MEASURED - ephemeris GM]
T        sidereal day       86164.0905      s [MEASURED]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. STATIONARITY. delta Int L dt = 0 with L = (1/2)(rdot^2 + r^2 phidot^2) + GM/r (F0001 route
   Lagrangian). Circular ansatz rdot = 0, phidot = omega: d/dr[(1/2)omega^2 r^2 + GM/r] = 0
   => omega^2 r = GM/r^2.
2. SOLVE. r^3 = GM/omega^2 = GM T^2/4pi^2
   = 3.98603e+14 x 7.42425e+09/39.4784 = 7.49606e+22 m^3.
3. r = 4.2164e+07 m = 42164 km  (altitude 35786 km).
```

**Classical solution (same endpoint).**
```
1. Newton/Kepler III: identical algebra, r = 42164 km.
```

**Structural difference.** None - shared closure algebra. Audit value: the same route-balance law that carries M1's relativistic correction runs the engineering case.

**Exclusions & validity.** Point-mass Earth (J2 affects station-keeping, not the nominal radius).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M7_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M7 — Geostationary radius.
# BASE FORMULAS: route stationarity (Atlas F0001; CAS v2 f0001); profile (F0002).
from sympy import symbols, diff, solve, simplify, Rational

r, om, GM = symbols('r om GM', positive=True)
Ueff = Rational(1,2)*om**2*r**2 + GM/r        # circular-route effective cost
rsol = solve(diff(Ueff, r), r)[0]
assert simplify(rsol - (GM/om**2)**Rational(1,3)) == 0
print("symbolic: d/dr[(1/2)om^2 r^2 + GM/r]=0 => r=(GM/om^2)^(1/3) PASS")

GM_=398602544600000.0; T=86164.0905
import math
r_ = (GM_*T**2/(4*math.pi**2))**(1/3.0)/1e3
EXPECTED = 42164
assert abs(r_/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {r_:.0f} km   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; balance in snippet. (3) Complete proofs: Variational route mechanics: Mechanics_Math_Appendix SS1.1-1.4 and SS2 (central forces, effective potential; loader2 3203-3235). Atlas F0001 (loader2 274-278). CAS-verified in vms-sympy-audit (F0001 PASS). (4) Experiment: FILE B, row M7 — no experimental values on this sheet by design.

**PREDICTED VALUE: 42164 km (35786 km altitude)**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M8 — Sidereal Period of the Moon

> **At a glance** — Predicted: **27.285 days** · Verify: `python3 verify/M8_verify.py` · CAS: f0002 PASS; two-body reduction in snippet · Experiment: FILE B row M8

**The problem.** Newton's original 'moon test' in the Principia checked inverse-square gravity by comparing the Moon's fall to an apple's. Its modern form: predict the Moon's period from the semi-major axis and the two masses, nothing else.

**Target.** The sidereal period of the Moon, in days.

**Inputs & provenance.**
```
Symbol   meaning              value          units
a        semi-major axis      3.84399e+08    m  [MEASURED - lunar laser ranging]
M_E      Earth mass           5.9722e+24     kg [MEASURED]
M_M      Moon mass            7.342e+22      kg [MEASURED]
```

**VMS solution.**  *Primitives used: P3, P4 (two-loop) — defined once in the Primer.*
```
1. TWO-LOOP REDUCTION. Positions r1, r2; relative route r = r1 - r2 obeys
      rddot = -G(M_E + M_M) rhat / r^2
   (each loop feels the other's profile; barycenter motion separates off).
2. CLOSURE PERIOD. Circular/elliptical closure of the relative route:
      P = 2pi sqrt(a^3 / G(M_E+M_M)).
3. NUMBERS. a^3 = 5.67998e+25 m^3; G(M_E+M_M) = 4.03503e+14 m^3/s^2.
   P = 2pi sqrt(1.40767e+11) = 2.35738e+06 s = 27.285 days.
```

**Classical solution (same endpoint).**
```
1. Newtonian two-body via reduced mass: identical, 27.285 d.
```

**Structural difference.** None at this order.

**Exclusions & validity.** Solar tidal perturbation unmodeled (declared) - the ~0.1-0.2% residual in FILE B is that term, on purpose: the sheet predicts the clean two-loop closure.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M8_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M8 — Sidereal period of the Moon.
# BASE FORMULAS: two-loop force law F=Gm1m2/r^2 (Bridge pp.16-17; profile CAS v2 f0002).
#   Two-body reduction verified HERE.
from sympy import symbols, solve, simplify, sqrt, pi as PI, Rational

a, M1, M2, Gs, om = symbols('a M1 M2 Gs om', positive=True)
# relative route: om^2 a = G(M1+M2)/a^2  =>  P = 2 pi sqrt(a^3/G(M1+M2))
omsol = solve(om**2*a - Gs*(M1+M2)/a**2, om)[0]
P = 2*PI/omsol
assert simplify(P - 2*PI*sqrt(a**3/(Gs*(M1+M2)))) == 0
print("symbolic: P = 2 pi sqrt(a^3/G(M1+M2)) PASS")

import math
a_=384399000.0; G_=6.6743e-11; ME_=5.9722e+24; MM_=7.342e+22
P_ = 2*math.pi*math.sqrt(a_**3/(G_*(ME_+MM_)))/86400.0
EXPECTED = 27.285
assert abs(P_/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {P_:.3f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; two-body reduction in snippet. (3) Complete proofs: Two-loop (probe-source) construction: Mathematical Bridge - Math Appendix pp. 16-17 (Derivation Recipe 3, step 6: F = G m1 m2/r^2 from the probe loop's action in the source's curved geometry). Central-force reduction: Mechanics_Math_Appendix SS2-2A (loader2 3225-3247). Atlas F0002. (4) Experiment: FILE B, row M8 — no experimental values on this sheet by design.

**PREDICTED VALUE: 27.285 days**

*Pillar: Mechanics/Gravity | Atlas: F0002 (two-loop)*

---

## AUDIT SHEET M9 — Earth Escape Speed

> **At a glance** — Predicted: **11.19 km/s** · Verify: `python3 verify/M9_verify.py` · CAS: f0011, f0002 PASS; escape condition in snippet · Experiment: FILE B row M9

**The problem.** The speed that separates cannonballs from spacecraft. First computed in the 18th century from energy bookkeeping; every launch since Sputnik is an experimental check.

**Target.** Earth's escape speed from the mean surface (non-rotating, drag-free), in km/s.

**Inputs & provenance.**
```
Symbol   meaning          value         units
GM       Earth parameter  3.98603e+14   m^3/s^2  [MEASURED - ephemeris GM]
R        mean radius      6.3710e+06    m [MEASURED]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. WORK-ENERGY. Along the radial route: (1/2)v^2(r) - (1/2)v0^2 = -[GM/R - GM/r].
2. ESCAPE. Require v(r->inf) >= 0: (1/2)v0^2 = GM/R.
3. v0 = sqrt(2GM/R) = sqrt(2 x 3.98603e+14/6.3710e+06) = 11186.2 m/s = 11.19 km/s.
```

**Classical solution (same endpoint).**
```
1. Energy conservation with E_inf = 0: identical, 11.19 km/s.
```

**Structural difference.** None.

**Exclusions & validity.** Non-rotating launch (equatorial credit ~0.46 km/s excluded); no drag.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M9_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M9 — Earth escape speed.
# BASE FORMULAS: work-energy along a route (Atlas F0011; CAS v2 f0011); profile (F0002).
from sympy import symbols, solve, simplify, sqrt, Rational

v, GM, R = symbols('v GM R', positive=True)
vsol = solve(Rational(1,2)*v**2 - GM/R, v)[0]
assert simplify(vsol - sqrt(2*GM/R)) == 0
print("symbolic: (1/2)v^2 = GM/R => v = sqrt(2GM/R) PASS")

import math
v_ = math.sqrt(2*398602544600000.0/6371000.0)/1e3
EXPECTED = 11.19
assert abs(v_/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {v_:.2f} km/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0011, f0002 PASS; escape condition in snippet. (3) Complete proofs: Work-energy closure: Mechanics_Math_Appendix SS2.2-2.4 (dE/dx = F; loader2 3225-3229); Atlas F0011 (loader2 334-338). CAS: F0011 PASS. (4) Experiment: FILE B, row M9 — no experimental values on this sheet by design.

**PREDICTED VALUE: 11.19 km/s**

*Pillar: Mechanics/Gravity | Atlas: F0011; F0002*

---

## AUDIT SHEET M10 — Solar Gravitational Redshift Observed at 1 AU

> **At a glance** — Predicted: **633.5 m/s (equivalent velocity)** · Verify: `python3 verify/M10_verify.py` · CAS: no Atlas block; depth law in snippet · Experiment: FILE B row M10

**The problem.** Einstein predicted in 1911 that solar spectral lines arrive redshifted, but convection currents in the photosphere blueshift the lines by comparable amounts, and a clean confirmation took a century — laser-frequency-comb spectroscopy finally isolated the gravitational term.

**Target.** The solar gravitational redshift observed at 1 AU, as an equivalent velocity in m/s.

**Inputs & provenance.**
```
Symbol   meaning              value          units
GM       solar parameter      1.32746e+20    m^3/s^2  [MEASURED - ephemeris GM]
R_s      photosphere radius   6.9570e+08     m [MEASURED]
r_E      reception distance   1.4960e+11     m [MEASURED - ephemeris]
```

**VMS solution.**  *Primitives used: P5 — defined once in the Primer.*
```
1. TICK RATES. nu_received/nu_emitted = [1 + Phi(R_s)/c^2] / [1 + Phi(r_E)/c^2]
   ~ 1 - (GM/c^2)(1/R_s - 1/r_E).
2. DEPTH DIFFERENCE. GM(1/R_s - 1/r_E)
   = 1.32746e+20 x (1.4374e-09 - 6.6846e-12) = 1.8992e+11 m^2/s^2.
3. EQUIVALENT VELOCITY. v = dPhi/c = 1.8992e+11/2.9979e+08 = 633.5 m/s.
   (Sun-only term GM/R_s c = 636.5 m/s; the 1/r_E reception term subtracts 3.0 m/s.)
```

**Classical solution (same endpoint).**
```
1. GR: nu ratio from g00 at the two radii - identical expansion, 633.5 m/s.
```

**Structural difference.** None at first order.

**Exclusions & validity.** Convective blueshift of real solar lines (line-dependent, ~few hundred m/s) is an astrophysical systematic modeled out by observers; this sheet predicts the clean gravitational term.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M10_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M10 — Solar gravitational redshift at 1 AU.
# BASE FORMULAS: clock-depth law (Mech SS7; expansion verified in M4 snippet;
#   suite-extension candidate). Depth-difference assembly verified HERE.
from sympy import symbols, simplify

GM, Rs, rE, c_ = symbols('GM Rs rE c', positive=True)
dv = GM*(1/Rs - 1/rE)/c_          # equivalent velocity from depth difference
# sanity: reduces to GM/(Rs c) when rE -> oo
from sympy import limit, oo
assert simplify(limit(dv, rE, oo) - GM/(Rs*c_)) == 0
print("symbolic: dv -> GM/(Rs c) as rE->oo PASS")

v_ = 1.3274648755999998e+20*(1/695700000.0 - 1/149597870700.0)/299792458.0
EXPECTED = 633.5
assert abs(v_/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {v_:.1f} m/s equivalent   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; depth law in snippet. (3) Complete proofs: Clock law and worked solar/GPS numerics: Mechanics_Math_Appendix SS7 (loader2 3281-3290). Profile: Bridge pp. 13-14. Atlas F0002. (4) Experiment: FILE B, row M10 — no experimental values on this sheet by design.

**PREDICTED VALUE: 633.5 m/s (equivalent velocity)**

*Pillar: Mechanics/Gravity | Atlas: Mech SS7*

---

## AUDIT SHEET M11 — ISS Orbital Speed and Period

> **At a glance** — Predicted: **92.8 minutes at 7.66 km/s** · Verify: `python3 verify/M11_verify.py` · CAS: f0001, f0002 PASS; balance in snippet · Experiment: FILE B row M11

**The problem.** The workhorse orbit: the International Space Station's altitude band. Its speed and period follow from one balance equation — the same one that carries the relativistic corrections in M1 and M12.

**Target.** The ISS circular-orbit speed and period at 420 km altitude.

**Inputs & provenance.**
```
Symbol   meaning          value         units
GM       Earth parameter  3.98603e+14   m^3/s^2  [MEASURED - ephemeris GM]
r        orbit radius     6.7910e+06    m  [STANDARD - R_E + 420 km]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. BALANCE. v^2/r = GM/r^2 => v = sqrt(GM/r) = sqrt(3.98603e+14/6.7910e+06) = 7661 m/s.
2. PERIOD. T = 2pi r/v = 2pi x 6.7910e+06/7661 = 5569 s = 92.8 min.
```

**Classical solution (same endpoint).**
```
1. Newtonian circular orbit: identical, 92.8 min at 7.66 km/s.
```

**Structural difference.** None.

**Exclusions & validity.** Drag environment unmodeled (declared): the real station decays and reboosts; FILE B's ~0.1% residual is that plus altitude variation.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M11_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M11 — ISS orbital speed and period.
# BASE FORMULAS: route balance (Atlas F0001/F0002; CAS v2) — as M7.
from sympy import symbols, solve, simplify, sqrt

v, GM, r = symbols('v GM r', positive=True)
vsol = solve(v**2/r - GM/r**2, v)[0]
assert simplify(vsol - sqrt(GM/r)) == 0
print("symbolic: v = sqrt(GM/r) PASS")

import math
r_=6791000.0; GM_=398602544600000.0
v_ = math.sqrt(GM_/r_)
T_ = 2*math.pi*r_/v_/60
EXPECTED = 92.8
assert abs(T_/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {T_:.1f} minutes at {v_/1e3:.2f} km/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; balance in snippet. (3) Complete proofs: Mechanics_Math_Appendix SS1-2 (loader2 3203-3235); Atlas F0001/F0002. (4) Experiment: FILE B, row M11 — no experimental values on this sheet by design.

**PREDICTED VALUE: 92.8 minutes at 7.66 km/s**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M12 — Periastron Advance of the Hulse-Taylor Binary Pulsar

> **At a glance** — Predicted: **4.227 degrees/yr** · Verify: `python3 verify/M12_verify.py` · CAS: f0001, f0002 PASS; Kepler elimination in snippet · Experiment: FILE B row M12

**The problem.** In 1974 Hulse and Taylor found a pulsar in a tight orbit with another neutron star — a clock in a strong-field laboratory. Its ellipse rotates 4.2 degrees per YEAR (Mercury's effect, 38,000 times over), earning the 1993 Nobel Prize. Same law, deeper profile.

**Target.** The periastron advance rate of PSR B1913+16, in degrees per year.

**Inputs & provenance.**
```
Symbol   meaning              value           units
P_b      orbital period       27906.98        s   [MEASURED - pulsar timing]
e        eccentricity         0.6171334      --  [MEASURED]
M_tot    mass sum             2.828          M_sun [MEASURED - timing solution: 1.438 + 1.390]
a        relative semi-axis   1.9492e+09    m   [DERIVED - on-sheet, step 2]
```

**VMS solution.**  *Primitives used: P1-P4 — defined once in the Primer.*
```
1. M1'S LAW, TOTAL MASS. Per-orbit closure miss of the relative route:
      dpsi = 6 pi G M_tot / (a (1-e^2) c^2).
2. ELIMINATE a. Kepler III for the two-loop system (M8): a^3 = G M_tot P_b^2/4pi^2
   => a = (3.7541e+20 x 7.7880e+08/39.478)^(1/3) = 1.9492e+09 m.
3. RATE FORM. omega_dot = dpsi/P_b = 6piGM_tot/(a(1-e^2)c^2 P_b). Substituting a from step 2
   and simplifying:
      omega_dot = 3 (2pi/P_b)^(5/3) (G M_tot/c^3)^(2/3) / (1-e^2)   - the PN standard form.
4. NUMBERS. (2pi/P_b)^(5/3) = 8.3326e-07;
   (GM_tot/c^3)^(2/3) = (1.3933e-05 s)^(2/3) = 5.7902e-04;
   1/(1-e^2) = 1.6151.
5. omega_dot = 2.3378e-09 rad/s = 4.227 deg/yr.
6. TRANSFER CHECK. Same law as M1 with zero parameter changes;
   rate ratio vs Mercury = 35396x in arcsec/century terms.
```

**Classical solution (same endpoint).**
```
1. GR 1PN periastron advance - identical formula and number: 4.227 deg/yr.
2. Newtonian two-body: closed ellipse, zero advance.
```

**Structural difference.** The cross-scale, no-retune transfer of M1's closure-drift law is the audit exhibit; VMS and GR share the equation throughout.

**Exclusions & validity.** 1PN order (2PN ~1e-5 of effect); masses are declared inputs from the timing solution's other relativistic observables, not fitted here.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M12_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M12 — Periastron advance of PSR B1913+16.
# BASE FORMULAS: closure-drift law (as M1: F0001/F0002 + Mech SS8, verified in M1 snippet);
#   Kepler III elimination verified HERE (M1's law -> standard PN rate form).
from sympy import symbols, simplify, pi as PI, Rational, powsimp

GM, Pb, e, c_ = symbols('GM Pb e c', positive=True)
a = (GM*Pb**2/(4*PI**2))**Rational(1,3)
rate_from_M1 = 6*PI*GM/(a*(1-e**2)*c_**2*Pb)
rate_PN = 3*(2*PI/Pb)**Rational(5,3)*(GM/c_**3)**Rational(2,3)/(1-e**2)
ratio = simplify(powsimp(rate_from_M1/rate_PN, force=True))
assert ratio == 1, ratio
print("symbolic: M1 law + Kepler III == 3(2pi/Pb)^(5/3)(GM/c^3)^(2/3)/(1-e^2) PASS")

import math
Pb_=27906.98; e_=0.6171334; GM_=3.7540706681967994e+20; c__=299792458.0; yr=31558150.0
od = 3*(2*math.pi/Pb_)**(5/3.0)*(GM_/c__**3)**(2/3.0)/(1-e_**2)
degyr = math.degrees(od)*yr
EXPECTED = 4.227
assert abs(degyr/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {degyr:.3f} deg/yr   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; Kepler elimination in snippet. (3) Complete proofs: Closure-drift law: Mechanics_Math_Appendix SS8 (loader2 3291-3298); two-loop reduction: Bridge pp. 16-17; Kepler elimination: Mechanics_Math_Appendix SS2A. Atlas F0002. External check: standard 1PN literature (Damour-Deruelle) reaches step 3's form. (4) Experiment: FILE B, row M12 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.227 degrees/yr**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS8*

---

## AUDIT SHEET M13 — Foucault Pendulum in Paris

> **At a glance** — Predicted: **11.33 deg/hr** · Verify: `python3 verify/M13_verify.py` · CAS: f0027 PASS (oscillator); projection verified in snippet · Experiment: FILE B row M13

**The problem.** In 1851 Leon Foucault hung a 67 m pendulum in the Pantheon and let Paris watch the Earth rotate under it — the first direct, room-scale proof of the planet's spin, no stars needed.

**Target.** The precession rate of the swing plane at latitude 48.846 N, in degrees per hour.

**Inputs & provenance.**
```
Symbol   meaning              value        units
Omega    Earth rotation rate  360.9856     deg/day  [MEASURED - IERS]
lat      latitude of Paris    48.846       deg      [STANDARD - site]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. SWING PLANE. The pendulum's oscillation route (F0027) keeps its plane in the local
   inertial frame; Earth's closure rotates beneath it.
2. PROJECTION. Only the vertical component of the rotation vector turns the floor under
   the swing: rate = Omega * sin(lat).
3. NUMBERS. rate = (360.9856/24) * sin(48.846 deg) = 15.041 * 0.7529
          = 11.33 deg/hr  (full circle in 31.8 hr).
```

**Classical solution (same endpoint).**
```
1. Rotating-frame Coriolis analysis: identical Omega*sin(lat) projection.
```

**Structural difference.** None — shared kinematics; the pendulum plane is route-inertial in both readings.

**Exclusions & validity.** Ideal pivot (no ellipticity drift); amplitude small.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M13_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M13 — Foucault pendulum, Paris.
# BASE FORMULAS: oscillation closure Atlas F0027 (CAS v2 f0027); rotation projection HERE.
from sympy import symbols, sin, diff, simplify, cos
lat, Om = symbols('lat Om', positive=True)
# vertical component of the rotation vector at latitude lat:
Omega_vec_z = Om*sin(lat)
assert simplify(diff(Omega_vec_z, lat) - Om*cos(lat)) == 0  # smooth projection sanity
import math
rate = 360.9856/24*math.sin(math.radians(48.846))
EXPECTED = 11.33
assert abs(rate/EXPECTED - 1) < 5e-4
print(f"PREDICTED VALUE: {rate:.2f} deg/hr   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0027 PASS (oscillator); projection verified in snippet. (3) Complete proofs: SHO closure: Mechanics_Math_Appendix SS4B-C (loader2 3218-3223); Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M13 — no experimental values on this sheet by design.

**PREDICTED VALUE: 11.33 deg/hr**

*Pillar: Mechanics/Gravity | Atlas: F0027 (oscillation); kinematics*

---

## AUDIT SHEET M14 — Period of a One-Metre Pendulum

> **At a glance** — Predicted: **2.0064 s** · Verify: `python3 verify/M14_verify.py` · CAS: f0027 PASS · Experiment: FILE B row M14

**The problem.** The 'seconds pendulum' was nearly the definition of the metre in 1791; pendulum gravimetry mapped Earth's field for two centuries before superconducting gravimeters.

**Target.** Small-amplitude period of a 1.000 m pendulum at standard gravity, in seconds.

**Inputs & provenance.**
```
Symbol  meaning           value     units
L       pendulum length   1.000     m      [STANDARD - defined setup]
g       standard gravity  9.80665   m/s^2  [STANDARD - CGPM convention]
```

**VMS solution.**  *Primitives used: P2 — defined once in the Primer.*
```
1. LINEARIZED CLOSURE (F0027). Small departure from the stable hang: restoring cost
   ~ (g/L)*theta, so omega^2 = g/L.
2. T = 2*pi*sqrt(L/g) = 2*pi*sqrt(1/9.80665) = 2.0064 s.
```

**Classical solution (same endpoint).**
```
1. SHM small-angle pendulum: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Small amplitude (period grows ~ theta0^2/16 beyond); rigid massless rod idealization.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M14_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M14 — metre pendulum. BASE: Atlas F0027 (CAS v2 f0027).
from sympy import symbols, sqrt, simplify, solve, pi as PI
om,g,L=symbols('om g L',positive=True)
osol=solve(om**2-g/L,om)[0]
assert simplify(2*PI/osol-2*PI*sqrt(L/g))==0
import math
T=2*math.pi*math.sqrt(1/9.80665)
EXPECTED=2.00641
assert abs(T/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {T:.4f} s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0027 PASS. (3) Complete proofs: Mechanics_Math_Appendix SS4B-C, SS1A worked oscillator (loader2 3218-3223); CAS v2 f0027. (4) Experiment: FILE B, row M14 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.0064 s**

*Pillar: Mechanics/Gravity | Atlas: F0027*

---

## AUDIT SHEET M15 — Orbital Period of Io

> **At a glance** — Predicted: **1.769 days** · Verify: `python3 verify/M15_verify.py` · CAS: f0001, f0002 PASS; closure algebra in snippet · Experiment: FILE B row M15

**The problem.** Galileo found Io in 1610; Ole Romer used eclipses of exactly this moon in 1676 to make the first measurement of the speed of light. Its clockwork is historic infrastructure.

**Target.** The orbital period, in days.

**Inputs & provenance.**
```
Symbol  meaning              value          units
a       semi-major axis      4.21700e+08    m        [MEASURED - ephemeris]
GM      Jupiter GM           1.26687e+17    m^3/s^2  [MEASURED - spacecraft tracking]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. CLOSED ROUTE BALANCE (P2/P4): omega^2 a = GM/a^2  =>  P = 2*pi*sqrt(a^3/GM).
2. a^3 = 7.49913e+25 m^3;  a^3/GM = 5.91941e+08 s^2.
3. P = 2*pi*2.43298e+04 s = 1.769 days.
```

**Classical solution (same endpoint).**
```
1. Kepler III / Newtonian circular-elliptic orbit: identical, 1.769 d.
```

**Structural difference.** None — shared closure algebra.

**Exclusions & validity.** Point-mass primary; perturbations unmodeled.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M15_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M15 — Orbital Period of Io. BASE: Atlas F0001/F0002 (CAS v2).
from sympy import symbols, solve, simplify, sqrt, pi as PI
a,GM,om=symbols('a GM om',positive=True)
osol=solve(om**2*a-GM/a**2,om)[0]
assert simplify(2*PI/osol-2*PI*sqrt(a**3/GM))==0
import math
P=2*math.pi*math.sqrt(421700000.0**3/1.26687e+17)/86400.0
EXPECTED=1.76932
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.3f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; closure algebra in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M15 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.769 days**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002 | family: Kepler-GMJ*

---

## AUDIT SHEET M25 — Orbital Period of Titan

> **At a glance** — Predicted: **15.948 days** · Verify: `python3 verify/M25_verify.py` · CAS: f0001, f0002 PASS; closure algebra in snippet · Experiment: FILE B row M25

**The problem.** Huygens discovered Titan in 1655; the Cassini-Huygens mission parked a lander on it in 2005. Its period anchors the Saturn system's clock.

**Target.** The orbital period, in days.

**Inputs & provenance.**
```
Symbol  meaning              value          units
a       semi-major axis      1.22187e+09    m        [MEASURED - ephemeris]
GM      Saturn GM            3.79310e+16    m^3/s^2  [MEASURED - Cassini tracking]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. CLOSED ROUTE BALANCE (P2/P4): omega^2 a = GM/a^2  =>  P = 2*pi*sqrt(a^3/GM).
2. a^3 = 1.82421e+27 m^3;  a^3/GM = 4.80929e+10 s^2.
3. P = 2*pi*2.19301e+05 s = 15.948 days.
```

**Classical solution (same endpoint).**
```
1. Kepler III / Newtonian circular-elliptic orbit: identical, 15.948 d.
```

**Structural difference.** None — shared closure algebra.

**Exclusions & validity.** Point-mass primary; perturbations unmodeled.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M25_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M25 — Orbital Period of Titan. BASE: Atlas F0001/F0002 (CAS v2).
from sympy import symbols, solve, simplify, sqrt, pi as PI
a,GM,om=symbols('a GM om',positive=True)
osol=solve(om**2*a-GM/a**2,om)[0]
assert simplify(2*PI/osol-2*PI*sqrt(a**3/GM))==0
import math
P=2*math.pi*math.sqrt(1221870000.0**3/3.7931e+16)/86400.0
EXPECTED=15.948
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.3f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; closure algebra in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M25 — no experimental values on this sheet by design.

**PREDICTED VALUE: 15.948 days**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M34 — Orbital Period of Europa

> **At a glance** — Predicted: **3.550 days** · Verify: `python3 verify/M34_verify.py` · CAS: f0001, f0002 PASS; closure algebra in snippet · Experiment: FILE B row M34

**The problem.** Europa's 3.55-day clock is locked 2:1 with Io's — the Laplace resonance that keeps its interior warm and its buried ocean liquid.

**Target.** The orbital period, in days.

**Inputs & provenance.**
```
Symbol  meaning              value          units
a       semi-major axis      6.70900e+08    m        [MEASURED - ephemeris]
GM      Jupiter GM           1.26687e+17    m^3/s^2  [MEASURED - spacecraft tracking]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. CLOSED ROUTE BALANCE (P2/P4): omega^2 a = GM/a^2  =>  P = 2*pi*sqrt(a^3/GM).
2. a^3 = 3.01977e+26 m^3;  a^3/GM = 2.38364e+09 s^2.
3. P = 2*pi*4.88226e+04 s = 3.550 days.
```

**Classical solution (same endpoint).**
```
1. Kepler III / Newtonian circular-elliptic orbit: identical, 3.550 d.
```

**Structural difference.** None — shared closure algebra.

**Exclusions & validity.** Point-mass primary; perturbations unmodeled.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M34_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M34 — Orbital Period of Europa. BASE: Atlas F0001/F0002 (CAS v2).
from sympy import symbols, solve, simplify, sqrt, pi as PI
a,GM,om=symbols('a GM om',positive=True)
osol=solve(om**2*a-GM/a**2,om)[0]
assert simplify(2*PI/osol-2*PI*sqrt(a**3/GM))==0
import math
P=2*math.pi*math.sqrt(670900000.0**3/1.26687e+17)/86400.0
EXPECTED=3.55048
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.3f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; closure algebra in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M34 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.550 days**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002 | family: Kepler-GMJ*

---

## AUDIT SHEET M16 — Period of Halley's Comet

> **At a glance** — Predicted: **75.3 years** · Verify: `python3 verify/M16_verify.py` · CAS: f0001, f0002 PASS · Experiment: FILE B row M16

**The problem.** Edmond Halley computed in 1705 that the comets of 1531, 1607 and 1682 were one object and predicted its 1758 return — the first successful prediction of a comet, sixteen years after his death.

**Target.** The orbital period from a = 17.834 AU, in years.

**Inputs & provenance.**
```
Symbol  meaning           value    units
a       semi-major axis   17.834   AU   [MEASURED - orbit solution (JPL)]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. In solar units Kepler III is scale-free: P[yr]^2 = a[AU]^3.
2. P = 17.834^(3/2) = 75.3 yr.
```

**Classical solution (same endpoint).**
```
1. Kepler III: identical, 75.3 yr.
```

**Structural difference.** None.

**Exclusions & validity.** Osculating elements; planetary perturbations shift individual apparitions by ~1 yr.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M16_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M16 — Halley's period. BASE: Atlas F0001/F0002 (CAS v2).
from sympy import Rational, simplify, symbols
a=symbols('a',positive=True)
assert simplify((a**3)**Rational(1,2)-a**Rational(3,2))==0
P=17.834**1.5
EXPECTED=75.3136
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.1f} years   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M16 — no experimental values on this sheet by design.

**PREDICTED VALUE: 75.3 years**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M17 — Earth's Mean Orbital Speed

> **At a glance** — Predicted: **29.78 km/s** · Verify: `python3 verify/M17_verify.py` · CAS: kinematic identity in snippet · Experiment: FILE B row M17

**The problem.** The 30 km/s that Bradley read off the stars as aberration in 1728 — the first direct proof Earth moves — and that every interplanetary launch must budget for.

**Target.** Mean orbital speed, 2*pi*AU/year, in km/s.

**Inputs & provenance.**
```
Symbol  meaning        value          units
AU      orbit radius   1.49598e+11    m   [MEASURED - ephemeris]
yr      sidereal year  3.15582e+07    s   [MEASURED - ephemeris]
```

**VMS solution.**  *Primitives used: P2 — defined once in the Primer.*
```
1. Route length per closure period: v = 2*pi*AU/yr = 29.78 km/s.
```

**Classical solution (same endpoint).**
```
1. Orbital kinematics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Circular-orbit mean (e=0.0167 modulates +-1.7%).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M17_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M17 — Earth orbital speed. BASE: kinematics on Atlas F0001/F0002 closure.
import math
v=2*math.pi*149597870700.0/31558150.0/1e3
EXPECTED=29.7847
assert abs(v/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {v:.2f} km/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): kinematic identity in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M17 — no experimental values on this sheet by design.

**PREDICTED VALUE: 29.78 km/s**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M18 — Sun-Earth L1 Distance

> **At a glance** — Predicted: **1.4964 x10^9 m** · Verify: `python3 verify/M18_verify.py` · CAS: no Atlas block; Hill balance verified in snippet · Experiment: FILE B row M18

**The problem.** Lagrange found the five balance points of the three-body problem in 1772; today SOHO, and lately several space-weather sentinels, live at L1 — the physics pays operational rent.

**Target.** Distance of L1 from Earth toward the Sun (Hill approximation), in units of 10^9 m.

**Inputs & provenance.**
```
Symbol  meaning      value          units
AU      Sun-Earth    1.49598e+11    m    [MEASURED - ephemeris]
M_E     Earth mass   5.9722e+24     kg   [MEASURED]
M_sun   solar mass   1.98892e+30    kg   [MEASURED - ephemeris]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. THREE-ROUTE BALANCE. Between the two profiles, co-rotating: solar pull minus Earth
   pull equals the co-rotation demand. Linearizing at distance d << AU from Earth gives
   the Hill relation d^3 = AU^3 * M_E/(3 M_sun).
2. d = AU*(M_E/3M_sun)^(1/3) = 1.4960e+11*(1.0009e-06)^(1/3) = 1.4964e+09 m.
```

**Classical solution (same endpoint).**
```
1. Restricted three-body L1 (Hill limit): identical, 1.4964e9 m.
```

**Structural difference.** None.

**Exclusions & validity.** Hill (small-ratio) approximation, good to ~1%; halo-orbit offsets excluded.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M18_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M18 — Sun-Earth L1. BASE: F0002 two-loop profiles; Hill linearization HERE.
from sympy import symbols, series, simplify, solve, Rational
d,AUs,Ms,Me,om2=symbols('d AU Ms Me om2',positive=True)
# co-rotation: om2*AU = GMs/AU^2 (Earth's own balance). At Earth-d toward Sun:
# GMs/(AU-d)^2 - GMe/d^2 = om2*(AU-d). Expand to first order in d/AU:
lhs=series(Ms/(AUs-d)**2,d,0,2).removeO()-Me/d**2
rhs=(Ms/AUs**3)*(AUs-d)
bal=simplify((lhs-rhs).expand())
# leading balance: 3*Ms*d/AU^3 = Me/d^2  => d^3 = Me*AU^3/(3Ms)
dsol=solve(3*Ms*d/AUs**3-Me/d**2,d)[0]
assert simplify(dsol**3-Me*AUs**3/(3*Ms))==0
import math
dn=149597870700.0*(5.9722e+24/(3*1.98892e+30))**(1/3.0)/1e9
EXPECTED=1.49643
assert abs(dn/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dn:.4f} x10^9 m   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; Hill balance verified in snippet. (3) Complete proofs: Two-profile route balance from F0002 (two-loop construction, Bridge pp. 16-17); Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M18 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.4964 x10^9 m**

*Pillar: Mechanics/Gravity | Atlas: F0002 (three-route balance)*

---

## AUDIT SHEET M19 — Eastward Deflection of a Dropped Mass (Reich 1831)

> **At a glance** — Predicted: **27.4 mm** · Verify: `python3 verify/M19_verify.py` · CAS: no Atlas block; t^3 law verified in snippet · Experiment: FILE B row M19

**The problem.** Newton suggested to Hooke in 1679 that a dropped stone should land slightly EAST — moving with the tower top's larger rotation speed. Ferdinand Reich finally measured it in 1831: 106 drops down a Freiberg mine shaft.

**Target.** Eastward deflection for h = 158.5 m at latitude 51.33 N, in millimetres.

**Inputs & provenance.**
```
Symbol  meaning         value        units
h       drop height     158.5        m       [STANDARD - experiment geometry]
lat     latitude        51.33        deg     [STANDARD - site]
omega   Earth rotation  7.2921e-05   rad/s   [MEASURED - IERS]
g       local gravity   9.81         m/s^2   [STANDARD]
```

**VMS solution.**  *Primitives used: P2 — defined once in the Primer.*
```
1. RELEASED ROUTE keeps the tower top's larger closure speed; relative to the rotating
   ground the drift integrates twice: d = (1/3) omega g cos(lat) t^3.
2. t = sqrt(2h/g) = 5.685 s.
3. d = (1/3)*7.2921e-05*9.81*0.6248*183.7 = 27.4 mm east.
```

**Classical solution (same endpoint).**
```
1. Coriolis acceleration 2*omega x v integrated: identical t^3/3 law.
```

**Structural difference.** None.

**Exclusions & validity.** Air drag and release transients excluded (they dominated Reich's scatter).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M19_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M19 — Reich eastward deflection. BASE: F0001 route + rotating frame; law HERE.
from sympy import symbols, integrate, simplify, Rational
om,g,lat,t,tau=symbols('om g lat t tau',positive=True)
from sympy import cos as C
# eastward accel = 2*om*C(lat)*v_down = 2*om*C(lat)*g*tau; integrate twice:
d=integrate(integrate(2*om*C(lat)*g*tau,(tau,0,t)),(t,0,symbols('T',positive=True)))
T=symbols('T',positive=True)
d=integrate(integrate(2*om*C(lat)*g*tau,(tau,0,t)),(t,0,T))
assert simplify(d-om*g*C(lat)*T**3/3)==0
import math
Tn=math.sqrt(2*158.5/9.81)
dn=7.2921159e-05*9.81*math.cos(math.radians(51.33))*Tn**3/3*1000
EXPECTED=27.3685
assert abs(dn/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dn:.1f} mm east   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; t^3 law verified in snippet. (3) Complete proofs: Rotating-frame kinematics on the F0001 route equation; Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M19 — no experimental values on this sheet by design.

**PREDICTED VALUE: 27.4 mm**

*Pillar: Mechanics/Gravity | Atlas: kinematics on F0001*

---

## AUDIT SHEET M20 — Schwarzschild Precession of Star S2

> **At a glance** — Predicted: **12.0 arcmin/orbit** · Verify: `python3 verify/M20_verify.py` · CAS: f0001, f0002 PASS; drift law verified in M1 snippet · Experiment: FILE B row M20

**The problem.** S2 orbits the 4-million-solar-mass black hole at the Galactic centre every 16 years. In 2020 the GRAVITY interferometer watched its ellipse rotate — Mercury's 1859 anomaly, replayed around a black hole, and part of the 2020 Nobel citation.

**Target.** The per-orbit Schwarzschild precession of S2, in arcminutes.

**Inputs & provenance.**
```
Symbol  meaning              value          units
a       semi-major axis      1.553e+14     m      [MEASURED - 0.12540 arcsec at 8.277 kpc, GRAVITY]
e       eccentricity         0.884          --     [MEASURED - orbit solution]
M       Sgr A* mass          8.473e+36     kg     [MEASURED - orbit solution]
```

**VMS solution.**  *Primitives used: P1-P4 — defined once in the Primer.*
```
1. M1'S LAW, unchanged: dpsi = 6*pi*G*M/(a*(1-e^2)*c^2) — verified symbolically in
   the M1 snippet; nothing new is introduced at 4e6 solar masses.
2. dpsi = 6*pi*6.6743e-11*8.473e+36/(1.553e+14*0.2185*8.9876e+16)
        = 3.4951e-03 rad/orbit = 12.0 arcmin/orbit.
3. TRANSFER CHECK vs Mercury: same formula, ~7000x Mercury's per-orbit angle.
```

**Classical solution (same endpoint).**
```
1. GR Schwarzschild precession: identical; the GRAVITY paper's GR value is 12.1 arcmin.
```

**Structural difference.** None — the audit point is zero-retune transfer across ~10^6 in central mass.

**Exclusions & validity.** First post-Newtonian order; e=0.884 makes the drift a pericentre 'kink' (declared in the source paper).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M20_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M20 — S2 precession. BASE: M1's closure-drift law (verified in M1_verify.py).
import math
dpsi=6*math.pi*6.6743e-11*8.4727992e+36/(155274113714931.72*(1-0.884**2)*299792458.0**2)
arcmin=dpsi*(180*3600/math.pi)/60
EXPECTED=12.0151
assert abs(arcmin/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {arcmin:.1f} arcmin/orbit   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS; drift law verified in M1 snippet. (3) Complete proofs: Same chain as M1 (Mech SS8, loader2 3291-3298); Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M20 — no experimental values on this sheet by design.

**PREDICTED VALUE: 12.0 arcmin/orbit**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS8 (as M1)*

---

## AUDIT SHEET M21 — Speed of Gravitational Waves

> **At a glance** — Predicted: **0 (exactly); observed bound |dv/c| < 3e-15** · Verify: `python3 verify/M21_verify.py` · CAS: parameter-free; nothing to compute · Experiment: FILE B row M21

**The problem.** On 17 August 2017 LIGO/Virgo caught two neutron stars merging and, 1.7 seconds later, Fermi caught the gamma-ray burst from the same sky position — after both signals had travelled 130 million years. The race across the universe ended in a photo finish.

**Target.** The fractional speed difference (v_GW - c)/c. Predicted: exactly zero.

**Inputs & provenance.**
```
Symbol  meaning                     value   units
--      none: the prediction is parameter-free    [axiom A2]
```

**VMS solution.**  *Primitives used: P1n (A2) — defined once in the Primer.*
```
1. A2: ALL deformations of space propagate at the single invariant speed c — the
   gravitational reorganization front and the electromagnetic front share one route
   speed BY AXIOM. No dispersion, no mass term, no free parameter.
2. Predicted (v_GW - c)/c = 0, exactly, at every frequency.
```

**Classical solution (same endpoint).**
```
1. GR: GWs propagate on the light cone => 0. (Massive-graviton or extra-dispersion alternatives predict nonzero.)
```

**Structural difference.** In VMS the equality is axiomatic (one medium, one speed); in GR it is a property of the field equations. Both are falsified by any confirmed nonzero.

**Exclusions & validity.** None — this is the cleanest prediction in the corpus.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M21_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M21 — GW speed. BASE: axiom A2 — one invariant propagation speed.
# Nothing to compute: the prediction is the exact number 0 with no free parameters.
predicted = 0.0
print(f"PREDICTED VALUE: (v_GW - c)/c = {predicted} exactly (A2)")
print("Falsifier: any confirmed nonzero dispersion or speed offset.")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): parameter-free; nothing to compute. (3) Complete proofs: Axiom A2 (loader2 483); Observer_Lemma_Complete.pdf (invariant-speed structure). (4) Experiment: FILE B, row M21 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0 (exactly); observed bound |dv/c| < 3e-15**

*Pillar: Mechanics/Gravity | Atlas: Axiom A2*

---

## AUDIT SHEET M22 — Lunar Escape Speed

> **At a glance** — Predicted: **2.38 km/s** · Verify: `python3 verify/M22_verify.py` · CAS: f0011, f0002 PASS · Experiment: FILE B row M22

**The problem.** The number that made Apollo's single-stage ascent from the Moon possible: 2.4 km/s instead of Earth's 11.2. Every sample-return since is an experimental check.

**Target.** Escape speed from the lunar surface, in km/s.

**Inputs & provenance.**
```
Symbol  meaning      value         units
GM_M    lunar GM     4.9003e+12   m^3/s^2  [MEASURED - GRAIL tracking]
R_M     lunar radius 1.7374e+06    m        [MEASURED - laser altimetry]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. Work-energy along the radial route (F0011): (1/2)v^2 = GM/R.
2. v = sqrt(2*4.9003e+12/1.7374e+06) = 2.38 km/s.
```

**Classical solution (same endpoint).**
```
1. Energy conservation: identical, 2.38 km/s.
```

**Structural difference.** None.

**Exclusions & validity.** Non-rotating; no exosphere drag (there is essentially none).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M22_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M22 — lunar escape speed. BASE: Atlas F0011 (CAS v2 f0011).
from sympy import symbols, solve, simplify, sqrt, Rational
v,GM,R=symbols('v GM R',positive=True)
assert simplify(solve(Rational(1,2)*v**2-GM/R,v)[0]-sqrt(2*GM/R))==0
import math
vn=math.sqrt(2*4900271059999.999/1737400.0)/1e3
EXPECTED=2.37506
assert abs(vn/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {vn:.2f} km/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0011, f0002 PASS. (3) Complete proofs: Work-energy: Mechanics_Math_Appendix SS2.2-2.4; Atlas F0011; Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M22 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.38 km/s**

*Pillar: Mechanics/Gravity | Atlas: F0011, F0002*

---

## AUDIT SHEET M23 — Orbital Period of Charon

> **At a glance** — Predicted: **6.387 days** · Verify: `python3 verify/M23_verify.py` · CAS: f0002 PASS; two-body reduction verified in M8 snippet · Experiment: FILE B row M23

**The problem.** Charon, found in 1978 as a bump on photographic images of Pluto, is so large relative to its primary that both orbit a point in open space — the solar system's best two-body textbook problem, imaged directly by New Horizons in 2015.

**Target.** The mutual orbital period, in days.

**Inputs & provenance.**
```
Symbol   meaning       value         units
a        separation    1.9596e+07   m    [MEASURED - HST/New Horizons]
M_P      Pluto mass    1.303e+22    kg   [MEASURED - system solution]
M_C      Charon mass   1.586e+21    kg   [MEASURED - system solution]
```

**VMS solution.**  *Primitives used: P2, P3, P4 — defined once in the Primer.*
```
1. TWO-LOOP CLOSURE with comparable masses: the relative route obeys
   P = 2*pi*sqrt(a^3/G(M_P+M_C)) — mass SUM, as in M8.
2. P = 2*pi*sqrt(7.5249e+21/9.7552e+11) = 6.387 d.
```

**Classical solution (same endpoint).**
```
1. Two-body Kepler III: identical, 6.387 d.
```

**Structural difference.** None.

**Exclusions & validity.** Other moons' perturbations negligible at this precision.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M23_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M23 — Charon's period. BASE: two-loop Kepler (reduction verified in M8_verify.py).
import math
P=2*math.pi*math.sqrt(19596000.0**3/(6.6743e-11*(1.303e+22+1.586e+21)))/86400.0
EXPECTED=6.38705
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.3f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; two-body reduction verified in M8 snippet. (3) Complete proofs: Two-loop construction: Bridge pp. 16-17; Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M23 — no experimental values on this sheet by design.

**PREDICTED VALUE: 6.387 days**

*Pillar: Mechanics/Gravity | Atlas: F0002 (two-loop)*

---

## AUDIT SHEET M24 — Weighing the Sun from the Year

> **At a glance** — Predicted: **1.9884 x10^30 kg** · Verify: `python3 verify/M24_verify.py` · CAS: f0001, f0002 PASS · Experiment: FILE B row M24

**The problem.** Invert Kepler: given the year and the astronomical unit, the Sun's mass follows. This is how every stellar mass in astronomy is ultimately weighed — orbits are the scales.

**Target.** The solar mass from 4*pi^2*AU^3/(G*yr^2), in units of 10^30 kg.

**Inputs & provenance.**
```
Symbol  meaning        value          units
AU      orbit radius   1.49598e+11    m    [MEASURED - ephemeris]
yr      sidereal year  3.15582e+07    s    [MEASURED]
G       grav constant  6.67430e-11    SI   [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. Invert the Earth-route closure: M = 4*pi^2*AU^3/(G*yr^2) = 1.9884e30 kg.
```

**Classical solution (same endpoint).**
```
1. Kepler III inverted: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Earth-mass term (3e-6 of total) neglected.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M24_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M24 — solar mass from the year. BASE: Kepler closure (CAS v2 f0001/f0002).
from sympy import symbols, solve, simplify, pi as PI
M,a,T,Gs=symbols('M a T G',positive=True)
Msol=solve((2*PI/T)**2*a**3-Gs*M,M)[0]
assert simplify(Msol-4*PI**2*a**3/(Gs*T**2))==0
import math
Mn=4*math.pi**2*149597870700.0**3/(6.6743e-11*31558150.0**2)/1e30
EXPECTED=1.98842
assert abs(Mn/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Mn:.4f} x10^30 kg   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M24 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.9884 x10^30 kg**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002 | family: consistency*

---

## AUDIT SHEET M26 — Light Bending at Jupiter's Limb

> **At a glance** — Predicted: **16.27 mas** · Verify: `python3 verify/M26_verify.py` · CAS: f0002 PASS; ray integral verified in M2 snippet · Experiment: FILE B row M26

**The problem.** The Sun's deflection test, rerun on a planet: quasar light grazing Jupiter bends by sixteen MILLI-arcseconds — measured by VLBI when Jupiter occults the right radio source. Same law, a thousandth of the angle.

**Target.** The deflection at impact parameter b = R_J, in milliarcseconds.

**Inputs & provenance.**
```
Symbol  meaning       value         units
GM_J    Jupiter GM    1.2669e+17   m^3/s^2  [MEASURED - spacecraft tracking]
R_J     radius        7.1492e+07    m        [MEASURED]
```

**VMS solution.**  *Primitives used: P1n, P4 — defined once in the Primer.*
```
1. M2's route-bending law, unchanged: theta = 4GM/(bc^2)
   = 4*1.2669e+17/(7.1492e+07*8.9876e+16) = 7.887e-08 rad = 16.27 mas.
```

**Classical solution (same endpoint).**
```
1. GR deflection: identical, 16.27 mas.
```

**Structural difference.** None — zero-retune transfer of M2's law from star to planet.

**Exclusions & validity.** First order; Jovian atmosphere/ionosphere handled by dual-frequency VLBI.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M26_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M26 — Jupiter limb deflection. BASE: M2's law (integral in M2_verify.py).
import math
th=4*1.26687e+17/(71492000.0*299792458.0**2)*(180*3600/math.pi)*1000
EXPECTED=16.2674
assert abs(th/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {th:.2f} mas   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; ray integral verified in M2 snippet. (3) Complete proofs: As M2 (Mech SS5, loader2 3263-3268); Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M26 — no experimental values on this sheet by design.

**PREDICTED VALUE: 16.27 mas**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS5 (as M2)*

---

## AUDIT SHEET M27 — Cassini Conjunction Test: the Route-Bending Coefficient

> **At a glance** — Predicted: **gamma = 1 (exactly)** · Verify: `python3 verify/M27_verify.py` · CAS: no numeric content; lock statement · Experiment: FILE B row M27

**The problem.** In 2002 the Cassini spacecraft's radio link passed behind the Sun, and Doppler tracking measured the Shapiro phase to a few parts per hundred thousand — the tightest test ever of HOW MUCH space itself contributes to light's response to mass (the PPN parameter gamma).

**Target.** The PPN gamma implied by the framework. Predicted: exactly 1.

**Inputs & provenance.**
```
Symbol  meaning                          value   units
--      none: the coefficient is locked, not fitted   [locked normalization]
```

**VMS solution.**  *Primitives used: P4 — defined once in the Primer.*
```
1. The cost map's factor 2 (kappa0 lock, P4) fixes the space-curvature share equal to
   the time-depth share. In PPN language that IS gamma = 1, with no adjustable freedom.
2. Predicted gamma = 1.000000 exactly.
```

**Classical solution (same endpoint).**
```
1. GR: gamma = 1 exactly. Scalar-tensor alternatives predict gamma < 1.
```

**Structural difference.** Both frameworks lock the coefficient; Cassini's (gamma-1) = (2.1 +/- 2.3)e-5 bounds any deviation.

**Exclusions & validity.** Note (recorded finding): Mech SS5's current wording anchors kappa0 on the solar deflection; the Bridge derivation (equal action of both profile parts on a null route) is the non-circular ground and the source doc should cite it. Flagged in the audit log.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M27_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M27 — PPN gamma. BASE: kappa0=2 lock (P4) => gamma=1, parameter-free.
predicted_gamma = 1.0
print(f"PREDICTED VALUE: gamma = {predicted_gamma} exactly (locked, not fitted)")
print("Falsifier: any confirmed |gamma-1| above measurement bounds.")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no numeric content; lock statement. (3) Complete proofs: kappa0 lock: Mech SS5 (loader2 3263-3268) + Bridge L-M1 classical limit (loader2 1852-1862, 1918-1922). (4) Experiment: FILE B, row M27 — no experimental values on this sheet by design.

**PREDICTED VALUE: gamma = 1 (exactly)**

*Pillar: Mechanics/Gravity | Atlas: F0002; Mech SS5*

---

## AUDIT SHEET M28 — Free-Air Gravity Gradient

> **At a glance** — Predicted: **0.3083 mGal/m** · Verify: `python3 verify/M28_verify.py` · CAS: f0002 PASS; derivative in snippet · Experiment: FILE B row M28

**The problem.** Climb one metre and you weigh measurably less: the 'free-air correction' every gravity survey applies. Modern superconducting gravimeters resolve it per centimetre of instrument height.

**Target.** The magnitude of dg/dh just above Earth's surface, in mGal per metre.

**Inputs & provenance.**
```
Symbol  meaning          value         units
GM      Earth parameter  3.98603e+14   m^3/s^2  [MEASURED - ephemeris GM]
R       mean radius      6.3710e+06    m        [MEASURED]
```

**VMS solution.**  *Primitives used: P4 — defined once in the Primer.*
```
1. Profile steepness: g(r)=GM/r^2 => dg/dr = -2GM/R^3 = -3.0828e-06 s^-2
   = -0.3083 mGal/m (magnitude 0.3083).
```

**Classical solution (same endpoint).**
```
1. Newtonian inverse-square gradient: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Free-air (no terrain/Bouguer mass between stations).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M28_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M28 — free-air gradient. BASE: Atlas F0002 (CAS v2 f0002).
from sympy import symbols, diff, simplify
GM,r=symbols('GM r',positive=True)
assert simplify(diff(GM/r**2,r)+2*GM/r**3)==0
g=2*398602544600000.0/6371000.0**3*1e5
EXPECTED=0.308281
assert abs(g/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {g:.4f} mGal/m   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; derivative in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M28 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.3083 mGal/m**

*Pillar: Mechanics/Gravity | Atlas: F0002*

---

## AUDIT SHEET M29 — Orbital Decay of PSR B1913+16

> **At a glance** — Predicted: **-2.403 x10^-12 s/s** · Verify: `python3 verify/M29_verify.py` · CAS: no Atlas block; f(e) and assembly computed in snippet · Experiment: FILE B row M29

**The problem.** The Hulse-Taylor binary's orbit shrinks by 3.5 metres per year because the system radiates gravitational waves — indirect proof of their existence twenty years before LIGO, and the core of the 1993 Nobel Prize.

**Target.** The intrinsic orbital period derivative, in units of 10^-12 s/s.

**Inputs & provenance.**
```
Symbol  meaning           value        units
P_b     orbital period    27906.98     s      [MEASURED - timing]
e       eccentricity      0.6171334   --     [MEASURED - timing]
m1,m2   component masses  1.438, 1.39   M_sun  [MEASURED - timing solution]
```

**VMS solution.**  *Primitives used: P1n, P3, P4 — defined once in the Primer.*
```
1. DECLARED IMPORT: mutually orbiting loops radiate deformation at c; the quadrupole
   loss formula (Peters) is taken as GR-dictionary — the VMS-native radiation derivation
   is future work, and this sheet says so.
2. f(e) = (1+73/24 e^2+37/96 e^4)/(1-e^2)^(7/2) = 11.857.
3. Pb_dot = -(192*pi/5)(2*pi/P_b)^(5/3) (T_sun)^(5/3) m1 m2 (m1+m2)^(-1/3) f(e)
          = -2.403e-12 s/s.
```

**Classical solution (same endpoint).**
```
1. GR quadrupole formula: identical, -2.403e-12.
```

**Structural difference.** The import direction is explicit here: this sheet demonstrates dictionary use, not native derivation.

**Exclusions & validity.** Kinematic (Shklovskii/acceleration) corrections applied observation-side, not here.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M29_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M29 — pulsar orbital decay. BASE: GR quadrupole (DECLARED IMPORT).
import math
Pb=27906.98; e=0.6171334; m1=1.438; m2=1.39
Tsun=4.926754589154973e-06
fe=(1+73/24*e**2+37/96*e**4)/(1-e**2)**3.5
Pbdot=-(192*math.pi/5)*(2*math.pi/Pb)**(5/3.0)*Tsun**(5/3.0)*m1*m2/(m1+m2)**(1/3.0)*fe*1e12
EXPECTED=-2.40312
assert abs(Pbdot/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Pbdot:.3f} x10^-12 s/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; f(e) and assembly computed in snippet. (3) Complete proofs: Peters 1964 (external); timing framework: Weisberg & Huang 2016. VMS radiation-sector derivation: open item (audit log). (4) Experiment: FILE B, row M29 — no experimental values on this sheet by design.

**PREDICTED VALUE: -2.403 x10^-12 s/s**

*Pillar: Mechanics/Gravity | Atlas: GR quadrupole (declared import)*

---

## AUDIT SHEET M30 — The Eotvos Effect

> **At a glance** — Predicted: **145.8 mGal** · Verify: `python3 verify/M30_verify.py` · CAS: no Atlas block; expansion verified in snippet · Experiment: FILE B row M30

**The problem.** In 1915-19 Lorand Eotvos noticed that gravity surveys taken on eastbound ships read systematically lighter than westbound ones — the ship's motion adds to or subtracts from Earth's rotation. Marine gravimetry corrects for it to this day.

**Target.** The weight reduction for 10 m/s eastward at the equator, in mGal.

**Inputs & provenance.**
```
Symbol  meaning         value        units
omega   Earth rotation  7.2921e-05   rad/s  [MEASURED - IERS]
v       ship speed      10           m/s    [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P2 — defined once in the Primer.*
```
1. Moving WITH the closure spin raises the route's total rotation rate; the leading
   correction is dg = 2*omega*v = 2*7.2921e-05*10 = 1.458e-03 m/s^2 = 145.8 mGal.
```

**Classical solution (same endpoint).**
```
1. Rotating-frame expansion of (omega + v/R)^2 R: identical leading term.
```

**Structural difference.** None.

**Exclusions & validity.** Equatorial, eastward; the v^2/R term (0.16 mGal here) neglected.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M30_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M30 — Eotvos effect. BASE: rotating-frame expansion (verified here).
from sympy import symbols, series, simplify
om,v,R=symbols('om v R',positive=True)
cent=(om+v/R)**2*R
lead=series(cent,v,0,2).removeO()
assert simplify(lead-(om**2*R+2*om*v))==0
g=2*7.2921159e-05*10*1e5
EXPECTED=145.842
assert abs(g/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {g:.1f} mGal   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; expansion verified in snippet. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M30 — no experimental values on this sheet by design.

**PREDICTED VALUE: 145.8 mGal**

*Pillar: Mechanics/Gravity | Atlas: kinematics on F0001*

---

## AUDIT SHEET M31 — Length of the Sidereal Year

> **At a glance** — Predicted: **365.26 days** · Verify: `python3 verify/M31_verify.py` · CAS: f0001, f0002 PASS · Experiment: FILE B row M31

**The problem.** The year, computed rather than counted: from the astronomical unit and the Sun's gravitational parameter alone.

**Target.** The sidereal year from 2*pi*sqrt(AU^3/GM_sun), in days.

**Inputs & provenance.**
```
Symbol  meaning     value          units
AU      radius      1.49598e+11    m        [MEASURED - ephemeris]
GM_sun  solar GM    1.32712e+20    m^3/s^2  [MEASURED - ephemeris]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. P = 2*pi*sqrt(AU^3/GM) = 2*pi*sqrt(2.52269e+13) = 365.257 d.
```

**Classical solution (same endpoint).**
```
1. Kepler III: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Two-body; planetary perturbations ~seconds.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M31_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M31 — sidereal year. BASE: Kepler closure (CAS v2).
import math
P=2*math.pi*math.sqrt(149597870700.0**3/1.3271244e+20)/86400.0
EXPECTED=365.257
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.2f} days   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M31 — no experimental values on this sheet by design.

**PREDICTED VALUE: 365.26 days**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002 | family: consistency*

---

## AUDIT SHEET M32 — De Sitter Precession of the Lunar Orbit

> **At a glance** — Predicted: **19.19 mas/yr** · Verify: `python3 verify/M32_verify.py` · CAS: f0002 PASS; reduction verified in M6 snippet · Experiment: FILE B row M32

**The problem.** De Sitter predicted in 1916 that the Earth-Moon system, as a gyroscope orbiting the Sun, should precess ~19 milliarcseconds a year. Lunar laser ranging — bouncing light off Apollo's mirrors for fifty years — has confirmed it to better than 1%.

**Target.** The geodetic precession of the Earth-Moon frame, in milliarcseconds per year.

**Inputs & provenance.**
```
Symbol  meaning     value          units
GM_sun  solar GM    1.32712e+20    m^3/s^2  [MEASURED - ephemeris]
AU      orbit       1.49598e+11    m        [MEASURED]
```

**VMS solution.**  *Primitives used: P4, P7 — defined once in the Primer.*
```
1. M6'S TRANSPORT LAW at 1 AU (declared import as in M6): Omega = (3/2)(GM/c^2 AU)*n,
   with mean motion n = sqrt(GM/AU^3) = 1.9910e-07 rad/s.
2. Omega = 1.5*9.8706e-09*1.9910e-07 = 2.9478e-15 rad/s
        = 19.19 mas/yr.
```

**Classical solution (same endpoint).**
```
1. GR de Sitter: identical, 19.19 mas/yr; LLR sees it in the lunar node/perigee.
```

**Structural difference.** Same import status as M6 — one corpus insert closes both sheets.

**Exclusions & validity.** Circular-orbit mean; planetary terms excluded.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M32_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M32 — lunar de Sitter precession. BASE: M6's law (reduction in M6_verify.py).
import math
n=math.sqrt(1.3271244e+20/149597870700.0**3)
Om=1.5*(1.3271244e+20/(299792458.0**2*149597870700.0))*n
mas=Om*31558150.0*(180*3600/math.pi)*1000
EXPECTED=19.1885
assert abs(mas/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {mas:.2f} mas/yr   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS; reduction verified in M6 snippet. (3) Complete proofs: As M6; LLR context: Williams et al. 2004 (external). (4) Experiment: FILE B, row M32 — no experimental values on this sheet by design.

**PREDICTED VALUE: 19.19 mas/yr**

*Pillar: Mechanics/Gravity | Atlas: F0002; PM SS1.5 (as M6)*

---

## AUDIT SHEET M33 — Gravity at ISS Altitude

> **At a glance** — Predicted: **8.643 m/s^2** · Verify: `python3 verify/M33_verify.py` · CAS: f0002 PASS · Experiment: FILE B row M33

**The problem.** 'Weightlessness' at 420 km is not the absence of gravity — the field there is 88% of the surface value; astronauts float because they FALL. The number kills a common misconception with one division.

**Target.** The field strength g at r = 6791 km, in m/s^2.

**Inputs & provenance.**
```
Symbol  meaning          value         units
GM      Earth parameter  3.98603e+14   m^3/s^2  [MEASURED - ephemeris GM]
r       orbit radius     6.7910e+06    m        [STANDARD - R_E + 420 km]
```

**VMS solution.**  *Primitives used: P4 — defined once in the Primer.*
```
1. g = GM/r^2 = 3.9860e+14/4.6118e+13 = 8.643 m/s^2 (88% of surface).
```

**Classical solution (same endpoint).**
```
1. Newtonian field: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Point-mass Earth.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M33_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M33 — g at ISS altitude. BASE: Atlas F0002 (CAS v2).
g=398602544600000.0/6791000.0**2
EXPECTED=8.64316
assert abs(g/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {g:.3f} m/s^2   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0002 PASS. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M33 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.643 m/s^2**

*Pillar: Mechanics/Gravity | Atlas: F0002 | family: consistency*

---

## AUDIT SHEET M35 — Period of Neptune

> **At a glance** — Predicted: **164.9 years** · Verify: `python3 verify/M35_verify.py` · CAS: f0001, f0002 PASS · Experiment: FILE B row M35

**The problem.** Neptune, found by Le Verrier's mathematics in 1846, completed its FIRST observed orbit only in 2011 — the prediction below spans longer than the observational record of the planet itself.

**Target.** The orbital period from a = 30.07 AU, in years.

**Inputs & provenance.**
```
Symbol  meaning           value   units
a       semi-major axis   30.07   AU   [MEASURED - orbit solution]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. P = a^(3/2) = 30.07^1.5 = 164.9 yr.
```

**Classical solution (same endpoint).**
```
1. Kepler III: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Osculating elements.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M35_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M35 — Neptune's period. BASE: Kepler closure (CAS v2).
P=30.07**1.5
EXPECTED=164.892
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.1f} years   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0001, f0002 PASS. (3) Complete proofs: Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M35 — no experimental values on this sheet by design.

**PREDICTED VALUE: 164.9 years**

*Pillar: Mechanics/Gravity | Atlas: F0001, F0002*

---

## AUDIT SHEET M36 — Earth's Equatorial Rotation Speed

> **At a glance** — Predicted: **465.1 m/s** · Verify: `python3 verify/M36_verify.py` · CAS: kinematic identity · Experiment: FILE B row M36

**The problem.** The free launch credit every equatorial spaceport banks: the ground itself moves at 465 m/s. It is why Kourou and Canaveral hug low latitudes.

**Target.** Surface speed at the equator, omega*R_eq, in m/s.

**Inputs & provenance.**
```
Symbol  meaning       value        units
omega   spin rate     7.29212e-05   rad/s  [MEASURED - IERS]
R_eq    eq. radius    6.3781e+06    m      [STANDARD - WGS84]
```

**VMS solution.**  *Primitives used: P2 — defined once in the Primer.*
```
1. v = omega*R_eq = 7.2921e-05*6.3781e+06 = 465.1 m/s.
```

**Classical solution (same endpoint).**
```
1. Kinematics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M36_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M36 — equatorial rotation speed.
v=7.2921159e-05*6378100.0
EXPECTED=465.098
assert abs(v/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {v:.1f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): kinematic identity. (3) Complete proofs: WGS84/IERS conventions (external inputs). (4) Experiment: FILE B, row M36 — no experimental values on this sheet by design.

**PREDICTED VALUE: 465.1 m/s**

*Pillar: Mechanics/Gravity | Atlas: kinematics*

---

## AUDIT SHEET M37 — Solar Escape Speed at Earth's Orbit

> **At a glance** — Predicted: **42.12 km/s** · Verify: `python3 verify/M37_verify.py` · CAS: f0011 PASS; condition verified in M22 snippet · Experiment: FILE B row M37

**The problem.** The speed that separates planets from interstellar probes: Voyager 1 crossed it with a gravity-assist ladder and is now the fastest receding human object. From 1 AU the Sun demands 42 km/s.

**Target.** Escape speed from the solar profile at r = 1 AU, in km/s.

**Inputs & provenance.**
```
Symbol  meaning    value          units
GM_sun  solar GM   1.32712e+20    m^3/s^2  [MEASURED - ephemeris]
AU      radius     1.49598e+11    m        [MEASURED]
```

**VMS solution.**  *Primitives used: P2, P4 — defined once in the Primer.*
```
1. (1/2)v^2 = GM/AU (F0011) => v = sqrt(2GM/AU) = 42.12 km/s
   (= sqrt(2) x Earth's orbital speed, 29.78 km/s — the classic ratio).
```

**Classical solution (same endpoint).**
```
1. Energy conservation: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Heliocentric, drag-free.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/M37_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET M37 — solar escape at 1 AU. BASE: Atlas F0011 (CAS v2 f0011).
import math
v=math.sqrt(2*1.3271244e+20/149597870700.0)/1e3
ratio=v/(2*math.pi*149597870700.0/31558150.0/1e3)
assert abs(ratio-math.sqrt(2))<1e-3   # sqrt(2) x orbital speed identity
EXPECTED=42.1219
assert abs(v/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {v:.2f} km/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0011 PASS; condition verified in M22 snippet. (3) Complete proofs: Atlas F0011; Variational route mechanics & central forces: Mechanics_Math_Appendix SS1-2A (loader2 3203-3247); Atlas F0001/F0002 (loader2 274-284); CAS v2 f0001/f0002 PASS. (4) Experiment: FILE B, row M37 — no experimental values on this sheet by design.

**PREDICTED VALUE: 42.12 km/s**

*Pillar: Mechanics/Gravity | Atlas: F0011, F0002*


---

# EM / OPTICS (E1-E38)

---

## AUDIT SHEET E1 — The Fine-Structure Constant from the Locked Set

> **At a glance** — Predicted: **1/alpha = 137.0359990** · Verify: `python3 verify/E1_verify.py` · CAS: constants-lock; identity computed in snippet · Experiment: FILE B row E1

**The problem.** Sommerfeld introduced alpha in 1916; Feynman called it 'one of the greatest damn mysteries of physics'. Here the only claim is consistency: the framework never locks alpha separately, so it must fall out of the constants that ARE locked.

**Target.** 1/alpha from e, hbar, c, eps0.

**Inputs & provenance.**
```
Symbol  meaning           value           units
e       closure charge    1.602177e-19   C     [LOCKED - SI exact]
hbar    action scale S0   1.054572e-34  J s   [LOCKED - SI exact]
c       route speed       2.997925e+08  m/s   [LOCKED - SI exact]
eps0    vacuum lock       8.854188e-12  F/m   [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. alpha = e^2/(4*pi*eps0*hbar*c) — no VMS freedom exists here by construction
   (EM Calibration: 'derived, not locked').
2. alpha = 7.2973525737e-03;  1/alpha = 137.0359990.
```

**Classical solution (same endpoint).**
```
1. QED coupling definition: identical combination.
```

**Structural difference.** None — the audit point is that the locked set closes on the dimensionless coupling.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E1_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E1 — fine-structure constant. BASE: locked set only (EM Calibration).
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
EXPECTED=137.036
assert abs((1/alpha)/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: 1/alpha = {1/alpha:.7f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock; identity computed in snippet. (3) Complete proofs: EM Calibration 'Extended Locked Calibration Clarifications' (loader2 1742-1751); EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E1 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1/alpha = 137.0359990**

*Pillar: EM/Optics | Atlas: derived from locks (EM Calibration) | family: constants-lock*

---

## AUDIT SHEET E2 — The Rydberg Constant

> **At a glance** — Predicted: **1.097373e+07 1/m** · Verify: `python3 verify/E2_verify.py` · CAS: f0008 PASS · Experiment: FILE B row E2

**The problem.** Rydberg extracted his constant from spectral bookkeeping in 1888 with no idea what it meant; Bohr computed it from first principles in 1913 — the moment atomic structure became calculable.

**Target.** R_inf = alpha^2 m_e c / 2h, in 1/m.

**Inputs & provenance.**
```
Symbol  meaning        value           units
alpha   coupling       7.29735257e-03  --    [DERIVED - sheet E1]
m_e     electron mass  9.109384e-31  kg    [MEASURED - CODATA]
c, h    locks          SI exact         --    [LOCKED]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. The ladder scale from the single S0 lock (F0008): R_inf = alpha^2 m_e c/2h
   = 5.325135e-05 * 9.109384e-31 * 2.997925e+08 / (2*6.626070e-34) = 1.097373e+07 /m.
```

**Classical solution (same endpoint).**
```
1. Bohr/QM Rydberg constant: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Infinite nuclear mass (reduced-mass sheets E3/P5 correct it).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E2_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E2 — Rydberg constant. BASE: F0008 (CAS v2 f0008).
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
R=alpha**2*9.1093837015e-31*299792458.0/(2*6.62607015e-34)
EXPECTED=1.09737e+07
assert abs(R/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {R:.6e} /m   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E2 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.097373e+07 1/m**

*Pillar: EM/Optics | Atlas: F0008 | family: constants-lock*

---

## AUDIT SHEET E3 — Lyman-Alpha Wavelength

> **At a glance** — Predicted: **121.5684 nm** · Verify: `python3 verify/E3_verify.py` · CAS: f0008 PASS; reduced-mass step in snippet · Experiment: FILE B row E3

**The problem.** The brightest line of the ultraviolet universe — Lyman-alpha glow maps galaxies across cosmic time. Its wavelength follows from the closure ladder with the proton's finite mass folded in.

**Target.** H 2->1 vacuum wavelength, reduced-mass corrected, in nm.

**Inputs & provenance.**
```
Symbol  meaning         value           units
R_inf   ladder scale    1.097373e+07  1/m   [DERIVED - sheet E2]
m_p     proton mass     1.672622e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Two-loop reduced mass: mu/m_e = m_p/(m_e+m_p) = 0.999456; R_H = 1.096776e+07 /m.
2. 1/lam = R_H(1 - 1/4) => lam = 4/(3 R_H) = 121.5684 nm.
```

**Classical solution (same endpoint).**
```
1. Bohr/QM with reduced mass: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Fine structure/Lamb shift below the ppm level quoted (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E3_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E3 — Lyman-alpha. BASE: F0008 ladder (CAS v2 f0008); reduced mass HERE.
from sympy import symbols, simplify
me_,mp_=symbols('me mp',positive=True)
mu=me_*mp_/(me_+mp_)
assert simplify(mu/me_-mp_/(me_+mp_))==0
RH=10973731.581520207*1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27)
lam=4/(3*RH)*1e9
EXPECTED=121.568
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.4f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS; reduced-mass step in snippet. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E3 — no experimental values on this sheet by design.

**PREDICTED VALUE: 121.5684 nm**

*Pillar: EM/Optics | Atlas: F0008*

---

## AUDIT SHEET E4 — The Balmer Ratio 27/20

> **At a glance** — Predicted: **1.350000 (exact)** · Verify: `python3 verify/E4_verify.py` · CAS: f0008 PASS (ratio step in block) · Experiment: FILE B row E4

**The problem.** Balmer found his formula in 1885 by staring at four wavelengths. The ratio of the first two lines is a pure fraction of integers — a prediction requiring no constant of nature at all.

**Target.** lambda(H-alpha)/lambda(H-beta). Predicted: exactly 27/20 = 1.350000.

**Inputs & provenance.**
```
Symbol  meaning   value   units
--      none: pure integer closure structure   [parameter-free]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. lam_a/lam_b = (1/4-1/16)/(1/4-1/9) = (3/16)/(5/36) = 27/20 exactly — every scale
   cancels; only the integers of the closure ladder remain.
```

**Classical solution (same endpoint).**
```
1. Rydberg-formula ratio: identical exact fraction.
```

**Structural difference.** None.

**Exclusions & validity.** None — scale-free.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E4_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E4 — Balmer ratio. BASE: F0008 integer ladder (CAS v2 f0008).
from sympy import Rational, simplify
ratio=(Rational(1,4)-Rational(1,16))/(Rational(1,4)-Rational(1,9))
assert ratio==Rational(27,20)
print(f"PREDICTED VALUE: {float(ratio):.6f} (exactly 27/20)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS (ratio step in block). (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E4 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.350000 (exact)**

*Pillar: EM/Optics | Atlas: F0008 (EM SS7.3)*

---

## AUDIT SHEET E5 — The 21 cm Line of Hydrogen

> **At a glance** — Predicted: **1421.2 MHz** · Verify: `python3 verify/E5_verify.py` · CAS: no Atlas block; formula assembled+checked in snippet (extension candidate) · Experiment: FILE B row E5

**The problem.** Predicted by van de Hulst in 1944 in occupied Holland, detected in 1951: the radio hum of neutral hydrogen that let astronomers map the Milky Way's spiral arms through the dust. SKA will map the early universe with it.

**Target.** The ground-state hyperfine frequency, in MHz.

**Inputs & provenance.**
```
Symbol  meaning            value           units
g_p     proton g-factor    5.5856947       --    [MEASURED - CODATA anchor]
m_e/m_p mass ratio         5.4461702e-04  --    [MEASURED - CODATA]
alpha   coupling           7.2973526e-03  --    [DERIVED - E1]
```

**VMS solution.**  *Primitives used: P3 (orientation coupling) — defined once in the Primer.*
```
1. ORIENTATION-ORIENTATION contact coupling of the electron loop and the proton's
   three-loop closure (Fermi-contact dictionary):
     dE = (4/3) g_p (m_e/m_p) alpha^4 m_e c^2.
2. dE = 1.3333*5.58569*5.44617e-04*2.83571e-09*8.18711e-14 = 9.41670e-25 J.
3. nu = dE/h = 1421.2 MHz  (QED + reduced-mass corrections excluded, declared;
   they supply the remaining ~0.05%).
```

**Classical solution (same endpoint).**
```
1. Fermi contact interaction: identical formula.
```

**Structural difference.** None at this order; VMS reads the coupling as loop-orientation energy.

**Exclusions & validity.** Declared exclusions above; the 0.05% residual is the declared band.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E5_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E5 — 21 cm line. BASE: contact-coupling dictionary; scaling verified HERE.
from sympy import symbols, diff, simplify
a,mc2=symbols('alpha mc2',positive=True)
dE=a**4*mc2
assert simplify(diff(dE,a)-4*a**3*mc2)==0   # alpha^4 scaling audit
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
nu=(4/3)*5.5856946893*(9.1093837015e-31/1.67262192369e-27)*alpha**4*9.1093837015e-31*299792458.0**2/6.62607015e-34/1e6
EXPECTED=1421.16
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.1f} MHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; formula assembled+checked in snippet (extension candidate). (3) Complete proofs: Hyperfine dictionary: PM SS11.7 cross-checks (loader2 2697-2756); Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E5 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1421.2 MHz**

*Pillar: EM/Optics | Atlas: hyperfine (contact) dictionary*

---

## AUDIT SHEET E6 — The Thomson Cross-Section

> **At a glance** — Predicted: **6.65246 x10^-29 m^2** · Verify: `python3 verify/E6_verify.py` · CAS: constants-lock · Experiment: FILE B row E6

**The problem.** J.J. Thomson computed in 1906 how big an electron 'looks' to a light wave. The answer sets the opacity of stars and the moment the early universe turned transparent.

**Target.** sigma_T = (8*pi/3) r_e^2, in 10^-29 m^2.

**Inputs & provenance.**
```
Symbol  meaning                  value          units
r_e     classical e- radius      2.817940e-15  m   [DERIVED - sheet E7]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Display-area the driven loop presents to a front: sigma = (8*pi/3) r_e^2
   = 8.37758*(2.81794e-15)^2 = 6.652459e-29 m^2.
```

**Classical solution (same endpoint).**
```
1. Larmor re-radiation of a driven charge: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Photon energy << m_e c^2 (Compton regime above).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E6_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E6 — Thomson cross-section. BASE: r_e (E7).
import math
re_=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*9.1093837015e-31*299792458.0**2)
s=8*math.pi/3*re_**2*1e29
EXPECTED=6.65246
assert abs(s/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {s:.5f} x10^-29 m^2   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock. (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E6 — no experimental values on this sheet by design.

**PREDICTED VALUE: 6.65246 x10^-29 m^2**

*Pillar: EM/Optics | Atlas: derived scale (F0021 family) | family: constants-lock*

---

## AUDIT SHEET E7 — The Classical Electron Radius

> **At a glance** — Predicted: **2.8179 fm** · Verify: `python3 verify/E7_verify.py` · CAS: constants-lock · Experiment: FILE B row E7

**The problem.** The length at which an electron's electrostatic self-energy would equal its rest energy — not the electron's 'size', but the scale where its Coulomb budget and loop budget cross, and the natural unit of X-ray scattering.

**Target.** r_e = e^2/(4*pi*eps0*m_e*c^2), in femtometres.

**Inputs & provenance.**
```
Symbol  meaning   value   units
e, eps0, m_e, c — as sheets E1/E2   [LOCKED/MEASURED]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Coulomb route budget e^2/(4*pi*eps0*r) equals loop budget m_e c^2 at
   r_e = 2.8179 fm.
```

**Classical solution (same endpoint).**
```
1. Definition-level identity: same.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E7_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E7 — classical electron radius.
from sympy import symbols, solve, simplify
r,k,e2,mc2=symbols('r k e2 mc2',positive=True)
assert simplify(solve(k*e2/r-mc2,r)[0]-k*e2/mc2)==0
import math
re_=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*9.1093837015e-31*299792458.0**2)*1e15
EXPECTED=2.81794
assert abs(re_/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {re_:.4f} fm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock. (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E7 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.8179 fm**

*Pillar: EM/Optics | Atlas: F0003+F0021 crossover | family: constants-lock*

---

## AUDIT SHEET E8 — Electron Cyclotron Frequency at 1 Tesla

> **At a glance** — Predicted: **1.758820e+11 rad/s** · Verify: `python3 verify/E8_verify.py` · CAS: f0004 PASS (cyclotron replication in block) · Experiment: FILE B row E8

**The problem.** The frequency every Penning-trap mass measurement and every fusion-plasma heating system is built on: how fast an electron circles a magnetic field line.

**Target.** omega_c = eB/m_e at B = 1 T, in rad/s.

**Inputs & provenance.**
```
Symbol  meaning         value           units
e/m_e   charge/mass     1.758820e+11  C/kg  [MEASURED - CODATA]
B       field           1.000            T     [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Orientation-gated steering curves the route into a circle (F0004 Eq. 2-8):
   omega = eB/m_e = 1.758820e+11 rad/s.
```

**Classical solution (same endpoint).**
```
1. Lorentz-force circular motion: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Non-relativistic.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E8_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E8 — cyclotron frequency. BASE: Atlas F0004 (CAS v2 f0004).
from sympy import symbols, solve, simplify
m,v,r,q,B=symbols('m v r q B',positive=True)
# m v^2/r = q v B  => omega = v/r = qB/m
assert simplify(solve(m*v**2/r-q*v*B,v)[0]/r-q*B/m)==0
om=1.602176634e-19/9.1093837015e-31
EXPECTED=1.75882e+11
assert abs(om/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {om:.6e} rad/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0004 PASS (cyclotron replication in block). (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E8 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.758820e+11 rad/s**

*Pillar: EM/Optics | Atlas: F0004 | family: constants-lock*

---

## AUDIT SHEET E9 — The Bohr Magneton

> **At a glance** — Predicted: **9.274010e-24 J/T** · Verify: `python3 verify/E9_verify.py` · CAS: constants-lock; loop-current identity in snippet · Experiment: FILE B row E9

**The problem.** The natural unit of atomic magnetism, from the smallest closed current loop the framework allows.

**Target.** mu_B = e*hbar/(2 m_e), in J/T.

**Inputs & provenance.**
```
Symbol  meaning   value   units
e, hbar, m_e — as sheet E1   [LOCKED/MEASURED]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. n=1 closure: mu = I*A = (e v/2*pi*r)(pi r^2) = e v r/2; with v r = hbar/m_e (P3
   closure) => mu_B = e*hbar/2m_e = 9.274010e-24 J/T.
```

**Classical solution (same endpoint).**
```
1. QM Bohr magneton: identical.
```

**Structural difference.** None.

**Exclusions & validity.** g-factor corrections live on P9.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E9_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E9 — Bohr magneton. BASE: PM SS1.3 loop current.
from sympy import symbols, simplify, pi as PI
ee,v,r,m,hb=symbols('e v r m hbar',positive=True)
mu=(ee*v/(2*PI*r))*(PI*r**2)
assert simplify(mu.subs(v,hb/(m*r))-ee*hb/(2*m))==0
muB=1.602176634e-19*1.054571817e-34/(2*9.1093837015e-31)
EXPECTED=9.27401e-24
assert abs(muB/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {muB:.6e} J/T   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock; loop-current identity in snippet. (3) Complete proofs: PM SS1.3 (loader2 2144-2148); EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E9 — no experimental values on this sheet by design.

**PREDICTED VALUE: 9.274010e-24 J/T**

*Pillar: EM/Optics | Atlas: PM SS1.3 | family: constants-lock*

---

## AUDIT SHEET E10 — Brewster's Angle for Water

> **At a glance** — Predicted: **53.12 degrees** · Verify: `python3 verify/E10_verify.py` · CAS: no Atlas block; r_p( th_B )=0 verified numerically in snippet · Experiment: FILE B row E10

**The problem.** Brewster found in 1815 the angle at which reflected glare is perfectly polarized — the physics inside every pair of polarized sunglasses looking at a lake.

**Target.** The polarizing angle for air->water, in degrees.

**Inputs & provenance.**
```
Symbol  meaning        value    units
n       water index    1.333   --   [MEASURED - refractometry, 589 nm]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Boundary continuity (L2) + projection drain (L5): the reflected p-route vanishes
   when reflected and refracted routes are orthogonal => tan(th_B) = n.
2. th_B = atan(1.333) = 53.12 deg.
```

**Classical solution (same endpoint).**
```
1. Fresnel r_p = 0: identical condition.
```

**Structural difference.** Mechanism language differs (closure drain vs boundary fields); condition identical.

**Exclusions & validity.** Single wavelength (n disperses ~0.3% across visible).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E10_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E10 — Brewster angle. BASE: EM Laws L2/L5; Fresnel r_p=0 verified HERE.
import math
n=1.333
thB=math.atan(n)
th2=math.asin(math.sin(thB)/n)                      # Snell
rp=(n*math.cos(thB)-math.cos(th2))/(n*math.cos(thB)+math.cos(th2))
assert abs(rp)<1e-12, rp                            # p-reflection vanishes at Brewster
deg=math.degrees(thB)
EXPECTED=53.1232
assert abs(deg/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {deg:.2f} deg (r_p there = {rp:.1e})   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; r_p( th_B )=0 verified numerically in snippet. (3) Complete proofs: EM Laws L2/L5 (loader2 1791-1812); Fresnel set: EM appendix SS3 (loader2 1331-1345). (4) Experiment: FILE B, row E10 — no experimental values on this sheet by design.

**PREDICTED VALUE: 53.12 degrees**

*Pillar: EM/Optics | Atlas: L2+L5 (EM Laws)*

---

## AUDIT SHEET E11 — Critical Angle of Diamond

> **At a glance** — Predicted: **24.44 degrees** · Verify: `python3 verify/E11_verify.py` · CAS: no Atlas block; Snell limit in snippet · Experiment: FILE B row E11

**The problem.** Why diamonds sparkle: with n = 2.417, light entering a well-cut stone is trapped by total internal reflection beyond just 24 degrees and bounces until it exits through the crown.

**Target.** TIR angle, diamond to air, in degrees.

**Inputs & provenance.**
```
Symbol  meaning         value    units
n       diamond index   2.417  --   [MEASURED - refractometry, 589 nm]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Tangential route match fails beyond sin(th_c) = 1/n => th_c = asin(1/2.417) = 24.44 deg.
```

**Classical solution (same endpoint).**
```
1. Snell limit: identical.
```

**Structural difference.** None.

**Exclusions & validity.** 589 nm.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E11_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E11 — diamond critical angle. BASE: EM Laws L2.
import math
th=math.degrees(math.asin(1/2.417))
EXPECTED=24.4397
assert abs(th/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {th:.2f} deg   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; Snell limit in snippet. (3) Complete proofs: EM Laws L2 (loader2 1791-1796); interfaces: EM appendix SS3. (4) Experiment: FILE B, row E11 — no experimental values on this sheet by design.

**PREDICTED VALUE: 24.44 degrees**

*Pillar: EM/Optics | Atlas: L2 (EM Laws)*

---

## AUDIT SHEET E12 — Hubble's Diffraction Limit

> **At a glance** — Predicted: **0.0577 arcsec** · Verify: `python3 verify/E12_verify.py` · CAS: f0013 PASS (mode machinery); Bessel zero verified in snippet · Experiment: FILE B row E12

**The problem.** No telescope escapes the wave nature of its own light: a 2.4 m mirror at 550 nm cannot resolve finer than ~0.05 arcseconds, however perfect its optics. Hubble flies at that wall.

**Target.** Rayleigh resolution 1.22*lambda/D for D = 2.4 m, 550 nm, in arcseconds.

**Inputs & provenance.**
```
Symbol  meaning      value      units
D       aperture     2.4        m    [STANDARD - HST]
lambda  wavelength   550e-9     m    [STANDARD - scenario]
1.22    Airy factor  j11/pi     --   [DERIVED - first Bessel zero, snippet]
```

**VMS solution.**  *Primitives used: P1n — defined once in the Primer.*
```
1. Finite pupil display-area => far-field route-phase transform (L6/F0013); circular
   pupil's first null sits at the first zero of J1: sin(th) = (j11/pi)*lambda/D, j11/pi = 1.2197.
2. th = 1.22*550e-9/2.4 = 2.796e-07 rad = 0.0577 arcsec.
```

**Classical solution (same endpoint).**
```
1. Rayleigh criterion / Airy pattern: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal circular unobstructed pupil (HST's spider slightly modifies the PSF).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E12_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E12 — HST diffraction limit. BASE: L6/F0013; Airy 1.22 from Bessel zero HERE.
import sympy
x=sympy.Symbol('x')
j11=sympy.nsolve(sympy.besselj(1,x),3.8)
assert abs(float(j11)/3.8317059702-1)<1e-8
assert abs(float(j11)/float(sympy.pi)-1.2197)<1e-3   # the '1.22'
import math
th=1.22*550e-9/2.4*(180*3600/math.pi)
EXPECTED=0.0576682
assert abs(th/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {th:.4f} arcsec   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0013 PASS (mode machinery); Bessel zero verified in snippet. (3) Complete proofs: EM Laws L6 (loader2 1813-1817); diffraction: EM appendix SS4 (loader2 1397-1439). (4) Experiment: FILE B, row E12 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.0577 arcsec**

*Pillar: EM/Optics | Atlas: L6; F0013 far-field*

---

## AUDIT SHEET E13 — The Vacuum Speed Identity

> **At a glance** — Predicted: **299792458.000 m/s** · Verify: `python3 verify/E13_verify.py` · CAS: f0007 PASS; f0023 registers the triple for global closure · Experiment: FILE B row E13

**The problem.** Maxwell noticed in 1862 that a ratio of electrical measurements equalled the measured speed of light and wrote that light 'consists in the transverse undulations of the same medium'. The identity that unified optics and electricity.

**Target.** 1/sqrt(mu0*eps0), compared with the invariant speed c.

**Inputs & provenance.**
```
Symbol  meaning       value            units
mu0     vacuum lock   1.256637e-06   H/m  [MEASURED - CODATA]
eps0    vacuum lock   8.854188e-12   F/m  [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P1n (A2) — defined once in the Primer.*
```
1. c is primitive (A2); the SI bridge must return it (F0007 acceptance lock):
   1/sqrt(mu0*eps0) = 299792458.000006 m/s vs c = 299792458.0 m/s exact.
```

**Classical solution (same endpoint).**
```
1. Maxwell wave speed: identical.
```

**Structural difference.** Ordering differs: VMS takes c as axiom and checks the bridge; classical EM derives c.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E13_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E13 — vacuum speed identity. BASE: F0007 (CAS v2 f0007; registered f0023).
import math
cchk=1/math.sqrt(1.25663706212e-06*8.8541878128e-12)
assert abs(cchk/299792458.0-1)<1e-9
print(f"PREDICTED VALUE: {cchk:.3f} m/s = c to {abs(cchk/299792458.0-1):.1e}")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0007 PASS; f0023 registers the triple for global closure. (3) Complete proofs: F0007 chain (loader2 310-314); EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E13 — no experimental values on this sheet by design.

**PREDICTED VALUE: 299792458.000 m/s**

*Pillar: EM/Optics | Atlas: F0007 | family: constants-lock*

---

## AUDIT SHEET E14 — Why the Sky Is Blue: the 1/lambda^4 Ratio

> **At a glance** — Predicted: **9.38 (ratio)** · Verify: `python3 verify/E14_verify.py` · CAS: no Atlas block; scaling audit in snippet · Experiment: FILE B row E14

**The problem.** Rayleigh explained the sky in 1871: molecular scatterers much smaller than the wavelength re-radiate with fourth-power colour preference. Blue at 400 nm beats red at 700 nm nine to one.

**Target.** Scattered-power ratio I(400 nm)/I(700 nm). Predicted (700/400)^4.

**Inputs & provenance.**
```
Symbol  meaning   value   units
lambda pair: 400, 700 nm   [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. A small closure driven by a front re-radiates with amplitude ~ omega^2 (dipole
   route response) => power ~ omega^4 ~ 1/lambda^4.
2. Ratio = (700/400)^4 = 9.38.
```

**Classical solution (same endpoint).**
```
1. Rayleigh scattering: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Scatterer << lambda (molecules, not droplets - clouds are white for exactly this failure).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E14_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E14 — Rayleigh ratio. BASE: dipole omega^4 scaling verified HERE.
from sympy import symbols, diff, simplify
w=symbols('w',positive=True)
P=w**4
assert simplify(w*diff(P,w)/P-4)==0     # log-log slope = 4
r=(700/400.0)**4
EXPECTED=9.37891
assert abs(r/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {r:.2f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; scaling audit in snippet. (3) Complete proofs: Dipole response: EM appendix SS2 (loader2 1283-1308) + Larmor dictionary. (4) Experiment: FILE B, row E14 — no experimental values on this sheet by design.

**PREDICTED VALUE: 9.38 (ratio)**

*Pillar: EM/Optics | Atlas: dipole route response*

---

## AUDIT SHEET E15 — Malus's Law at 30 Degrees

> **At a glance** — Predicted: **0.7500 (exact 3/4)** · Verify: `python3 verify/E15_verify.py` · CAS: no Atlas block; exact value in snippet · Experiment: FILE B row E15

**The problem.** Malus discovered polarization by looking at sunset light reflected off the Luxembourg Palace windows through a calcite crystal (1808). His cos^2 law is now a one-minute bench check.

**Target.** Transmitted fraction through an ideal polarizer at 30 deg. Predicted cos^2(30) = 3/4.

**Inputs & provenance.**
```
Symbol  meaning   value   units
theta   analyzer angle   30 deg   [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P1n — defined once in the Primer.*
```
1. Closure drain to the pass axis (L5): I = I0 cos^2(theta) = 3/4 exactly at 30 deg.
```

**Classical solution (same endpoint).**
```
1. Malus law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal polarizers.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E15_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E15 — Malus at 30 deg. BASE: EM Laws L5.
from sympy import cos, pi, Rational, simplify
assert simplify(cos(pi/6)**2-Rational(3,4))==0
print("PREDICTED VALUE: 0.7500 (exactly 3/4)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; exact value in snippet. (3) Complete proofs: EM Laws L5 (loader2 1809-1812); Jones calculus: EM appendix SS5. (4) Experiment: FILE B, row E15 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.7500 (exact 3/4)**

*Pillar: EM/Optics | Atlas: L5*

---

## AUDIT SHEET E16 — Young's Double Slit

> **At a glance** — Predicted: **2.531 mm** · Verify: `python3 verify/E16_verify.py` · CAS: no Atlas block; geometry identity in snippet · Experiment: FILE B row E16

**The problem.** Young's 1803 experiment settled a century of Newton-vs-Huygens argument in one afternoon of sunlight and card. With a HeNe laser and 0.25 mm slits it is the first thing every optics student measures.

**Target.** Fringe spacing for 632.8 nm, d = 0.25 mm, L = 1 m, in mm.

**Inputs & provenance.**
```
Symbol  meaning        value      units
lambda  wavelength     632.8e-9   m   [STANDARD - HeNe line]
d       slit spacing   0.25e-3    m   [STANDARD - scenario]
L       screen         1.0        m   [STANDARD]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Route-phase superposition (L3): bright where the two routes differ by m*lambda;
   small-angle spacing dy = lambda*L/d = 2.531 mm.
```

**Classical solution (same endpoint).**
```
1. Two-slit interference: identical.
```

**Structural difference.** Phase is route-closure comparison rather than field axiom; formula identical.

**Exclusions & validity.** Small angles; slit width envelope ignored.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E16_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E16 — Young double slit. BASE: EM Laws L3.
from sympy import symbols, simplify, sin, tan, series
lam,d,L,m=symbols('lam d L m',positive=True)
# path difference d*sin(th)=m*lam; screen position y=L*tan(th); small-angle spacing:
th=symbols('th',positive=True)
assert simplify(series(tan(th),th,0,2).removeO()-series(sin(th),th,0,2).removeO())==0
dy=632.8e-9*1.0/0.25e-3*1e3
EXPECTED=2.5312
assert abs(dy/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dy:.3f} mm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; geometry identity in snippet. (3) Complete proofs: EM Laws L3 (loader2 1797-1803); interference: EM appendix SS5 (loader2 1348-1395). (4) Experiment: FILE B, row E16 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.531 mm**

*Pillar: EM/Optics | Atlas: L3*

---

## AUDIT SHEET E17 — Grating Angle for Sodium Light

> **At a glance** — Predicted: **20.71 degrees** · Verify: `python3 verify/E17_verify.py` · CAS: no Atlas block; identity in snippet · Experiment: FILE B row E17

**The problem.** The diffraction grating — Fraunhofer's 1821 wire gratings — turned wavelength into an angle you can read with a protractor, and spectroscopy into a precision science.

**Target.** First-order angle for 589.3 nm on 600 lines/mm, in degrees.

**Inputs & provenance.**
```
Symbol  meaning         value     units
lambda  Na D mean       589.3e-9  m     [STANDARD - Na doublet mean]
1/d     line density    600e3     1/m   [STANDARD - grating spec]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Multi-route phase closure (L3): sin(th) = lambda/d = 0.35358
   => th = 20.71 deg.
```

**Classical solution (same endpoint).**
```
1. Grating equation: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Normal incidence, first order.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E17_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E17 — grating angle. BASE: EM Laws L3.
import math
th=math.degrees(math.asin(589.3e-9*600e3))
EXPECTED=20.7064
assert abs(th/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {th:.2f} deg   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; identity in snippet. (3) Complete proofs: EM Laws L3; gratings: EM appendix SS4 (loader2 1420-1421). (4) Experiment: FILE B, row E17 — no experimental values on this sheet by design.

**PREDICTED VALUE: 20.71 degrees**

*Pillar: EM/Optics | Atlas: L3 (multi-route)*

---

## AUDIT SHEET E18 — Bragg Reflection from Rock Salt

> **At a glance** — Predicted: **15.85 degrees** · Verify: `python3 verify/E18_verify.py` · CAS: no Atlas block; identity in snippet · Experiment: FILE B row E18

**The problem.** The Braggs' 1913 insight — crystals as diffraction gratings for X-rays — won them the only father-son Nobel and founded everything from mineralogy to the structure of DNA.

**Target.** First-order Bragg angle for Cu K-alpha (154.06 pm) on NaCl(200), d = 282.0 pm, in degrees.

**Inputs & provenance.**
```
Symbol  meaning       value    units
lambda  Cu K-alpha    154.06   pm   [MEASURED - X-ray standard]
d       NaCl spacing  282.01   pm   [MEASURED - crystallography]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Layered route-phase closure: 2d sin(th) = lambda => th = asin(0.27315) = 15.85 deg.
```

**Classical solution (same endpoint).**
```
1. Bragg law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** First order; kinematic (single-scatter) limit.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E18_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E18 — Bragg angle. BASE: EM Laws L3 layered closure.
import math
th=math.degrees(math.asin(154.06/(2*282.01)))
EXPECTED=15.8516
assert abs(th/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {th:.2f} deg   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; identity in snippet. (3) Complete proofs: EM Laws L3; layered closure: EM appendix SS5 thin-film logic (loader2 1370-1385). (4) Experiment: FILE B, row E18 — no experimental values on this sheet by design.

**PREDICTED VALUE: 15.85 degrees**

*Pillar: EM/Optics | Atlas: L3 (layered routes)*

---

## AUDIT SHEET E19 — Moseley's Law: Molybdenum K-Alpha

> **At a glance** — Predicted: **72.28 pm** · Verify: `python3 verify/E19_verify.py` · CAS: f0008 PASS (ladder); screening step in snippet · Experiment: FILE B row E19

**The problem.** In 1913 Henry Moseley photographed X-ray lines across the periodic table and found atomic NUMBER, not weight, ordering the elements — fixing the table and predicting missing elements. He died at Gallipoli two years later.

**Target.** Mo (Z=42) K-alpha wavelength from the screened ladder, in pm.

**Inputs & provenance.**
```
Symbol  meaning        value           units
Z       atomic number  42               --    [STANDARD - element]
R_inf   ladder scale   1.09737e+07   1/m   [DERIVED - E2]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. The inner closure orbits a (Z-1)-screened core (one remaining K electron):
   1/lam = R (Z-1)^2 (1 - 1/4)  [declared screening approximation].
2. lam = 1/(1.0974e+07*1681*0.75) = 72.28 pm.
   The ~1.7% residual vs experiment IS the declared approximation band.
```

**Classical solution (same endpoint).**
```
1. Moseley's law: identical form and screening constant.
```

**Structural difference.** None.

**Exclusions & validity.** Simple (Z-1) screening; relativistic/multi-electron corrections excluded (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E19_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E19 — Moseley Mo K-alpha. BASE: F0008 ladder + (Z-1) screening.
from sympy import symbols, Rational, simplify
Z,R=symbols('Z R',positive=True)
inv=R*(Z-1)**2*(1-Rational(1,4))
assert simplify(inv-R*(Z-1)**2*Rational(3,4))==0
lam=1/(10973731.581520207*41**2*0.75)*1e12
EXPECTED=72.2798
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.2f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS (ladder); screening step in snippet. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. Moseley systematics: external (1913). (4) Experiment: FILE B, row E19 — no experimental values on this sheet by design.

**PREDICTED VALUE: 72.28 pm**

*Pillar: EM/Optics | Atlas: F0008 ladder, screened | family: Moseley*

---

## AUDIT SHEET E20 — Moseley's Law: Copper K-Alpha

> **At a glance** — Predicted: **154.98 pm** · Verify: `python3 verify/E20_verify.py` · CAS: f0008 PASS; screening in E19 snippet · Experiment: FILE B row E20

**The problem.** Copper K-alpha is the workhorse X-ray line of every diffraction lab on Earth; its wavelength follows from the same screened ladder as E19, one row down the periodic table.

**Target.** Cu (Z=29) K-alpha wavelength, in pm.

**Inputs & provenance.**
```
Symbol  meaning        value           units
Z       atomic number  29               --    [STANDARD]
R_inf   ladder scale   1.09737e+07   1/m   [DERIVED - E2]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Same screened-ladder law: lam = 1/(R*784*0.75) = 154.98 pm (declared ~0.5% band).
```

**Classical solution (same endpoint).**
```
1. Moseley: identical.
```

**Structural difference.** None.

**Exclusions & validity.** As E19.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E20_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E20 — Moseley Cu K-alpha. BASE: as E19.
lam=1/(10973731.581520207*28**2*0.75)*1e12
EXPECTED=154.977
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.2f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS; screening in E19 snippet. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E20 — no experimental values on this sheet by design.

**PREDICTED VALUE: 154.98 pm**

*Pillar: EM/Optics | Atlas: F0008 ladder, screened | family: Moseley*

---

## AUDIT SHEET E21 — The Balmer Series Limit

> **At a glance** — Predicted: **364.71 nm** · Verify: `python3 verify/E21_verify.py` · CAS: f0008 PASS · Experiment: FILE B row E21

**The problem.** Where the visible hydrogen lines pile up and stop: the Balmer jump at 364.6 nm, used by astronomers to measure stellar temperatures for a century.

**Target.** The n->infinity edge of the Balmer series, 4/R_H, in nm.

**Inputs & provenance.**
```
Symbol  meaning       value          units
R_H     H ladder      1.096776e+07   1/m  [DERIVED - E3]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Ladder edge: 1/lam = R_H(1/4 - 0) => lam = 4/R_H = 364.71 nm.
```

**Classical solution (same endpoint).**
```
1. Rydberg limit: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Reduced-mass level (as E3).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E21_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E21 — Balmer limit. BASE: F0008 ladder.
RH=10973731.581520207*1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27)
lam=4/RH*1e9
EXPECTED=364.705
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.2f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E21 — no experimental values on this sheet by design.

**PREDICTED VALUE: 364.71 nm**

*Pillar: EM/Optics | Atlas: F0008*

---

## AUDIT SHEET E22 — Paschen-Alpha in the Infrared

> **At a glance** — Predicted: **1875.6 nm** · Verify: `python3 verify/E22_verify.py` · CAS: f0008 PASS · Experiment: FILE B row E22

**The problem.** The hydrogen ladder keeps going below the visible: the 4->3 line at 1875 nm is a workhorse of infrared astronomy, punching through dust that blocks Balmer light entirely.

**Target.** H 4->3 vacuum wavelength, in nm.

**Inputs & provenance.**
```
Symbol  meaning    value          units
R_H     ladder     1.096776e+07   1/m  [DERIVED - E3]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. 1/lam = R_H(1/9 - 1/16) = 5.33155e+05 => lam = 1875.6 nm.
```

**Classical solution (same endpoint).**
```
1. Rydberg formula: identical.
```

**Structural difference.** None.

**Exclusions & validity.** As E3.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E22_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E22 — Paschen-alpha. BASE: F0008 ladder.
RH=10973731.581520207*1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27)
lam=1/(RH*(1/9.0-1/16.0))*1e9
EXPECTED=1875.63
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.1f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E22 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1875.6 nm**

*Pillar: EM/Optics | Atlas: F0008*

---

## AUDIT SHEET E23 — Ionized Helium's Lyman-Alpha

> **At a glance** — Predicted: **30.3797 nm** · Verify: `python3 verify/E23_verify.py` · CAS: f0008 PASS; Z-scaling in snippet · Experiment: FILE B row E23

**The problem.** He+ is hydrogen with the volume turned up four times — the test Bohr himself used in 1913-14: the Pickering lines that had confused astronomers fell out of his formula with Z=2, converting Einstein to the theory.

**Target.** He+ 2->1 wavelength (hydrogenic, Z=2, He reduced mass), in nm.

**Inputs & provenance.**
```
Symbol   meaning       value           units
Z        charge        2               --    [STANDARD]
m_alpha  He-4 nucleus  6.64466e-27   kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Z^2-scaled ladder with He reduced mass (mu/m_e = 0.999863), no retune:
   1/lam = 4*R_He*(3/4) => lam = 30.3797 nm.
```

**Classical solution (same endpoint).**
```
1. Hydrogenic QM: identical.
```

**Structural difference.** None — zero-retune Z-transfer is the audit point.

**Exclusions & validity.** Fine structure excluded (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E23_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E23 — He+ Lyman-alpha. BASE: F0008 ladder x Z^2.
from sympy import symbols, simplify, Rational
R,Z=symbols('R Z',positive=True)
assert simplify(R*Z**2*(1-Rational(1,4))-R*Z**2*Rational(3,4))==0
RHe=10973731.581520207*6.6446573357e-27/(6.6446573357e-27+9.1093837015e-31)*(1+0)  # mu/me * Rinf
RHe=10973731.581520207*(6.6446573357e-27/(9.1093837015e-31+6.6446573357e-27))
lam=1/(RHe*4*0.75)*1e9
EXPECTED=30.3797
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.4f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS; Z-scaling in snippet. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row E23 — no experimental values on this sheet by design.

**PREDICTED VALUE: 30.3797 nm**

*Pillar: EM/Optics | Atlas: F0008, Z=2*

---

## AUDIT SHEET E24 — Positronium's 1S-2S Interval

> **At a glance** — Predicted: **1233.691 THz** · Verify: `python3 verify/E24_verify.py` · CAS: no Atlas block; reduced-mass identity in snippet · Experiment: FILE B row E24

**The problem.** An atom made of nothing but an electron and its antiparticle — hydrogen with the nucleus replaced by a mirror. Chu and Mills drove its two-photon 1S-2S transition in 1982 before the atom annihilated.

**Target.** The 1S-2S interval for mu = m_e/2, in THz.

**Inputs & provenance.**
```
Symbol  meaning     value       units
Ry      ladder top  13.60569   eV   [DERIVED - locked set]
mu      red. mass   m_e/2       --   [DERIVED - equal masses]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Equal-mass pair: mu = m_e/2 exactly => interval = (3/4)(Ry/2) = 5.1021 eV.
2. nu = 1233.691 THz (QED recoil excluded, declared - the 7e-5 residual band).
```

**Classical solution (same endpoint).**
```
1. QM with mu = m_e/2: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Declared above.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E24_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E24 — positronium 1S-2S. BASE: PM SS7 with mu=m_e/2.
from sympy import symbols, simplify
m=symbols('m',positive=True)
mu=m*m/(m+m)
assert simplify(mu-m/2)==0
nu=0.75*13.605693139558777*0.5*1.602176634e-19/6.62607015e-34/1e12
EXPECTED=1233.69
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.3f} THz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; reduced-mass identity in snippet. (3) Complete proofs: PM SS7 dictionary (loader2 2369-2403); Ps context: PM SS11.7. (4) Experiment: FILE B, row E24 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1233.691 THz**

*Pillar: EM/Optics | Atlas: PM SS7, mu=m_e/2*

---

## AUDIT SHEET E25 — The Speed of Light in Water

> **At a glance** — Predicted: **2.2490 x10^8 m/s** · Verify: `python3 verify/E25_verify.py` · CAS: no Atlas block; identity trivial · Experiment: FILE B row E25

**The problem.** Foucault's 1850 rotating-mirror showdown: light is SLOWER in water, killing Newton's corpuscles (which required faster) in a single measurement Arago called 'the death certificate of the emission theory'.

**Target.** v = c/n in water, in 10^8 m/s.

**Inputs & provenance.**
```
Symbol  meaning       value   units
n       water index   1.333  --   [MEASURED - refractometry]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Route slowness in the medium's cost map (L4): v = c/n = 2.2490e8 m/s —
   the SLOWER-in-water sign is forced, as in wave optics.
```

**Classical solution (same endpoint).**
```
1. Wave refraction: identical. (Corpuscle theory predicted FASTER - the historical discriminator.)
```

**Structural difference.** None vs wave optics.

**Exclusions & validity.** Phase velocity; 589 nm.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E25_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E25 — light speed in water. BASE: EM Laws L4.
v=299792458.0/1.333/1e8
EXPECTED=2.24901
assert abs(v/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {v:.4f} x10^8 m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; identity trivial. (3) Complete proofs: EM Laws L4 (loader2 1804-1808). (4) Experiment: FILE B, row E25 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.2490 x10^8 m/s**

*Pillar: EM/Optics | Atlas: L4*

---

## AUDIT SHEET E26 — The Half-Wave Dipole at 100 MHz

> **At a glance** — Predicted: **1.499 m** · Verify: `python3 verify/E26_verify.py` · CAS: no Atlas block · Experiment: FILE B row E26

**The problem.** Hertz's 1887 spark-gap dipoles proved Maxwell right; the half-wave resonance he exploited still sizes every FM antenna: at 100 MHz, a metre and a half of wire.

**Target.** Resonant length lambda/2 at 100 MHz, in metres.

**Inputs & provenance.**
```
Symbol  meaning     value    units
f       frequency   100e6    Hz   [STANDARD - FM band]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Standing route-phase on the conductor: L = lambda/2 = c/2f = 1.499 m.
```

**Classical solution (same endpoint).**
```
1. Dipole resonance: identical (real antennas ~5% shorter from end effects - declared).
```

**Structural difference.** None.

**Exclusions & validity.** Thin ideal wire.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E26_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E26 — half-wave dipole. BASE: route-phase standing closure.
L=299792458.0/100e6/2
EXPECTED=1.49896
assert abs(L/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {L:.3f} m   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block. (3) Complete proofs: Route-phase closure L3; antenna practice external. (4) Experiment: FILE B, row E26 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.499 m**

*Pillar: EM/Optics | Atlas: standing route-phase*

---

## AUDIT SHEET E27 — Skin Depth of Copper at 60 Hz

> **At a glance** — Predicted: **8.42 mm** · Verify: `python3 verify/E27_verify.py` · CAS: f0023 PASS (Ampere law); diffusion solution verified in snippet · Experiment: FILE B row E27

**The problem.** Why power lines don't need solid copper: at 60 Hz the current rides in the outer 8.5 mm. Discovered by Heaviside and Rayleigh in the 1880s; grid engineering has priced conductors by it ever since.

**Target.** delta = sqrt(2*rho/(omega*mu0)), in mm.

**Inputs & provenance.**
```
Symbol  meaning        value        units
rho     Cu resistivity 1.678e-08   ohm m  [MEASURED - handbook 20 C]
f       frequency      60           Hz     [STANDARD - grid]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. In a conductor the front's transport becomes diffusive (displacement term
   negligible): d^2E/dz^2 = (i*omega*mu0/rho) E.
2. Decaying solution E ~ exp(-(1+i)z/delta) with delta = sqrt(2*rho/(omega*mu0))
   — verified symbolically in the snippet.
3. delta = sqrt(2*1.678e-08/(377.0*1.2566e-06)) = 8.42 mm.
```

**Classical solution (same endpoint).**
```
1. EM skin effect: identical diffusion solution.
```

**Structural difference.** None.

**Exclusions & validity.** Good-conductor limit (sigma >> omega*eps).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E27_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E27 — copper skin depth. BASE: F0023 conduction limit; solution verified HERE.
from sympy import symbols, exp, I, diff, simplify, sqrt as ssqrt
z,delta,om,mu,rho=symbols('z delta om mu rho',positive=True)
E=exp(-(1+I)*z/delta)
resid=simplify(diff(E,z,2)-(I*om*mu/rho)*E)
resid=resid.subs(delta,ssqrt(2*rho/(om*mu)))
assert simplify(resid)==0, resid
import math
d=math.sqrt(2*1.678e-08/(2*math.pi*60*1.25663706212e-06))*1000
EXPECTED=8.41667
assert abs(d/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {d:.2f} mm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0023 PASS (Ampere law); diffusion solution verified in snippet. (3) Complete proofs: Ampere-Maxwell chain: EM appendix SS3.7-3.9 dictionary (loader2 406-410); EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E27 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.42 mm**

*Pillar: EM/Optics | Atlas: F0023 diffusion limit*

---

## AUDIT SHEET E28 — The Calculable Capacitor

> **At a glance** — Predicted: **8.8542 nF** · Verify: `python3 verify/E28_verify.py` · CAS: f0021 PASS · Experiment: FILE B row E28

**The problem.** The Thompson-Lampard theorem (1956) lets metrologists build a capacitor whose value follows from a single length measurement — for decades the world's realization of the farad and the ohm traced to this geometry.

**Target.** C = eps0*A/d for A = 1 m^2, d = 1 mm, in nF.

**Inputs & provenance.**
```
Symbol  meaning     value           units
eps0    vac. lock   8.854188e-12   F/m  [MEASURED - CODATA]
A, d    geometry    1 m^2, 1 mm      --   [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P4 (display-area flux) — defined once in the Primer.*
```
1. Display-area flux per volt across the gap (F0021 integral form):
   C = eps0*A/d = 8.8542 nF.
```

**Classical solution (same endpoint).**
```
1. Parallel-plate electrostatics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Edge fields ignored (guard-ring practice).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E28_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E28 — calculable capacitor. BASE: F0021 (CAS v2 f0021).
C=8.8541878128e-12/1e-3*1e9
EXPECTED=8.85419
assert abs(C/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {C:.4f} nF   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0021 PASS. (3) Complete proofs: Gauss chain: EM appendix SS3.1-3.3 (loader2 394-398); EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E28 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.8542 nF**

*Pillar: EM/Optics | Atlas: F0021*

---

## AUDIT SHEET E29 — Field of a Solenoid

> **At a glance** — Predicted: **1.2566 mT** · Verify: `python3 verify/E29_verify.py` · CAS: f0023 PASS · Experiment: FILE B row E29

**The problem.** Ampere's 1820s insight that a coil mimics a magnet, quantified: 1000 turns per metre at one ampere gives 1.26 millitesla, the bench formula behind every electromagnet since.

**Target.** B = mu0*n*I for n = 1000/m, I = 1 A, in mT.

**Inputs & provenance.**
```
Symbol  meaning        value           units
mu0     vacuum lock    1.256637e-06   H/m  [MEASURED - CODATA]
n, I    coil specs     1000/m, 1 A      --   [STANDARD]
```

**VMS solution.**  *Primitives used: P3 (circulating transport) — defined once in the Primer.*
```
1. Ampere closure around the winding (F0023 static limit): B = mu0*n*I = 1.2566 mT.
```

**Classical solution (same endpoint).**
```
1. Solenoid law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Long-solenoid interior.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E29_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E29 — solenoid field. BASE: F0023 (CAS v2 f0023).
B=1.25663706212e-06*1000*1*1e3
EXPECTED=1.25664
assert abs(B/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {B:.4f} mT   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0023 PASS. (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E29 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.2566 mT**

*Pillar: EM/Optics | Atlas: F0023 (Ampere)*

---

## AUDIT SHEET E30 — The Impedance of Free Space

> **At a glance** — Predicted: **376.730 ohm** · Verify: `python3 verify/E30_verify.py` · CAS: constants-lock (f0023 registers the pair) · Experiment: FILE B row E30

**The problem.** 376.73 ohms: the ratio every antenna must match to launch a wave into vacuum. It is why 'matching to free space' is a phrase radio engineers use without irony.

**Target.** Z0 = sqrt(mu0/eps0), in ohms.

**Inputs & provenance.**
```
Symbol  meaning   value   units
mu0, eps0 — as E13   [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P1n — defined once in the Primer.*
```
1. The front's E/B transport ratio in vacuum: Z0 = sqrt(mu0/eps0) = 376.730 ohm.
```

**Classical solution (same endpoint).**
```
1. Plane-wave impedance: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E30_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E30 — vacuum impedance.
import math
Z=math.sqrt(1.25663706212e-06/8.8541878128e-12)
EXPECTED=376.73
assert abs(Z/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Z:.3f} ohm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock (f0023 registers the pair). (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E30 — no experimental values on this sheet by design.

**PREDICTED VALUE: 376.730 ohm**

*Pillar: EM/Optics | Atlas: F0007 family | family: constants-lock*

---

## AUDIT SHEET E31 — Proton Cyclotron Frequency at 1 Tesla

> **At a glance** — Predicted: **15.245 MHz** · Verify: `python3 verify/E31_verify.py` · CAS: f0004 PASS · Experiment: FILE B row E31

**The problem.** Lawrence's 1931 cyclotron resonated protons at exactly this frequency-per-tesla; today Penning traps use it to weigh single particles to eleven digits.

**Target.** nu = eB/(2*pi*m_p) at 1 T, in MHz.

**Inputs & provenance.**
```
Symbol  meaning        value           units
e/m_p   charge/mass    9.578833e+07  C/kg  [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Composite-closure steering (F0004): nu = eB/2*pi*m_p = 15.245 MHz.
```

**Classical solution (same endpoint).**
```
1. Cyclotron frequency: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Non-relativistic.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E31_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E31 — proton cyclotron. BASE: F0004 (CAS v2 f0004; balance in E8 snippet).
import math
f=1.602176634e-19/(2*math.pi*1.67262192369e-27)/1e6
EXPECTED=15.2452
assert abs(f/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {f:.3f} MHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0004 PASS. (3) Complete proofs: EM pillar: Electromagnetism_Math_Appendix (loader2 1211-1575 / clean copy 3880-4245); EM Calibration (loader2 1585-1757); Atlas entries loader2 274-460. (4) Experiment: FILE B, row E31 — no experimental values on this sheet by design.

**PREDICTED VALUE: 15.245 MHz**

*Pillar: EM/Optics | Atlas: F0004 | family: constants-lock*

---

## AUDIT SHEET E32 — Proton NMR Frequency at 1 Tesla

> **At a glance** — Predicted: **42.577 MHz** · Verify: `python3 verify/E32_verify.py` · CAS: no Atlas block; magneton identity in E9 snippet · Experiment: FILE B row E32

**The problem.** The 42.58 MHz/T that Purcell and Bloch first heard in 1946 and that every MRI scanner on Earth is tuned to — hospitals bill by this number daily.

**Target.** nu = g_p*mu_N*B/h at 1 T, in MHz.

**Inputs & provenance.**
```
Symbol  meaning           value          units
g_p     proton g-factor   5.5856947     --    [MEASURED - CODATA anchor]
mu_N    nuclear magneton  5.05078e-27   J/T   [DERIVED - e*hbar/2m_p]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Three-loop orientation flip in the field: nu = g_p*mu_N*B/h
   = 5.58569*5.0508e-27/6.6261e-34 = 42.577 MHz.
```

**Classical solution (same endpoint).**
```
1. NMR resonance condition: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Free proton (chemical shifts are ppm-level).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E32_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E32 — proton NMR. BASE: orientation flip; magneton identity in E9.
muN=1.602176634e-19*1.054571817e-34/(2*1.67262192369e-27)
f=5.5856946893*muN/6.62607015e-34/1e6
EXPECTED=42.5775
assert abs(f/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {f:.3f} MHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; magneton identity in E9 snippet. (3) Complete proofs: Orientation coupling: PM SS1.5 + hyperfine dictionary (loader2 2697-2756). (4) Experiment: FILE B, row E32 — no experimental values on this sheet by design.

**PREDICTED VALUE: 42.577 MHz**

*Pillar: EM/Optics | Atlas: orientation flip (PM SS1.5 family)*

---

## AUDIT SHEET E33 — The Faraday Constant

> **At a glance** — Predicted: **96485.332 C/mol** · Verify: `python3 verify/E33_verify.py` · CAS: constants-lock · Experiment: FILE B row E33

**The problem.** Faraday's 1834 electrolysis laws contained a constant nobody could interpret until the electron: one mole of unit charges. Silver coulometers measured it for a century; the SI now fixes it exactly.

**Target.** F = N_A * e, in C/mol.

**Inputs & provenance.**
```
Symbol  meaning     value           units
N_A     Avogadro    6.022141e+23   1/mol  [LOCKED - SI exact]
e       charge      1.602177e-19   C      [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Charge per mole of unit closures: F = N_A*e = 96485.332 C/mol.
```

**Classical solution (same endpoint).**
```
1. Faraday constant: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E33_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E33 — Faraday constant.
F=6.02214076e+23*1.602176634e-19
EXPECTED=96485.3
assert abs(F/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {F:.3f} C/mol   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): constants-lock. (3) Complete proofs: SI definitions (external). (4) Experiment: FILE B, row E33 — no experimental values on this sheet by design.

**PREDICTED VALUE: 96485.332 C/mol**

*Pillar: EM/Optics | Atlas: counting x closure charge | family: constants-lock*

---

## AUDIT SHEET E34 — Silver Deposited in One Ampere-Hour

> **At a glance** — Predicted: **4.0247 g** · Verify: `python3 verify/E34_verify.py` · CAS: no Atlas block; stoichiometric identity · Experiment: FILE B row E34

**The problem.** Until 1948 the ampere was DEFINED by this experiment: the current that deposits 1.118 mg of silver per second. The silver voltameter was the SI's electrical anchor for half a century.

**Target.** Mass of silver deposited by 1 A for 1 hour, in grams.

**Inputs & provenance.**
```
Symbol  meaning       value      units
M_Ag    molar mass    107.8682   g/mol  [MEASURED - IUPAC]
Q       charge        3600       C      [STANDARD - 1 A h]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. One closure charge per Ag+ ion: m = M*Q/F = 107.8682*3600/96485.33 = 4.0247 g.
```

**Classical solution (same endpoint).**
```
1. Faraday's electrolysis law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** 100% current efficiency.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E34_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E34 — silver voltameter. BASE: E33.
m=107.8682*3600/(6.02214076e+23*1.602176634e-19)
EXPECTED=4.02471
assert abs(m/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {m:.4f} g per A h   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; stoichiometric identity. (3) Complete proofs: E33 + electrochemistry (external classic). (4) Experiment: FILE B, row E34 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.0247 g**

*Pillar: EM/Optics | Atlas: E33 applied*

---

## AUDIT SHEET E35 — Ives-Stilwell: the Quadratic Doppler Coefficient

> **At a glance** — Predicted: **1/2 (exact)** · Verify: `python3 verify/E35_verify.py` · CAS: f0003 PASS (dispersion); expansion in snippet · Experiment: FILE B row E35

**The problem.** In 1938 Ives and Stilwell — both relativity SKEPTICS — measured hydrogen canal-ray spectra and found the transverse Doppler shift exactly as Einstein predicted, converting their own experiment into one of SR's pillars.

**Target.** The coefficient of beta^2 in the transverse wavelength shift. Predicted: exactly 1/2.

**Inputs & provenance.**
```
Symbol  meaning   value   units
--      dimensionless coefficient; parameter-free   [--]
```

**VMS solution.**  *Primitives used: P6 — defined once in the Primer.*
```
1. The moving closure's internal circulation slows by gamma (P6/F0003):
   received lam = lam0*gamma => dlam/lam = beta^2/2 + O(beta^4). Coefficient = 1/2 exactly
   — verified by series expansion in the snippet.
```

**Classical solution (same endpoint).**
```
1. SR transverse Doppler: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Transverse geometry (their experiment averaged fore/aft to isolate it).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E35_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E35 — Ives-Stilwell coefficient. BASE: F0003 (CAS v2 f0003).
from sympy import symbols, sqrt, series, simplify, Rational
b2=symbols('beta2',positive=True)
gam=series(1/sqrt(1-b2),b2,0,2).removeO()
assert simplify(gam-(1+b2/2))==0
print("PREDICTED VALUE: quadratic coefficient = 1/2 exactly")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS (dispersion); expansion in snippet. (3) Complete proofs: F0003 chain (loader2 286-290, 2236-2238). (4) Experiment: FILE B, row E35 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1/2 (exact)**

*Pillar: EM/Optics | Atlas: F0003*

---

## AUDIT SHEET E36 — Michelson-Morley: the Null

> **At a glance** — Predicted: **0 (exactly)** · Verify: `python3 verify/E36_verify.py` · CAS: parameter-free · Experiment: FILE B row E36

**The problem.** The most famous failed experiment in physics (1887): the interferometer that could not find the ether wind. Michelson thought it a failure; it was the crack that let relativity in.

**Target.** Orientation-dependent fringe shift. Predicted: exactly zero (ether kinematics predicted ~0.4 fringe).

**Inputs & provenance.**
```
Symbol  meaning   value   units
--      parameter-free null   [axiom A2]
```

**VMS solution.**  *Primitives used: P1n (A2) — defined once in the Primer.*
```
1. A2: c is route-invariant — both arms accumulate identical phase for every
   orientation. Predicted shift = 0 exactly, at every epoch and azimuth.
```

**Classical solution (same endpoint).**
```
1. SR: null. Classical ether: v^2/c^2 fringe shift ~0.4 for the 1887 arms.
```

**Structural difference.** VMS/SR share the axiom-level null; ether theory is the falsified alternative.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E36_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E36 — Michelson-Morley null. BASE: axiom A2.
predicted = 0.0
print(f"PREDICTED VALUE: fringe shift = {predicted} exactly (A2 route-invariant c)")
print("Ether alternative predicted ~0.4 fringe for the 1887 geometry - falsified.")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): parameter-free. (3) Complete proofs: Axiom A2 (loader2 483); Observer_Lemma_Complete.pdf. (4) Experiment: FILE B, row E36 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0 (exactly)**

*Pillar: EM/Optics | Atlas: Axiom A2*

---

## AUDIT SHEET E37 — The Aberration of Starlight

> **At a glance** — Predicted: **20.493 arcsec** · Verify: `python3 verify/E37_verify.py` · CAS: no Atlas block; kinematic identity · Experiment: FILE B row E37

**The problem.** Bradley set out in 1725 to measure stellar parallax and instead found every star tracing a 20-arcsecond ellipse — the first direct proof that the Earth moves, fifty years before parallax itself was seen.

**Target.** The aberration constant v_E/c, in arcseconds.

**Inputs & provenance.**
```
Symbol  meaning         value      units
v_E     orbital speed   29784.7    m/s  [DERIVED - M17]
c       route speed     2.9979e+08 m/s [LOCKED]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Receiver route tilt: kappa = v_E/c = 9.9351e-05 rad = 20.493 arcsec.
```

**Classical solution (same endpoint).**
```
1. Bradley aberration: identical first order.
```

**Structural difference.** None.

**Exclusions & validity.** First order in v/c.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E37_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E37 — aberration constant. BASE: M17 orbital speed + A2.
import math
k=2*math.pi*149597870700.0/31558150.0/299792458.0*(180*3600/math.pi)
EXPECTED=20.4927
assert abs(k/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {k:.3f} arcsec   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; kinematic identity. (3) Complete proofs: M17 + A2 invariant speed. (4) Experiment: FILE B, row E37 — no experimental values on this sheet by design.

**PREDICTED VALUE: 20.493 arcsec**

*Pillar: EM/Optics | Atlas: kinematics on P1n*

---

## AUDIT SHEET E38 — The Wettzell Ring Laser Hears the Earth Turn

> **At a glance** — Predicted: **348.5 Hz** · Verify: `python3 verify/E38_verify.py` · CAS: no Atlas block; formula assembly in snippet · Experiment: FILE B row E38

**The problem.** A 4x4 metre laser ring in a Bavarian bunker beats at 348.5 Hz for one reason only: the planet rotates underneath it. The G ring laser measures the length of day to microseconds - Foucault's pendulum, upgraded to interferometry.

**Target.** The Sagnac beat frequency f = 4*A*Omega*sin(lat)/(lambda*P), in Hz.

**Inputs & provenance.**
```
Symbol  meaning        value        units
A, P    ring geometry  16 m^2, 16 m       [STANDARD - G ring]
lambda  HeNe line      633e-9       m     [STANDARD]
Omega   Earth rate     7.29212e-05   rad/s [MEASURED - IERS]
lat     Wettzell       49.144       deg   [STANDARD - site]
```

**VMS solution.**  *Primitives used: P1n, P2 — defined once in the Primer.*
```
1. Counter-routes around a rotating closure differ in path (L3 route-phase);
   the beat is f = 4*A*Omega*sin(lat)/(lambda*P).
2. f = 4*16*7.2921e-05*0.7564/(633e-9*16) = 348.5 Hz.
```

**Classical solution (same endpoint).**
```
1. Sagnac effect: identical formula.
```

**Structural difference.** None - route-path difference in both readings.

**Exclusions & validity.** Rigid ring; diurnal polar motion adds microhertz wobbles (that is the instrument's science).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/E38_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET E38 — Wettzell G ring. BASE: L3 route-phase (Sagnac).
import math
f=4*16*7.2921159e-05*math.sin(math.radians(49.144))/(633e-9*16)
EXPECTED=348.527
assert abs(f/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {f:.1f} Hz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): no Atlas block; formula assembly in snippet. (3) Complete proofs: Route-phase L3 (loader2 1797-1803); Sagnac practice: Schreiber et al. (external). (4) Experiment: FILE B, row E38 — no experimental values on this sheet by design.

**PREDICTED VALUE: 348.5 Hz**

*Pillar: EM/Optics | Atlas: L3 (Sagnac)*


---

# PARTICLE / QUANTUM (P1-P38)

---

## AUDIT SHEET P1 — De Broglie Wavelength of a 100 eV Electron

> **At a glance** — Predicted: **0.1226 nm** · Verify: `python3 verify/P1_verify.py` · CAS: f0028 PASS · Experiment: FILE B row P1

**The problem.** In 1927 Davisson and Germer fired slow electrons at a nickel crystal and saw diffraction peaks — matter behaving as a wave, three years after de Broglie proposed it on symmetry grounds. The wavelength of a 100 eV electron sets the scale of every LEED surface experiment since.

**Target.** lam = h/p for a 100 eV electron, in nm.

**Inputs & provenance.**
```
Symbol  meaning         value           units
h       action quantum  6.626070e-34   J s   [LOCKED - SI exact]
m_e     electron mass   9.109384e-31  kg    [MEASURED - CODATA]
E       kinetic energy  100             eV    [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P1, P3 — defined once in the Primer.*
```
1. A translating closure's route phase advances dphi = p dl/hbar (PM SS0.1);
   one full cycle per spatial period gives lam = h/p (F0028).
2. Non-relativistic budget: p = sqrt(2 m_e E) = 5.40275e-24 kg m/s.
3. lam = 6.62607e-34/5.40275e-24 = 0.1226 nm.
```

**Classical solution (same endpoint).**
```
1. de Broglie relation lam = h/p with p = sqrt(2mE): identical.
```

**Structural difference.** None at this endpoint — VMS supplies the mechanism (route phase of a moving closure); the relation is the same.

**Exclusions & validity.** Non-relativistic (E << m_e c^2; at 100 eV the correction is ~1e-4, below the quoted digits).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P1_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P1 — de Broglie, 100 eV electron. BASE: F0028 (CAS v2 f0028).
from sympy import symbols, sqrt as ssqrt, simplify
h_,m_,E_=symbols('h m E',positive=True)
lam=h_/ssqrt(2*m_*E_)
assert simplify(lam**2*2*m_*E_-h_**2)==0   # lam=h/p, p=sqrt(2mE)
import math
lamn=6.62607015e-34/math.sqrt(2*9.1093837015e-31*100*1.602176634e-19)*1e9
EXPECTED=0.122643
assert abs(lamn/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lamn:.4f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0028 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P1 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.1226 nm**

*Pillar: Particle/Quantum | Atlas: F0028 | family: route-phase*

---

## AUDIT SHEET P2 — The Compton Shift at 90 Degrees

> **At a glance** — Predicted: **2.4263 pm** · Verify: `python3 verify/P2_verify.py` · CAS: f0003, f0028 PASS; conservation algebra verified in snippet · Experiment: FILE B row P2

**The problem.** Compton's 1923 X-ray scattering experiment showed light delivering momentum in quantized collisions — the shift at 90 degrees equals exactly one Compton wavelength h/m_e c, and it killed the classical wave-only picture of scattering.

**Target.** dlam at theta = 90 deg, in pm.

**Inputs & provenance.**
```
Symbol  meaning         value           units
h       action quantum  6.626070e-34   J s   [LOCKED - SI exact]
m_e     electron mass   9.109384e-31  kg    [MEASURED - CODATA]
c       route speed     2.997925e+08  m/s   [LOCKED - SI exact]
theta   scatter angle   90              deg   [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. An advancing front exchanges energy-momentum with a closure; conserving the route
   budgets (F0003 dispersion for the electron, E = pc for the front) gives
   dlam = (h/m_e c)(1 - cos theta) — derived in the snippet from the conservation pair.
2. At theta = 90 deg: dlam = h/m_e c = 6.62607e-34/(9.10938e-31 x 2.99792e+08) = 2.4263 pm.
```

**Classical solution (same endpoint).**
```
1. Compton kinematics (photon-electron collision): identical formula.
```

**Structural difference.** Vocabulary only: 'photon' is the advancing front's quantum of route budget; the conservation algebra is shared.

**Exclusions & validity.** Free stationary electron (binding corrections are the measured line's Doppler broadening, not the peak shift).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P2_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P2 — Compton shift at 90 deg. BASE: F0003+F0028; kinematics derived HERE.
from sympy import symbols, cos, solve, simplify, sqrt as ssqrt
h_,m_,c_,lam1,lam2,th=symbols('h m c lam1 lam2 theta',positive=True)
# energy: h c/lam1 + m c^2 = h c/lam2 + E_e ; momentum (2D) closes E_e^2=(pc)^2+(mc^2)^2
E_e=h_*c_/lam1+m_*c_**2-h_*c_/lam2
px=h_/lam1-(h_/lam2)*cos(th); py=(h_/lam2)*ssqrt(1-cos(th)**2)
res=simplify(E_e**2-(px**2+py**2)*c_**2-m_**2*c_**4)
sol=solve(res,lam2)
target=lam1+(h_/(m_*c_))*(1-cos(th))
assert any(simplify(s-target)==0 for s in sol)   # dlam=(h/mc)(1-cos th) derived
import math
dlam=6.62607015e-34/(9.1093837015e-31*299792458.0)*1e12
EXPECTED=2.42631
assert abs(dlam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dlam:.4f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003, f0028 PASS; conservation algebra verified in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P2 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.4263 pm**

*Pillar: Particle/Quantum | Atlas: F0003 + F0028 | family: route-phase*

---

## AUDIT SHEET P3 — The Photoelectric Slope h/e

> **At a glance** — Predicted: **4.1357 x10^-15 V s** · Verify: `python3 verify/P3_verify.py` · CAS: f0019 PASS · Experiment: FILE B row P3

**The problem.** Millikan spent a decade trying to disprove Einstein's light-quantum equation and instead measured its slope to half a percent in 1916 — the same h/e for every metal, every surface. The universality is the point: the slope is fixed by the action scale alone.

**Target.** dV_stop/dnu = h/e, in 1e-15 V s.

**Inputs & provenance.**
```
Symbol  meaning         value           units
h       action quantum  6.626070e-34   J s   [LOCKED - SI exact]
e       closure charge  1.602177e-19   C     [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. One route quantum pays one escape (F0019): eV_stop = h nu - phi. The material
   enters only through phi; the slope is h/e, locked by S0 = hbar with no freedom.
2. h/e = 6.626070e-34/1.602177e-19 = 4.1357 x10^-15 V s.
```

**Classical solution (same endpoint).**
```
1. Einstein photoelectric equation: identical.
```

**Structural difference.** None — both frameworks make the slope material-independent; VMS ties it to the single scale lock.

**Exclusions & validity.** None (work function phi cancels in the slope).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P3_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P3 — photoelectric slope. BASE: F0019 (CAS v2 f0019).
from sympy import symbols, diff, simplify
h_,e_,nu,phi=symbols('h e nu phi',positive=True)
V=(h_*nu-phi)/e_
assert simplify(diff(V,nu)-h_/e_)==0   # slope independent of phi
s=6.62607015e-34/1.602176634e-19*1e15
EXPECTED=4.13567
assert abs(s/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {s:.4f} x10^-15 V s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0019 PASS. (3) Complete proofs: F0019 chain (loader2 380-386); Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P3 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.1357 x10^-15 V s**

*Pillar: Particle/Quantum | Atlas: F0019 | family: constants-lock*

---

## AUDIT SHEET P4 — Hydrogen 2p Fine Structure

> **At a glance** — Predicted: **10.949 GHz** · Verify: `python3 verify/P4_verify.py` · CAS: f0020 PASS; interval extraction in snippet · Experiment: FILE B row P4

**The problem.** Michelson saw in 1887 that the Balmer lines were doublets; Sommerfeld explained the splitting in 1916 with relativity applied to Bohr orbits, and Dirac made it exact in 1928. The 2p(3/2)-2p(1/2) interval of about 10.97 GHz is the cleanest fine-structure test in the simplest atom.

**Target.** 2p3/2 - 2p1/2 interval, in GHz.

**Inputs & provenance.**
```
Symbol  meaning       value            units
Ry      ladder scale  13.605693        eV    [DERIVED - locked set]
alpha   coupling      7.29735257e-03   --    [DERIVED - sheet E1]
```

**VMS solution.**  *Primitives used: P3, P6, P7 — defined once in the Primer.*
```
1. Relativistic route budget (P6 dispersion of the orbiting loop) and frame
   double-cover coupling (P7) combine into the closure energy (F0020):
   E(n,j) = -(Ry/n^2)[1 + (alpha^2/n^2)(n/(j+1/2) - 3/4)].
2. Within n=2 the bracket difference between j=3/2 and j=1/2 is alpha^2/16 of Ry:
   dE = Ry alpha^2/16 = 13.6057 x 5.32514e-05/16 = 4.52826e-05 eV.
3. nu = dE e/h = 10.949 GHz.
```

**Classical solution (same endpoint).**
```
1. Dirac fine structure to order alpha^2: identical interval.
```

**Structural difference.** Derivation route differs (frame transport vs Dirac equation); the alpha^2 interval is shared.

**Exclusions & validity.** Lamb shift (QED radiative level shift, ~1 GHz on 2s1/2 but zero between the two 2p levels at this order) and hyperfine structure excluded — declared.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P4_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P4 — H 2p fine structure. BASE: F0020 (CAS v2 f0020); interval HERE.
from sympy import symbols, Rational, simplify
Ry_,al=symbols('Ry alpha',positive=True)
def En(n,j): return -(Ry_/n**2)*(1+(al**2/n**2)*(n/(j+Rational(1,2))-Rational(3,4)))
dE=simplify(En(2,Rational(3,2))-En(2,Rational(1,2)))
assert simplify(dE-Ry_*al**2/16)==0   # interval = Ry alpha^2/16
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
Ry=13.605693139558777
nu=Ry*alpha**2/16*1.602176634e-19/6.62607015e-34/1e9
EXPECTED=10.9493
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.3f} GHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0020 PASS; interval extraction in snippet. (3) Complete proofs: F0020 chain (loader2 388-397); PM SS1.5 frame closure (loader2 2149-2178); Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P4 — no experimental values on this sheet by design.

**PREDICTED VALUE: 10.949 GHz**

*Pillar: Particle/Quantum | Atlas: F0020*

---

## AUDIT SHEET P5 — The Hydrogen Ionization Energy

> **At a glance** — Predicted: **13.5983 eV** · Verify: `python3 verify/P5_verify.py` · CAS: f0008 PASS · Experiment: FILE B row P5

**The problem.** 13.6 eV is perhaps the most-quoted number in atomic physics — the energy to strip hydrogen's electron, measured today to parts in 10^12 by laser spectroscopy. With the proton's finite mass folded in, the ladder gives 13.598 eV.

**Target.** Ground-state binding energy, reduced-mass corrected, in eV.

**Inputs & provenance.**
```
Symbol  meaning         value           units
Ry      ladder scale    13.605693       eV    [DERIVED - locked set]
m_p     proton mass     1.672622e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Closure ladder n=1 (F0008) with the two-loop reduced mass (PM SS7):
   E = Ry x mu/m_e = 13.60569 x 0.999456 = 13.5983 eV.
```

**Classical solution (same endpoint).**
```
1. Bohr/QM ground state with reduced mass: identical.
```

**Structural difference.** None.

**Exclusions & validity.** QED corrections below the 1e-5 level quoted (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P5_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P5 — H ionization. BASE: F0008 ladder (CAS v2 f0008); reduced mass HERE.
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
Ry=9.1093837015e-31*1.602176634e-19**4/(2*(4*math.pi*8.8541878128e-12)**2*1.054571817e-34**2)/1.602176634e-19
E=Ry*(1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27))
EXPECTED=13.5983
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.4f} eV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P5 — no experimental values on this sheet by design.

**PREDICTED VALUE: 13.5983 eV**

*Pillar: Particle/Quantum | Atlas: F0008*

---

## AUDIT SHEET P6 — Positronium Binding Energy

> **At a glance** — Predicted: **6.8028 eV** · Verify: `python3 verify/P6_verify.py` · CAS: f0008 PASS · Experiment: FILE B row P6

**The problem.** Positronium — an electron bound to its own antiparticle — was predicted in 1934 and found in 1951. With two equal masses the reduced mass is exactly m_e/2, so it binds at exactly half of hydrogen's Rydberg: the cleanest possible reduced-mass test.

**Target.** Ground-state binding, in eV.

**Inputs & provenance.**
```
Symbol  meaning       value        units
Ry      ladder scale  13.605693    eV    [DERIVED - locked set]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Equal-mass two-loop closure: mu = m_e/2 exactly, so E = Ry/2 = 6.8028 eV (PM SS7).
```

**Classical solution (same endpoint).**
```
1. Hydrogen-like QM with mu = m_e/2: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Annihilation and QED shifts below the quoted digits (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P6_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P6 — positronium binding. BASE: F0008 ladder, mu=m_e/2 exact.
from sympy import symbols, simplify, Rational
m_=symbols('m',positive=True)
mu=m_*m_/(m_+m_)
assert simplify(mu-m_/2)==0   # equal masses: mu = m/2 exactly
Ry=13.605693139558777
E=Ry/2
EXPECTED=6.80285
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.4f} eV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: PM SS7 dictionary (loader2 2369-2403); Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P6 — no experimental values on this sheet by design.

**PREDICTED VALUE: 6.8028 eV**

*Pillar: Particle/Quantum | Atlas: PM SS7, mu=m_e/2*

---

## AUDIT SHEET P7 — Muonic Hydrogen K-Alpha Energy

> **At a glance** — Predicted: **1.896 keV** · Verify: `python3 verify/P7_verify.py` · CAS: f0008 PASS · Experiment: FILE B row P7

**The problem.** Replace hydrogen's electron with a muon — 207 times heavier — and the atom shrinks by the same factor, pushing its Lyman-alpha line from ultraviolet to X-ray. Muonic hydrogen spectroscopy is how the proton-radius puzzle surfaced in 2010. The 2p->1s energy tests the ladder at a radically different scale with zero retuning.

**Target.** 2p -> 1s transition energy, in keV.

**Inputs & provenance.**
```
Symbol  meaning       value           units
Ry      ladder scale  13.605693       eV    [DERIVED - locked set]
m_mu    muon mass     1.883532e-28  kg    [MEASURED - CODATA]
m_p     proton mass   1.672622e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Same ladder, muon loop in the proton profile: mu(mu-p)/m_e = 185.841.
2. E1 = Ry x 185.841 = 2528.5 eV; K-alpha = (3/4)|E1| = 1.896 keV.
   No parameter changes between electron and muon — that is the audit point.
```

**Classical solution (same endpoint).**
```
1. Hydrogenic QM with the muon reduced mass: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Finite-proton-size shift (the puzzle itself, ~0.3% on 2s) and vacuum polarization excluded — declared; both below the 3-digit level quoted for K-alpha.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P7_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P7 — muonic H K-alpha. BASE: F0008 ladder; muon reduced mass HERE.
Ry=13.605693139558777
mu_ratio=1.883531627e-28*1.67262192369e-27/((1.883531627e-28+1.67262192369e-27)*9.1093837015e-31)
E=0.75*Ry*mu_ratio/1e3
EXPECTED=1.89637
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.3f} keV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P7 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.896 keV**

*Pillar: Particle/Quantum | Atlas: F0008 + PM SS7*

---

## AUDIT SHEET P8 — The H-D Isotope Shift of H-Alpha

> **At a glance** — Predicted: **0.1786 nm** · Verify: `python3 verify/P8_verify.py` · CAS: f0008 PASS; reduced-mass scaling in snippet · Experiment: FILE B row P8

**The problem.** Urey discovered deuterium in 1931 by spotting a faint companion line 0.18 nm to the blue of H-alpha — exactly where a doubled nuclear mass moves the Balmer line through the reduced mass. It earned him the 1934 Nobel Prize.

**Target.** lam(H-alpha, H) - lam(H-alpha, D), in nm.

**Inputs & provenance.**
```
Symbol  meaning         value           units
R_inf   ladder scale    1.097373e+07  1/m   [DERIVED - sheet E2]
m_p     proton mass     1.672622e-27  kg    [MEASURED - CODATA]
m_d     deuteron mass   3.343584e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. The ladder scales with the two-loop reduced mass: R_X = R_inf mu_X/m_e.
   R_H = 1.096776e+07 /m; R_D = 1.097074e+07 /m.
2. lam = 1/[R_X(1/4 - 1/9)]: H 656.4696 nm, D 656.2910 nm.
3. Shift = 0.1786 nm.
```

**Classical solution (same endpoint).**
```
1. Bohr reduced-mass isotope shift: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Fine structure common to both lines cancels in the shift (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P8_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P8 — H-D isotope shift. BASE: F0008 ladder; reduced-mass scaling HERE.
Rinf=10973731.581520207
RH=Rinf*1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27); RD=Rinf*3.3435837768e-27/(9.1093837015e-31+3.3435837768e-27)
sh=(1/(RH*(0.25-1/9.0))-1/(RD*(0.25-1/9.0)))*1e9
EXPECTED=0.178576
assert abs(sh/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {sh:.4f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS; reduced-mass scaling in snippet. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P8 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.1786 nm**

*Pillar: Particle/Quantum | Atlas: F0008 + PM SS7*

---

## AUDIT SHEET P9 — Electron Spin Resonance at 1 Tesla

> **At a glance** — Predicted: **28.025 GHz** · Verify: `python3 verify/P9_verify.py` · CAS: mu_B in E9 snippet; product computed here · Experiment: FILE B row P9

**The problem.** Zavoisky detected electron spin resonance in 1944: in a magnetic field a free electron's two spin orientations split by g mu_B B, and photons at exactly that frequency flip them. At 1 T the resonance sits at 28.0 GHz — the workhorse calibration of EPR spectroscopy.

**Target.** nu = g_e mu_B B / h at B = 1 T, in GHz.

**Inputs & provenance.**
```
Symbol  meaning          value            units
g_e     electron g       2.00231930     --    [MEASURED - CODATA]
mu_B    Bohr magneton    9.274010e-24   J/T   [DERIVED - sheet E9]
B       field            1                T     [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P3, P7 — defined once in the Primer.*
```
1. The loop's orientation in a field costs g_e mu_B B per flip (PM SS1.5 frame
   double-cover; g_e taken as measured — its 2.002319 value is QED territory, declared).
2. nu = g_e mu_B B/h = 2.002319 x 9.27401e-24/6.62607e-34 = 28.025 GHz.
```

**Classical solution (same endpoint).**
```
1. Zeeman/ESR resonance condition: identical.
```

**Structural difference.** None at this endpoint; the anomalous part of g_e is imported as measured in both treatments at this level.

**Exclusions & validity.** g_e - 2 not derived here (declared import, CODATA).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P9_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P9 — ESR at 1 T. BASE: PM SS1.5; mu_B from E9.
muB=1.602176634e-19*1.054571817e-34/(2*9.1093837015e-31)
nu=2.00231930436*muB*1.0/6.62607015e-34/1e9
EXPECTED=28.025
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.3f} GHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mu_B in E9 snippet; product computed here. (3) Complete proofs: PM SS1.5 (loader2 2149-2178); Hyperfine dictionary: PM SS11.7 cross-checks (loader2 2697-2756). (4) Experiment: FILE B, row P9 — no experimental values on this sheet by design.

**PREDICTED VALUE: 28.025 GHz**

*Pillar: Particle/Quantum | Atlas: PM SS1.5*

---

## AUDIT SHEET P10 — Muon Lifetime in the Storage Ring

> **At a glance** — Predicted: **64.37 microseconds** · Verify: `python3 verify/P10_verify.py` · CAS: f0003 PASS · Experiment: FILE B row P10

**The problem.** CERN's muon storage rings circulated muons at gamma = 29.3 and watched them live 29 times longer than at rest — time dilation measured on unstable particles to 0.1%, later refined by the g-2 rings at Brookhaven and Fermilab.

**Target.** Lab-frame lifetime at gamma = 29.30, in microseconds.

**Inputs & provenance.**
```
Symbol  meaning          value       units
tau_0   rest lifetime    2.1969811   us     [MEASURED - PDG]
gamma   dispersion       29.30       --     [STANDARD - ring design]
```

**VMS solution.**  *Primitives used: P6 — defined once in the Primer.*
```
1. A translating closure's internal circulation slows by the dispersion factor
   gamma (F0003, P6) — the decay clock IS that circulation, so tau_lab = gamma tau_0.
2. tau_lab = 29.30 x 2.1969811 = 64.37 us.
```

**Classical solution (same endpoint).**
```
1. SR time dilation: identical.
```

**Structural difference.** Mechanism named: VMS locates the slowdown in the closure's internal circulation rather than in an abstract frame transformation; the factor is the same gamma.

**Exclusions & validity.** None at ring precision.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P10_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P10 — muon lifetime at gamma=29.3. BASE: F0003 (CAS v2 f0003).
tau=29.30*2.1969811
EXPECTED=64.3715
assert abs(tau/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {tau:.2f} us   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P10 — no experimental values on this sheet by design.

**PREDICTED VALUE: 64.37 microseconds**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P11 — The Thermal Neutron Wavelength

> **At a glance** — Predicted: **0.1798 nm** · Verify: `python3 verify/P11_verify.py` · CAS: f0028 PASS · Experiment: FILE B row P11

**The problem.** A neutron in thermal equilibrium at 290 K carries 0.0253 eV and a wavelength of 0.18 nm — atomic spacing. That coincidence makes thermal neutrons the standard probe of crystal structure, and reactors worldwide quote this wavelength as their reference.

**Target.** lam = h/sqrt(2 m_n E) at E = 0.0253 eV, in nm.

**Inputs & provenance.**
```
Symbol  meaning        value           units
h       action quantum 6.626070e-34   J s   [LOCKED - SI exact]
m_n     neutron mass   1.674927e-27  kg    [MEASURED - CODATA]
E       energy         0.0253          eV    [STANDARD - thermal reference]
```

**VMS solution.**  *Primitives used: P1, P3 — defined once in the Primer.*
```
1. Route-phase period for a composite closure — same rule as P1, neutral and 1839x
   heavier: lam = h/sqrt(2 m_n E) = 0.1798 nm (F0028).
```

**Classical solution (same endpoint).**
```
1. de Broglie relation: identical.
```

**Structural difference.** None — the audit point is that the rule is mass- and charge-blind.

**Exclusions & validity.** Non-relativistic (exact to ~1e-8 here).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P11_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P11 — thermal neutron wavelength. BASE: F0028.
import math
lam=6.62607015e-34/math.sqrt(2*1.67492749804e-27*0.0253*1.602176634e-19)*1e9
EXPECTED=0.179816
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.4f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0028 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P11 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.1798 nm**

*Pillar: Particle/Quantum | Atlas: F0028 | family: route-phase*

---

## AUDIT SHEET P12 — Fe-56 Binding Energy per Nucleon

> **At a glance** — Predicted: **8.760 MeV** · Verify: `python3 verify/P12_verify.py` · CAS: budget arithmetic in snippet · Experiment: FILE B row P12

**The problem.** Iron-56 sits near the top of the binding-energy curve — the reason stellar fusion stops at iron and everything heavier is forged in explosions. Its B/A of about 8.8 MeV is the reference point of nuclear energetics.

**Target.** B/A of Fe-56 from the five-term budget, in MeV.

**Inputs & provenance.**
```
Symbol  meaning         value    units
aV      volume budget   15.75    MeV   [MEASURED - declared SEMF set]
aS      surface budget  17.8     MeV   [MEASURED - same set]
aC      Coulomb budget  0.711    MeV   [MEASURED - same set]
aA      asymmetry       23.7     MeV   [MEASURED - same set]
aP      pairing         11.18    MeV   [MEASURED - same set]
A, Z    nucleus         56, 26   --    [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Budget build (PM SS6 Lemma L6): a closure of A nucleons pays volume, surface,
   Coulomb, asymmetry and pairing budgets — one declared five-number set for ALL nuclei:
   B = aV A - aS A^(2/3) - aC Z^2/A^(1/3) - aA (N-Z)^2/A + pairing.
2. A=56, Z=26, N=30: volume 882.0 - surface 260.5 - Coulomb 125.6 - asym 6.8
   => B = 490.6 MeV, B/A = 8.760 MeV.
```

**Classical solution (same endpoint).**
```
1. Semi-empirical mass formula (Bethe-Weizsäcker): identical terms.
```

**Structural difference.** The same five coefficients serve every nucleus in this family (P12/P13/P28/P29/P30/P37) with no retune — that no-retune discipline is the audit point.

**Exclusions & validity.** Shell micro-structure excluded (declared; magic-number deviations are the known residual of the liquid-drop level). 

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P12_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P12 — SEMF B/A, A=56 Z=26. BASE: PM SS6 L6 budget build.
import math
aV,aS,aC,aA,aP=15.75,17.8,0.711,23.7,11.18
A,Z=56,26; N=A-Z
B=aV*A-aS*A**(2/3.0)-aC*Z*Z/A**(1/3.0)-aA*(N-Z)**2/A
if Z%2==0 and N%2==0: B+=aP/math.sqrt(A)
elif Z%2==1 and N%2==1: B-=aP/math.sqrt(A)
BA=B/A
EXPECTED=8.75985
assert abs(BA/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {BA:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): budget arithmetic in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P12 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.760 MeV**

*Pillar: Particle/Quantum | Atlas: PM SS6 L6 | family: SEMF*

---

## AUDIT SHEET P13 — Pb-208 Binding Energy per Nucleon

> **At a glance** — Predicted: **7.810 MeV** · Verify: `python3 verify/P13_verify.py` · CAS: budget arithmetic in snippet · Experiment: FILE B row P13

**The problem.** Lead-208 is the heaviest doubly-magic nucleus — 82 protons, 126 neutrons, both closed shells — and the endpoint of three natural decay chains. A clean heavy-mass test of the same five budgets.

**Target.** B/A of Pb-208 from the five-term budget, in MeV.

**Inputs & provenance.**
```
Symbol  meaning         value    units
aV      volume budget   15.75    MeV   [MEASURED - declared SEMF set]
aS      surface budget  17.8     MeV   [MEASURED - same set]
aC      Coulomb budget  0.711    MeV   [MEASURED - same set]
aA      asymmetry       23.7     MeV   [MEASURED - same set]
aP      pairing         11.18    MeV   [MEASURED - same set]
A, Z    nucleus         208, 82   --    [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Budget build (PM SS6 Lemma L6): a closure of A nucleons pays volume, surface,
   Coulomb, asymmetry and pairing budgets — one declared five-number set for ALL nuclei:
   B = aV A - aS A^(2/3) - aC Z^2/A^(1/3) - aA (N-Z)^2/A + pairing.
2. A=208, Z=82, N=126: volume 3276.0 - surface 624.9 - Coulomb 806.9 - asym 220.6
   => B = 1624.4 MeV, B/A = 7.810 MeV.
```

**Classical solution (same endpoint).**
```
1. Semi-empirical mass formula (Bethe-Weizsäcker): identical terms.
```

**Structural difference.** The same five coefficients serve every nucleus in this family (P12/P13/P28/P29/P30/P37) with no retune — that no-retune discipline is the audit point.

**Exclusions & validity.** Shell micro-structure excluded (declared; magic-number deviations are the known residual of the liquid-drop level). Pb-208's doubly-magic shell bonus is the known ~0.1 MeV/A residual.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P13_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P13 — SEMF B/A, A=208 Z=82. BASE: PM SS6 L6 budget build.
import math
aV,aS,aC,aA,aP=15.75,17.8,0.711,23.7,11.18
A,Z=208,82; N=A-Z
B=aV*A-aS*A**(2/3.0)-aC*Z*Z/A**(1/3.0)-aA*(N-Z)**2/A
if Z%2==0 and N%2==0: B+=aP/math.sqrt(A)
elif Z%2==1 and N%2==1: B-=aP/math.sqrt(A)
BA=B/A
EXPECTED=7.80973
assert abs(BA/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {BA:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): budget arithmetic in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P13 — no experimental values on this sheet by design.

**PREDICTED VALUE: 7.810 MeV**

*Pillar: Particle/Quantum | Atlas: PM SS6 L6 | family: SEMF*

---

## AUDIT SHEET P14 — The He+ Ionization Energy

> **At a glance** — Predicted: **54.415 eV** · Verify: `python3 verify/P14_verify.py` · CAS: f0008 PASS · Experiment: FILE B row P14

**The problem.** Singly-ionized helium is hydrogen with double the nuclear charge: the ladder predicts four times the binding. Its spectrum — the Pickering series — was initially mistaken for exotic hydrogen in stars until Bohr's Z^2 scaling explained it in 1913, one of the model's first triumphs.

**Target.** He+ ground-state binding, in eV.

**Inputs & provenance.**
```
Symbol  meaning       value           units
Ry      ladder scale  13.605693       eV    [DERIVED - locked set]
m_alpha alpha mass    6.644657e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Z=2 ladder: binding scales as Z^2 (closure in a doubly-deep Coulomb profile).
2. E = 4 Ry x mu_He/m_e = 4 x 13.60569 x 0.999863 = 54.415 eV — no retune.
```

**Classical solution (same endpoint).**
```
1. Hydrogenic QM, Z=2 with reduced mass: identical.
```

**Structural difference.** None.

**Exclusions & validity.** QED and finite-size effects below the quoted digits (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P14_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P14 — He+ ionization. BASE: F0008 ladder, Z^2 scaling.
Ry=13.605693139558777
E=4*Ry*(6.6446573357e-27/(9.1093837015e-31+6.6446573357e-27))   # Z^2 ladder x mu_He/m_e
EXPECTED=54.4153
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.3f} eV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P14 — no experimental values on this sheet by design.

**PREDICTED VALUE: 54.415 eV**

*Pillar: Particle/Quantum | Atlas: F0008, Z=2*

---

## AUDIT SHEET P15 — Electron Wavelength in a 300 kV Microscope

> **At a glance** — Predicted: **1.969 pm** · Verify: `python3 verify/P15_verify.py` · CAS: f0003, f0028 PASS; dispersion algebra in snippet · Experiment: FILE B row P15

**The problem.** A 300 kV transmission electron microscope accelerates electrons to 78% of c; their 1.97 pm wavelength is what lets modern TEMs resolve individual atomic columns. At this voltage the non-relativistic formula is off by 12% — the relativistic budget is not optional.

**Target.** lam = hc/pc at T = 300 keV, in pm.

**Inputs & provenance.**
```
Symbol  meaning        value        units
T       kinetic energy 300          keV   [STANDARD - instrument]
m_e c^2 rest budget    510.999      keV   [DERIVED - locked masses]
```

**VMS solution.**  *Primitives used: P1, P3, P6 — defined once in the Primer.*
```
1. Relativistic route momentum from the dispersion budget (F0003):
   (pc)^2 = T^2 + 2 T m_e c^2 => pc = 629.76 keV.
2. lam = hc/pc = 1239.8420 eV nm / 629761.4 eV = 1.969 pm (F0028).
```

**Classical solution (same endpoint).**
```
1. Relativistic de Broglie: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None at instrument precision.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P15_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P15 — TEM wavelength at 300 kV. BASE: F0003+F0028; kinematics HERE.
from sympy import symbols, sqrt as ssqrt, simplify
T,mc2=symbols('T mc2',positive=True)
pc=ssqrt(T**2+2*T*mc2)
assert simplify((pc**2+mc2**2)-(T+mc2)**2)==0   # E^2=(pc)^2+(mc^2)^2 with E=T+mc^2
import math
mc2v=9.1093837015e-31*299792458.0**2/1.602176634e-19
pcv=math.sqrt(300e3**2+2*300e3*mc2v)
lam=6.62607015e-34*299792458.0/(pcv*1.602176634e-19)*1e12
EXPECTED=1.96875
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.3f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003, f0028 PASS; dispersion algebra in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P15 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.969 pm**

*Pillar: Particle/Quantum | Atlas: F0003 + F0028 | family: route-phase*

---

## AUDIT SHEET P16 — The Alpha-Decay Ratio Po-210 / Po-212

> **At a glance** — Predicted: **13.65 (log10 of ratio)** · Verify: `python3 verify/P16_verify.py` · CAS: action-gap arithmetic in snippet · Experiment: FILE B row P16

**The problem.** Po-210 lives 138 days; Po-212 lives 0.3 microseconds — a factor of 4x10^13 from an alpha energy difference of just 3.5 MeV. Geiger and Nuttall spotted the log-linear law in 1911; Gamow's 1928 tunneling calculation explained it and was the first quantum victory in nuclear physics.

**Target.** log10(t_half 210 / t_half 212) from barrier actions alone.

**Inputs & provenance.**
```
Symbol  meaning          value     units
E(210)  alpha energy     5.304     MeV   [MEASURED - declared]
E(212)  alpha energy     8.785     MeV   [MEASURED - declared]
Z_d     daughter charge  82        --    [STANDARD]
m_a c^2 alpha rest       3727.379  MeV   [DERIVED - locked masses]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Escape rate ~ exp(-2 dS/S0) (PM SS5 action-gap law — the WKB dictionary).
   Pure-Coulomb barrier action: G = 2 pi Z1 Z2 alpha c/v with v = c sqrt(2E/m_alpha c^2).
2. Po-210: v/c = 0.05335, G = 140.95.  Po-212: v/c = 0.06866, G = 109.52.
3. ln(t210/t212) = G210 - G212 = 31.43 => log10 ratio = 13.65.
   Prefactors (assault frequency, radius term) cancel in the ratio by construction.
```

**Classical solution (same endpoint).**
```
1. Gamow/WKB tunneling through the Coulomb barrier: identical exponent.
```

**Structural difference.** VMS reads the exponent as an action gap in units of S0 — the loader's ln-linear diagnostic across ~13.6 orders of magnitude; the algebra is Gamow's.

**Exclusions & validity.** Ratio only (absolute half-lives need the radius-dependent prefactor and barrier-interior correction — declared out of scope).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P16_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P16 — Po-210/Po-212 alpha ratio. BASE: PM SS5 action-gap law.
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
mac2=3727.379
def G(E): return 2*math.pi*2*82*alpha/math.sqrt(2*E/mac2)
r=(G(5.304)-G(8.785))/math.log(10)
EXPECTED=13.6499
assert abs(r/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: log10 ratio = {r:.2f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): action-gap arithmetic in snippet. (3) Complete proofs: Action-gap/escape law: PM SS5 (loader2 2269-2319); WKB dictionary PM SS5.5. (4) Experiment: FILE B, row P16 — no experimental values on this sheet by design.

**PREDICTED VALUE: 13.65 (log10 of ratio)**

*Pillar: Particle/Quantum | Atlas: PM SS5*

---

## AUDIT SHEET P17 — The Franck-Hertz Voltage Period

> **At a glance** — Predicted: **4.888 eV** · Verify: `python3 verify/P17_verify.py` · CAS: quantum arithmetic in snippet · Experiment: FILE B row P17

**The problem.** In 1914 Franck and Hertz swept a voltage across mercury vapor and saw the current dip every 4.9 volts — electrons dumping exactly one quantum into mercury atoms, then starting over. The first direct proof that atomic energy levels are discrete; Nobel Prize 1925.

**Target.** Voltage period = first Hg excitation energy, in eV.

**Inputs & provenance.**
```
Symbol  meaning           value      units
lam     Hg resonance line 253.65     nm    [MEASURED - declared]
h, c, e locks             SI exact   --    [LOCKED]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. The first closure excitation of Hg emits at 253.65 nm; each current dip spends
   one such quantum: dE = hc/lam = 4.888 eV — the accelerating-voltage period.
```

**Classical solution (same endpoint).**
```
1. Quantized levels + photon energy: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Contact-potential offset shifts the absolute dip positions, not the period (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P17_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P17 — Franck-Hertz period. BASE: one-quantum transfer (F0019 family).
dE=6.62607015e-34*299792458.0/(253.65e-9)/1.602176634e-19
EXPECTED=4.888
assert abs(dE/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dE:.3f} eV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): quantum arithmetic in snippet. (3) Complete proofs: F0019/F0008 family; Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P17 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.888 eV**

*Pillar: Particle/Quantum | Atlas: F0008 family*

---

## AUDIT SHEET P18 — STM Current Decay per Angstrom

> **At a glance** — Predicted: **8.79 (factor per 0.1 nm)** · Verify: `python3 verify/P18_verify.py` · CAS: decay arithmetic in snippet · Experiment: FILE B row P18

**The problem.** The scanning tunneling microscope works because tunneling current dies by roughly a factor of ten for every angstrom of tip retraction — that brutal exponential is what gives the STM its atomic vertical resolution and earned Binnig and Rohrer the 1986 Nobel Prize.

**Target.** Current attenuation factor per 0.1 nm at barrier phi = 4.5 eV.

**Inputs & provenance.**
```
Symbol  meaning          value           units
phi     barrier height   4.5             eV    [STANDARD - typical metal work function]
m_e     electron mass    9.109384e-31  kg    [MEASURED - CODATA]
d       retraction       0.1             nm    [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Escape-gap decay through the classically-forbidden region (PM SS5 = WKB dictionary):
   kappa = sqrt(2 m_e phi)/hbar = 1.0868e+10 /m.
2. Current ~ exp(-2 kappa d): factor per 0.1 nm = exp(2.174) = 8.79.
```

**Classical solution (same endpoint).**
```
1. WKB tunneling attenuation: identical.
```

**Structural difference.** Same exponent read as an action gap in units of S0.

**Exclusions & validity.** Square-barrier idealization; tip geometry and bias-dependence excluded (declared — the exponent is the robust part).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P18_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P18 — STM decay per angstrom. BASE: PM SS5 escape-gap law.
import math
kappa=math.sqrt(2*9.1093837015e-31*4.5*1.602176634e-19)/1.054571817e-34
f=math.exp(2*kappa*1e-10)
EXPECTED=8.78966
assert abs(f/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {f:.2f} per 0.1 nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): decay arithmetic in snippet. (3) Complete proofs: Action-gap/escape law: PM SS5 (loader2 2269-2319); WKB dictionary PM SS5.5. (4) Experiment: FILE B, row P18 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.79 (factor per 0.1 nm)**

*Pillar: Particle/Quantum | Atlas: PM SS5*

---

## AUDIT SHEET P19 — The Annihilation Photon Energy

> **At a glance** — Predicted: **510.999 keV** · Verify: `python3 verify/P19_verify.py` · CAS: f0003 PASS · Experiment: FILE B row P19

**The problem.** When a positron meets an electron at rest, two photons of exactly 511 keV fly apart back-to-back. Every PET scanner on Earth is built around detecting that pair — the electron's rest energy converted entirely to light.

**Target.** Photon energy from e+e- annihilation at rest, in keV.

**Inputs & provenance.**
```
Symbol  meaning        value           units
m_e     electron mass  9.109384e-31  kg    [MEASURED - CODATA]
c       route speed    2.997925e+08  m/s   [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Two closures unwind completely; each loop budget is released as one advancing-front
   quantum (F0003 bookkeeping): E = m_e c^2 = 510.999 keV per photon.
```

**Classical solution (same endpoint).**
```
1. Mass-energy equivalence: identical.
```

**Structural difference.** None — VMS reads m c^2 as the closure's stored route budget.

**Exclusions & validity.** At-rest annihilation (in-flight Doppler shifts both photons — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P19_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P19 — annihilation photon. BASE: F0003 budget bookkeeping.
E=9.1093837015e-31*299792458.0**2/1.602176634e-19/1e3
EXPECTED=510.999
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.3f} keV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P19 — no experimental values on this sheet by design.

**PREDICTED VALUE: 510.999 keV**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P20 — The Deuteron Binding Energy

> **At a glance** — Predicted: **2.2246 MeV** · Verify: `python3 verify/P20_verify.py` · CAS: mass arithmetic in snippet · Experiment: FILE B row P20

**The problem.** The deuteron weighs measurably less than a proton plus a neutron — Chadwick and Goldhaber photodisintegrated it in 1934 and read off the 2.2 MeV deficit. It was among the first precision mass-defect measurements, and today it anchors the neutron-mass determination itself.

**Target.** B = (m_p + m_n - m_d) c^2, in MeV.

**Inputs & provenance.**
```
Symbol  meaning        value           units
m_p     proton mass    1.672622e-27  kg    [MEASURED - CODATA]
m_n     neutron mass   1.674927e-27  kg    [MEASURED - CODATA]
m_d     deuteron mass  3.343584e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. A composite closure holds less route budget than its free parts; the deficit is
   the binding: B = (m_p + m_n - m_d) c^2 = 2.2246 MeV.
```

**Classical solution (same endpoint).**
```
1. Mass defect: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None (pure mass bookkeeping).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P20_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P20 — deuteron binding. BASE: F0003 budget bookkeeping.
B=(1.67262192369e-27+1.67492749804e-27-3.3435837768e-27)*299792458.0**2/1.602176634e-19/1e6
EXPECTED=2.22456
assert abs(B/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {B:.4f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mass arithmetic in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P20 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.2246 MeV**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P21 — The LHC Proton's Speed Shortfall

> **At a glance** — Predicted: **3.123 m/s** · Verify: `python3 verify/P21_verify.py` · CAS: f0003 PASS; expansion in snippet · Experiment: FILE B row P21

**The problem.** A 6.5 TeV proton in the LHC travels 3 m/s slower than light — after 27 kilometers of ring it trails a photon by about a tenth of a millimeter per lap. The number is a vivid statement of how the dispersion relation saturates.

**Target.** c - v at E = 6.5 TeV, in m/s.

**Inputs & provenance.**
```
Symbol  meaning       value          units
E       beam energy   6.5            TeV   [STANDARD - LHC Run 2]
m_p c^2 rest budget   0.9383     GeV   [DERIVED - locked masses]
```

**VMS solution.**  *Primitives used: P6 — defined once in the Primer.*
```
1. Dispersion (F0003): gamma = E/m_p c^2 = 6928.
2. Large-gamma expansion: c - v = c(1 - sqrt(1-1/gamma^2)) ~ c/2gamma^2 = 3.123 m/s
   (expansion validity verified symbolically in the snippet).
```

**Classical solution (same endpoint).**
```
1. SR kinematics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Expansion good to 1 part in gamma^2 ~ 2e-8 (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P21_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P21 — LHC c-v. BASE: F0003 dispersion; large-gamma expansion HERE.
from sympy import symbols, sqrt as ssqrt, series, simplify
g=symbols('g',positive=True)
expr=1-ssqrt(1-1/g**2)
lead=series(expr,g,__import__('sympy').oo,5).removeO()
assert simplify(lead-1/(2*g**2)-1/(8*g**4))==0   # c-v = c/2g^2 + O(g^-4)
gam=6.5e12/(1.67262192369e-27*299792458.0**2/1.602176634e-19)
dv=299792458.0/(2*gam**2)
EXPECTED=3.12336
assert abs(dv/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dv:.3f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS; expansion in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P21 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.123 m/s**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P22 — The Pair-Production Threshold

> **At a glance** — Predicted: **1.0220 MeV** · Verify: `python3 verify/P22_verify.py` · CAS: mass arithmetic in snippet · Experiment: FILE B row P22

**The problem.** Above 1.022 MeV a gamma ray passing a nucleus can materialize into an electron-positron pair — Anderson photographed the first positrons from exactly this process in 1932. The threshold is two electron rest energies, no more and no less.

**Target.** Minimum photon energy for e+e- pair creation in a nuclear field, in MeV.

**Inputs & provenance.**
```
Symbol  meaning        value           units
m_e     electron mass  9.109384e-31  kg    [MEASURED - CODATA]
c       route speed    2.997925e+08  m/s   [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Two loop budgets must be created from one front quantum: E_th = 2 m_e c^2 = 1.0220 MeV
   (the heavy nucleus absorbs recoil momentum at negligible energy — declared).
```

**Classical solution (same endpoint).**
```
1. QED pair-production threshold: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Nuclear recoil energy ~ E^2/2Mc^2, parts in 10^4 for heavy nuclei (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P22_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P22 — pair threshold. BASE: F0003 budget bookkeeping.
E=2*9.1093837015e-31*299792458.0**2/1.602176634e-19/1e6
EXPECTED=1.022
assert abs(E/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {E:.4f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mass arithmetic in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P22 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.0220 MeV**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P23 — Radiation Force per Watt

> **At a glance** — Predicted: **3.3356 nN/W** · Verify: `python3 verify/P23_verify.py` · CAS: f0015, f0025 PASS · Experiment: FILE B row P23

**The problem.** Light pushes. Lebedev measured radiation pressure on foils in 1901, vindicating Maxwell's prediction; today the same 3.34 nN/W governs laser cooling, optical tweezers and solar sails alike.

**Target.** Force per watt of fully absorbed light, in nN/W.

**Inputs & provenance.**
```
Symbol  meaning      value          units
c       route speed  2.997925e+08  m/s   [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1n — defined once in the Primer.*
```
1. The advancing front transports momentum p = E/c (F0015/F0025 Poynting bookkeeping):
   F/P = 1/c = 3.3356 nN/W at full absorption (double it for a mirror).
```

**Classical solution (same endpoint).**
```
1. Maxwell stress tensor / photon momentum: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Full absorption, normal incidence (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P23_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P23 — radiation force per watt. BASE: F0015/F0025 (CAS v2).
F=1/299792458.0*1e9
EXPECTED=3.33564
assert abs(F/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {F:.4f} nN/W   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0015, f0025 PASS. (3) Complete proofs: F0015/F0025 chains (loader2 350-368, 415-425); EM pillar appendix. (4) Experiment: FILE B, row P23 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.3356 nN/W**

*Pillar: Particle/Quantum | Atlas: F0015 + F0025*

---

## AUDIT SHEET P24 — The Neutron-Proton Mass Difference

> **At a glance** — Predicted: **1.2933 MeV** · Verify: `python3 verify/P24_verify.py` · CAS: mass arithmetic in snippet · Experiment: FILE B row P24

**The problem.** The neutron outweighs the proton by 1.29 MeV — just enough to make free neutrons decay in 15 minutes while protons are stable. Chemistry, stellar burning and the hydrogen-rich universe all hang on the sign and size of this number.

**Target.** (m_n - m_p) c^2, in MeV.

**Inputs & provenance.**
```
Symbol  meaning       value           units
m_n     neutron mass  1.674927e-27  kg    [MEASURED - CODATA]
m_p     proton mass   1.672622e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Closure budget difference from locked masses: (m_n - m_p) c^2 = 1.2933 MeV.
```

**Classical solution (same endpoint).**
```
1. Mass bookkeeping: identical.
```

**Structural difference.** None (neither framework derives the difference here; both compute the budget from measured masses).

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P24_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P24 — n-p mass difference. BASE: budget bookkeeping.
d=(1.67492749804e-27-1.67262192369e-27)*299792458.0**2/1.602176634e-19/1e6
EXPECTED=1.29333
assert abs(d/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {d:.4f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mass arithmetic in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P24 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.2933 MeV**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P25 — The Hydrogen 1S-2S Frequency

> **At a glance** — Predicted: **2466.038 THz** · Verify: `python3 verify/P25_verify.py` · CAS: f0008 PASS · Experiment: FILE B row P25

**The problem.** The 1S-2S two-photon transition is the sharpest line in hydrogen — Haensch's group has measured it to 15 digits, making it the benchmark for testing atomic theory and the constancy of constants. The ladder gives its leading value from the locked set.

**Target.** nu(1S-2S) = (3/4) Ry (mu/m_e)/h, in THz.

**Inputs & provenance.**
```
Symbol  meaning       value           units
Ry      ladder scale  13.605693       eV    [DERIVED - locked set]
m_p     proton mass   1.672622e-27  kg    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Ladder interval: dE = Ry(mu/m_e)(1 - 1/4) = 10.1987 eV.
2. nu = dE e/h = 2466.038 THz (QED/Lamb corrections excluded, declared — they enter
   at the 1e-5 relative level, far below this sheet's quoted digits, far above the
   experiment's).
```

**Classical solution (same endpoint).**
```
1. QM two-photon 1S-2S interval: identical at this order.
```

**Structural difference.** None.

**Exclusions & validity.** Lamb shift, hyperfine centroid, QED recoil — declared imports beyond the ladder level.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P25_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P25 — H 1S-2S. BASE: F0008 ladder.
Ry=13.605693139558777
nu=0.75*Ry*(1.67262192369e-27/(9.1093837015e-31+1.67262192369e-27))*1.602176634e-19/6.62607015e-34/1e12
EXPECTED=2466.04
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.3f} THz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0008 PASS. (3) Complete proofs: Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P25 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2466.038 THz**

*Pillar: Particle/Quantum | Atlas: F0008*

---

## AUDIT SHEET P26 — The Deuterium Hyperfine Frequency

> **At a glance** — Predicted: **327.2 MHz** · Verify: `python3 verify/P26_verify.py` · CAS: scaling arithmetic in snippet; base in E5 · Experiment: FILE B row P26

**The problem.** Deuterium's ground-state hyperfine splitting at 327 MHz is the 21-cm story retold with a spin-1 nucleus — measured by maser techniques to parts in 10^12. Scaling from hydrogen's splitting tests the contact-coupling structure with a different nuclear spin and g-factor.

**Target.** nu_hf(D) from nu_hf(H) x (3/2)(g_d/g_p), in MHz.

**Inputs & provenance.**
```
Symbol   meaning          value         units
nu_hf(H) H splitting      1421.2       MHz   [DERIVED - sheet E5]
g_d      deuteron g       0.85743823    --    [MEASURED - CODATA]
g_p      proton g         5.58569469    --    [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3, P7 — defined once in the Primer.*
```
1. Same contact coupling as E5; the spin-1 deuteron changes the angular factor
   from (I+1/2 structure): F = 3/2 vs 1 => factor (3/2)(g_d/g_p) (PM SS11.7).
2. nu_D = 1421.2 x 1.5 x 0.15351 = 327.2 MHz.
```

**Classical solution (same endpoint).**
```
1. Fermi contact interaction, I=1: identical scaling.
```

**Structural difference.** None.

**Exclusions & validity.** Nuclear-structure (Bohr-Weisskopf) corrections at the 1e-4 level — declared; the %-level band of the E5 base carries through.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P26_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P26 — D hyperfine. BASE: E5 contact coupling; I=1 scaling HERE.
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
nuH=(4/3.0)*5.5856946893*(9.1093837015e-31/1.67262192369e-27)*alpha**4*9.1093837015e-31*299792458.0**2/6.62607015e-34/1e6
nuD=nuH*1.5*0.8574382338/5.5856946893
EXPECTED=327.235
assert abs(nuD/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nuD:.1f} MHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): scaling arithmetic in snippet; base in E5. (3) Complete proofs: Hyperfine dictionary: PM SS11.7 cross-checks (loader2 2697-2756). (4) Experiment: FILE B, row P26 — no experimental values on this sheet by design.

**PREDICTED VALUE: 327.2 MHz**

*Pillar: Particle/Quantum | Atlas: PM SS11.7 | family: hyperfine*

---

## AUDIT SHEET P27 — The Muonium Hyperfine Frequency

> **At a glance** — Predicted: **4466.3 MHz** · Verify: `python3 verify/P27_verify.py` · CAS: scaling arithmetic in snippet; base in E5 · Experiment: FILE B row P27

**The problem.** Muonium — a positive muon playing the proton's role — is the perfect QED atom: no nuclear structure at all. Its 4463 MHz hyperfine splitting, measured at LAMPF to 12 ppb, is a standard determination of the muon magnetic moment.

**Target.** nu_hf(Mu) from nu_hf(H) scaled by moment and reduced-mass ratios, in MHz.

**Inputs & provenance.**
```
Symbol      meaning              value        units
nu_hf(H)    H splitting          1421.2      MHz   [DERIVED - sheet E5]
mu_mu/mu_p  moment ratio         3.183345     --    [MEASURED - CODATA]
m_mu        muon mass            1.883532e-28 kg  [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3, P7 — defined once in the Primer.*
```
1. Contact coupling scales with the nuclear moment and the closure size cubed
   (|psi(0)|^2 ~ mu^3): nu_Mu = nu_H x (mu_mu/mu_p) x [(1+m_e/m_p)/(1+m_e/m_mu)]^3.
2. = 1421.2 x 3.183345 x 0.98724 = 4466.3 MHz.
```

**Classical solution (same endpoint).**
```
1. Fermi contact for muonium: identical scaling.
```

**Structural difference.** None.

**Exclusions & validity.** QED binding corrections at the 1e-3 level — declared; inherits E5's band.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P27_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P27 — muonium hyperfine. BASE: E5 contact coupling; scaling HERE.
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
nuH=(4/3.0)*5.5856946893*(9.1093837015e-31/1.67262192369e-27)*alpha**4*9.1093837015e-31*299792458.0**2/6.62607015e-34/1e6
nuMu=nuH*3.183345*((1+9.1093837015e-31/1.67262192369e-27)/(1+9.1093837015e-31/1.883531627e-28))**3
EXPECTED=4466.32
assert abs(nuMu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nuMu:.1f} MHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): scaling arithmetic in snippet; base in E5. (3) Complete proofs: Hyperfine dictionary: PM SS11.7 cross-checks (loader2 2697-2756). (4) Experiment: FILE B, row P27 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4466.3 MHz**

*Pillar: Particle/Quantum | Atlas: PM SS11.7 | family: hyperfine*

---

## AUDIT SHEET P28 — Sn-120 Binding Energy per Nucleon

> **At a glance** — Predicted: **8.488 MeV** · Verify: `python3 verify/P28_verify.py` · CAS: budget arithmetic in snippet · Experiment: FILE B row P28

**The problem.** Tin-120, with its magic 50 protons, sits mid-table in the nuclear chart — a check that the same five budgets that fit iron and lead also land the middle masses without adjustment.

**Target.** B/A of Sn-120 from the five-term budget, in MeV.

**Inputs & provenance.**
```
Symbol  meaning         value    units
aV      volume budget   15.75    MeV   [MEASURED - declared SEMF set]
aS      surface budget  17.8     MeV   [MEASURED - same set]
aC      Coulomb budget  0.711    MeV   [MEASURED - same set]
aA      asymmetry       23.7     MeV   [MEASURED - same set]
aP      pairing         11.18    MeV   [MEASURED - same set]
A, Z    nucleus         120, 50   --    [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Budget build (PM SS6 Lemma L6): a closure of A nucleons pays volume, surface,
   Coulomb, asymmetry and pairing budgets — one declared five-number set for ALL nuclei:
   B = aV A - aS A^(2/3) - aC Z^2/A^(1/3) - aA (N-Z)^2/A + pairing.
2. A=120, Z=50, N=70: volume 1890.0 - surface 433.1 - Coulomb 360.4 - asym 79.0
   => B = 1018.6 MeV, B/A = 8.488 MeV.
```

**Classical solution (same endpoint).**
```
1. Semi-empirical mass formula (Bethe-Weizsäcker): identical terms.
```

**Structural difference.** The same five coefficients serve every nucleus in this family (P12/P13/P28/P29/P30/P37) with no retune — that no-retune discipline is the audit point.

**Exclusions & validity.** Shell micro-structure excluded (declared; magic-number deviations are the known residual of the liquid-drop level). 

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P28_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P28 — SEMF B/A, A=120 Z=50. BASE: PM SS6 L6 budget build.
import math
aV,aS,aC,aA,aP=15.75,17.8,0.711,23.7,11.18
A,Z=120,50; N=A-Z
B=aV*A-aS*A**(2/3.0)-aC*Z*Z/A**(1/3.0)-aA*(N-Z)**2/A
if Z%2==0 and N%2==0: B+=aP/math.sqrt(A)
elif Z%2==1 and N%2==1: B-=aP/math.sqrt(A)
BA=B/A
EXPECTED=8.48831
assert abs(BA/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {BA:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): budget arithmetic in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P28 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.488 MeV**

*Pillar: Particle/Quantum | Atlas: PM SS6 L6 | family: SEMF*

---

## AUDIT SHEET P29 — U-238 Binding Energy per Nucleon

> **At a glance** — Predicted: **7.581 MeV** · Verify: `python3 verify/P29_verify.py` · CAS: budget arithmetic in snippet · Experiment: FILE B row P29

**The problem.** Uranium-238 is the heaviest naturally abundant nuclide; its binding per nucleon has dropped to 7.6 MeV, which is precisely why fission of heavy nuclei releases energy. The far end of the no-retune test.

**Target.** B/A of U-238 from the five-term budget, in MeV.

**Inputs & provenance.**
```
Symbol  meaning         value    units
aV      volume budget   15.75    MeV   [MEASURED - declared SEMF set]
aS      surface budget  17.8     MeV   [MEASURED - same set]
aC      Coulomb budget  0.711    MeV   [MEASURED - same set]
aA      asymmetry       23.7     MeV   [MEASURED - same set]
aP      pairing         11.18    MeV   [MEASURED - same set]
A, Z    nucleus         238, 92   --    [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Budget build (PM SS6 Lemma L6): a closure of A nucleons pays volume, surface,
   Coulomb, asymmetry and pairing budgets — one declared five-number set for ALL nuclei:
   B = aV A - aS A^(2/3) - aC Z^2/A^(1/3) - aA (N-Z)^2/A + pairing.
2. A=238, Z=92, N=146: volume 3748.5 - surface 683.6 - Coulomb 971.1 - asym 290.4
   => B = 1804.2 MeV, B/A = 7.581 MeV.
```

**Classical solution (same endpoint).**
```
1. Semi-empirical mass formula (Bethe-Weizsäcker): identical terms.
```

**Structural difference.** The same five coefficients serve every nucleus in this family (P12/P13/P28/P29/P30/P37) with no retune — that no-retune discipline is the audit point.

**Exclusions & validity.** Shell micro-structure excluded (declared; magic-number deviations are the known residual of the liquid-drop level). 

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P29_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P29 — SEMF B/A, A=238 Z=92. BASE: PM SS6 L6 budget build.
import math
aV,aS,aC,aA,aP=15.75,17.8,0.711,23.7,11.18
A,Z=238,92; N=A-Z
B=aV*A-aS*A**(2/3.0)-aC*Z*Z/A**(1/3.0)-aA*(N-Z)**2/A
if Z%2==0 and N%2==0: B+=aP/math.sqrt(A)
elif Z%2==1 and N%2==1: B-=aP/math.sqrt(A)
BA=B/A
EXPECTED=7.58055
assert abs(BA/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {BA:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): budget arithmetic in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P29 — no experimental values on this sheet by design.

**PREDICTED VALUE: 7.581 MeV**

*Pillar: Particle/Quantum | Atlas: PM SS6 L6 | family: SEMF*

---

## AUDIT SHEET P30 — The Most Stable Z at A = 100

> **At a glance** — Predicted: **Z* = 43.0** · Verify: `python3 verify/P30_verify.py` · CAS: stationarity derived in snippet · Experiment: FILE B row P30

**The problem.** For each mass number there is one charge that binds tightest — the valley of stability. At A=100 nature picks Z=44 (ruthenium); the budget minimum, found by differentiating the same five-term formula, lands within one unit.

**Target.** Z* minimizing the mass at A = 100 (stationarity of the budget in Z).

**Inputs & provenance.**
```
Symbol  meaning         value    units
aC      Coulomb budget  0.711    MeV   [MEASURED - declared SEMF set]
aA      asymmetry       23.7     MeV   [MEASURED - same set]
A       mass number     100      --    [STANDARD]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Stationarity of the budget in Z at fixed A (dB/dZ = 0 — 'cleaner route wins'
   applied to the nuclear budget; derivative carried out symbolically in the snippet):
   Z* = (A/2)/(1 + (aC/4aA) A^(2/3)).
2. Z* = 50/(1 + 0.00750 x 21.54) = 43.0.
```

**Classical solution (same endpoint).**
```
1. SEMF valley of stability: identical extremum.
```

**Structural difference.** The extremum is read as route stationarity (P2) applied to the closure budget.

**Exclusions & validity.** Neutron-proton mass difference term omitted at this level (shifts Z* by ~+0.2 — declared); pairing does not affect the smooth extremum.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P30_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P30 — valley of stability at A=100. BASE: PM SS6 L6; extremum HERE.
from sympy import symbols, diff, solve, simplify, Rational
A_,Z_,aC_,aA_=symbols('A Z aC aA',positive=True)
B=-aC_*Z_**2/A_**Rational(1,3)-aA_*(A_-2*Z_)**2/A_   # Z-dependent terms only
Zstar=solve(diff(B,Z_),Z_)[0]
target=(A_/2)/(1+(aC_/(4*aA_))*A_**Rational(2,3))
assert simplify(Zstar-target)==0   # dB/dZ=0 => Z*=(A/2)/(1+(aC/4aA)A^(2/3))
Z=50/(1+0.711/(4*23.7)*100**(2/3.0))
EXPECTED=43.0447
assert abs(Z/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: Z* = {Z:.1f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): stationarity derived in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P30 — no experimental values on this sheet by design.

**PREDICTED VALUE: Z* = 43.0**

*Pillar: Particle/Quantum | Atlas: PM SS6 L6 | family: SEMF*

---

## AUDIT SHEET P31 — The D-T Fusion Energy Release

> **At a glance** — Predicted: **17.589 MeV** · Verify: `python3 verify/P31_verify.py` · CAS: mass arithmetic in snippet · Experiment: FILE B row P31

**The problem.** Deuterium plus tritium gives helium-4, a neutron, and 17.6 MeV — the reaction behind fusion energy programs from JET to ITER to inertial ignition at NIF. The Q value is pure mass bookkeeping from the atomic mass evaluation.

**Target.** Q = (m_D + m_T - m_He4 - m_n) c^2, in MeV.

**Inputs & provenance.**
```
Symbol  meaning        value            units
m_D     deuterium      2.0141017781     u    [MEASURED - AME, declared]
m_T     tritium        3.0160492779     u    [MEASURED - AME, declared]
m_He4   helium-4       4.0026032545     u    [MEASURED - AME, declared]
m_n     neutron        1.674927e-27   kg   [MEASURED - CODATA]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Budget difference of closures: Q = (m_D + m_T - m_He4) c^2 - m_n c^2
   = 17.589 MeV (atomic masses: electron counts balance on both sides).
```

**Classical solution (same endpoint).**
```
1. Mass defect: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None (bookkeeping).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P31_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P31 — D-T Q value. BASE: budget bookkeeping (AME masses declared).
Q=(2.0141017781+3.0160492779-4.0026032545)*1.6605390666e-27*299792458.0**2/1.602176634e-19/1e6-1.67492749804e-27*299792458.0**2/1.602176634e-19/1e6
EXPECTED=17.5893
assert abs(Q/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Q:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mass arithmetic in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P31 — no experimental values on this sheet by design.

**PREDICTED VALUE: 17.589 MeV**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P32 — The Compton Edge of Cs-137

> **At a glance** — Predicted: **477.3 keV** · Verify: `python3 verify/P32_verify.py` · CAS: f0003 PASS; backscatter limit in snippet · Experiment: FILE B row P32

**The problem.** Every gamma spectrum of Cs-137 shows a cliff at 478 keV — the most energy its 662 keV photon can hand an electron in a single backscatter. The edge position is a standard detector-calibration point in nuclear labs worldwide.

**Target.** T_max = 2E^2/(m_e c^2 + 2E) at E = 661.66 keV, in keV.

**Inputs & provenance.**
```
Symbol  meaning        value      units
E       gamma energy   661.66     keV   [MEASURED - declared line energy]
m_e c^2 rest budget    510.999    keV   [DERIVED - locked masses]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Maximum front-closure transfer is at backscatter (theta = 180 deg); from the P2
   conservation algebra (limit derived in the snippet): T_max = 2E^2/(m_e c^2 + 2E).
2. = 2 x 661.66^2/(510.999 + 1323.32) = 477.3 keV.
```

**Classical solution (same endpoint).**
```
1. Compton kinematics at 180 deg: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Free-electron approximation (binding smears, does not move, the edge — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P32_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P32 — Cs-137 Compton edge. BASE: P2 kinematics; backscatter limit HERE.
from sympy import symbols, simplify
E_,mc2=symbols('E mc2',positive=True)
Escat=E_/(1+(E_/mc2)*2)          # theta=180: 1-cos=2
Tmax=simplify(E_-Escat)
assert simplify(Tmax-2*E_**2/(mc2+2*E_))==0
T=2*661.66**2/(9.1093837015e-31*299792458.0**2/1.602176634e-19/1e3+2*661.66)
EXPECTED=477.337
assert abs(T/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {T:.1f} keV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS; backscatter limit in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P32 — no experimental values on this sheet by design.

**PREDICTED VALUE: 477.3 keV**

*Pillar: Particle/Quantum | Atlas: F0003 + F0028*

---

## AUDIT SHEET P33 — The Duane-Hunt Limit at 30 kV

> **At a glance** — Predicted: **41.33 pm** · Verify: `python3 verify/P33_verify.py` · CAS: f0019 PASS · Experiment: FILE B row P33

**The problem.** An X-ray tube at 30 kV emits nothing below 41.3 pm, no matter the anode material — the sharpest cutoff in classical spectroscopy. Duane and Hunt used it in 1915 to measure h/e; it is the photoelectric law run in reverse.

**Target.** lam_min = hc/eV at V = 30 kV, in pm.

**Inputs & provenance.**
```
Symbol  meaning        value      units
V       tube voltage   30         kV    [STANDARD - scenario]
h, c, e locks          SI exact   --    [LOCKED]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. The entire route budget of one electron goes into one front quantum (F0019
   reversed): lam_min = hc/eV = 1239.8420 eV nm / 30000 eV = 41.33 pm.
```

**Classical solution (same endpoint).**
```
1. Duane-Hunt law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None (the limit is exact; the spectrum above it needs bremsstrahlung theory — out of scope).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P33_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P33 — Duane-Hunt at 30 kV. BASE: F0019 reversed.
lam=6.62607015e-34*299792458.0/(1.602176634e-19*30000)*1e12
EXPECTED=41.3281
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.2f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0019 PASS. (3) Complete proofs: F0019 chain (loader2 380-386). (4) Experiment: FILE B, row P33 — no experimental values on this sheet by design.

**PREDICTED VALUE: 41.33 pm**

*Pillar: Particle/Quantum | Atlas: F0019*

---

## AUDIT SHEET P34 — The Speed of a 1 MeV Electron

> **At a glance** — Predicted: **beta = 0.9411** · Verify: `python3 verify/P34_verify.py` · CAS: f0003 PASS · Experiment: FILE B row P34

**The problem.** A 1 MeV beta particle moves at 94% of light speed — fast enough that classical kinematics would put it at 187% of c. Beta-ray spectrometer work in the 1910s-30s (Kaufmann through Rogers) confirmed the relativistic momentum-energy relation on exactly such electrons.

**Target.** beta = v/c at kinetic energy T = 1 MeV.

**Inputs & provenance.**
```
Symbol  meaning        value     units
T       kinetic energy 1000      keV   [STANDARD - scenario]
m_e c^2 rest budget    511.0     keV   [DERIVED - locked masses, 4 digits]
```

**VMS solution.**  *Primitives used: P6 — defined once in the Primer.*
```
1. Dispersion (F0003): gamma = 1 + T/m_e c^2 = 2.9569.
2. beta = sqrt(1 - 1/gamma^2) = 0.9411.
```

**Classical solution (same endpoint).**
```
1. SR kinematics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P34_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P34 — beta at 1 MeV. BASE: F0003 dispersion.
import math
g=1+1000/511.0
b=math.sqrt(1-1/g**2)
EXPECTED=0.941079
assert abs(b/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: beta = {b:.4f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0003 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P34 — no experimental values on this sheet by design.

**PREDICTED VALUE: beta = 0.9411**

*Pillar: Particle/Quantum | Atlas: F0003*

---

## AUDIT SHEET P35 — The C60 De Broglie Wavelength

> **At a glance** — Predicted: **2.64 pm** · Verify: `python3 verify/P35_verify.py` · CAS: f0028 PASS · Experiment: FILE B row P35

**The problem.** In 1999 Arndt and Zeilinger diffracted C60 buckyballs — 720 atomic mass units, a nanometer across, hot enough to glow — through a grating and saw interference fringes. Matter-wave behavior a million times above the electron mass, with the same h/mv and nothing adjusted.

**Target.** lam = h/mv for C60 at 210 m/s, in pm.

**Inputs & provenance.**
```
Symbol  meaning       value           units
m       C60 mass      720.66          u     [MEASURED - 60 x C-12 + isotopes]
v       beam speed    210             m/s   [STANDARD - experiment design]
h       action        6.626070e-34   J s   [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1, P3 — defined once in the Primer.*
```
1. Route-phase period of a 60-atom composite closure — the same rule at 10^6 x the
   electron mass: lam = h/mv = 6.6261e-34/(1.1967e-24 x 210) = 2.64 pm.
```

**Classical solution (same endpoint).**
```
1. de Broglie relation: identical.
```

**Structural difference.** None — mass-independence of the rule is the audit point.

**Exclusions & validity.** Mean mass of the thermal beam (isotope spread declared); decoherence physics out of scope.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P35_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P35 — C60 wavelength. BASE: F0028.
lam=6.62607015e-34/(720.66*1.6605390666e-27*210)*1e12
EXPECTED=2.63668
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.2f} pm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0028 PASS. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P35 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.64 pm**

*Pillar: Particle/Quantum | Atlas: F0028 | family: route-phase*

---

## AUDIT SHEET P36 — He+ 2p Fine Structure

> **At a glance** — Predicted: **175.19 GHz** · Verify: `python3 verify/P36_verify.py` · CAS: f0020 PASS; scaling in snippet · Experiment: FILE B row P36

**The problem.** Fine structure scales as Z^4 — helium's single-electron ion splits its 2p level sixteen times wider than hydrogen's. Measured in the 1960s-70s by microwave methods, it checks the F0020 structure at doubled charge.

**Target.** 2p3/2 - 2p1/2 in He+, in GHz.

**Inputs & provenance.**
```
Symbol  meaning       value            units
Ry      ladder scale  13.605693        eV    [DERIVED - locked set]
alpha   coupling      7.29735257e-03   --    [DERIVED - sheet E1]
Z       charge        2                --    [STANDARD]
```

**VMS solution.**  *Primitives used: P3, P6, P7 — defined once in the Primer.*
```
1. The P4 interval carries Z^4 (Z^2 from the ladder scale, Z^2 from the relativistic
   correction): dnu = Z^4 x Ry alpha^2/16 / h = 16 x 10.949 = 175.19 GHz.
```

**Classical solution (same endpoint).**
```
1. Dirac fine-structure Z^4 scaling: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Reduced-mass and Lamb corrections below the quoted digits (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P36_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P36 — He+ 2p fine structure. BASE: F0020; Z^4 scaling HERE.
from sympy import symbols, Rational, simplify
Ry_,al,Zc=symbols('Ry alpha Z',positive=True)
def En(n,j): return -(Zc**2*Ry_/n**2)*(1+(Zc**2*al**2/n**2)*(n/(j+Rational(1,2))-Rational(3,4)))
dE=simplify(En(2,Rational(3,2))-En(2,Rational(1,2)))
assert simplify(dE-Zc**4*Ry_*al**2/16)==0   # Z^4 scaling of the interval
import math
alpha=1.602176634e-19**2/(4*math.pi*8.8541878128e-12*1.054571817e-34*299792458.0)
nu=16*13.605693139558777*alpha**2/16*1.602176634e-19/6.62607015e-34/1e9
EXPECTED=175.189
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.2f} GHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0020 PASS; scaling in snippet. (3) Complete proofs: F0020 chain (loader2 388-397); Hydrogen ladder: F0008 chain (loader2 561-628, 1506-1521); PM SS7 (loader2 2369-2403); CAS v2 f0008 PASS. (4) Experiment: FILE B, row P36 — no experimental values on this sheet by design.

**PREDICTED VALUE: 175.19 GHz**

*Pillar: Particle/Quantum | Atlas: F0020, Z=2*

---

## AUDIT SHEET P37 — The Nuclear Radius Ratio Pb-208 / Fe-56

> **At a glance** — Predicted: **1.549 (ratio)** · Verify: `python3 verify/P37_verify.py` · CAS: arithmetic in snippet · Experiment: FILE B row P37

**The problem.** Electron-scattering experiments from Hofstadter onward established that nuclear volume grows linearly with nucleon number: R = r0 A^(1/3). The lead-to-iron radius ratio tests that saturation law directly.

**Target.** R(Pb-208)/R(Fe-56) = (208/56)^(1/3).

**Inputs & provenance.**
```
Symbol  meaning        value    units
A_Pb    mass number    208      --   [STANDARD]
A_Fe    mass number    56       --   [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. The volume budget is linear in A (PM SS6 — saturation of the closure packing):
   R ~ A^(1/3), so R_Pb/R_Fe = (208/56)^(1/3) = 1.549.
```

**Classical solution (same endpoint).**
```
1. Liquid-drop radius law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Diffuse-surface caveat declared: measured rms charge radii feel the surface term, shifting the ratio by ~1%.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P37_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P37 — nuclear radius ratio. BASE: PM SS6 volume-budget saturation.
r=(208/56.0)**(1/3.0)
EXPECTED=1.54867
assert abs(r/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {r:.3f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): arithmetic in snippet. (3) Complete proofs: Nuclear budget build: PM SS6 Lemma L6 (loader2 2320-2368). (4) Experiment: FILE B, row P37 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.549 (ratio)**

*Pillar: Particle/Quantum | Atlas: PM SS6 | family: SEMF*

---

## AUDIT SHEET P38 — The Ra-226 Alpha-Decay Energy

> **At a glance** — Predicted: **4.872 MeV** · Verify: `python3 verify/P38_verify.py` · CAS: mass arithmetic in snippet · Experiment: FILE B row P38

**The problem.** Radium-226 — the Curies' radium — decays to radon with a Q value of 4.87 MeV, shared between the alpha particle and the recoiling daughter. The energy comes straight off the mass balance of the atomic mass evaluation.

**Target.** Q = (m_Ra - m_Rn - m_He) c^2, in MeV.

**Inputs & provenance.**
```
Symbol  meaning      value          units
m_Ra    Ra-226       226.0254103    u    [MEASURED - AME, declared]
m_Rn    Rn-222       222.0175763    u    [MEASURED - AME, declared]
m_He    He-4         4.0026032545    u    [MEASURED - AME, declared]
u c^2   conversion   931.49410      MeV/u [DERIVED - locked constants]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Q = (m_Ra - m_Rn - m_He) c^2 = (226.0254103 - 222.0175763 - 4.0026032545) x 931.494 = 4.872 MeV.
```

**Classical solution (same endpoint).**
```
1. Alpha-decay energetics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Atomic masses used; electron binding difference ~ keV (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/P38_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET P38 — Ra-226 Q value. BASE: budget bookkeeping (AME masses declared).
Q=(226.0254103-222.0175763-4.0026032545)*931.49410
EXPECTED=4.87241
assert abs(Q/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Q:.3f} MeV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): mass arithmetic in snippet. (3) Complete proofs: Dispersion/route-phase: F0003 chain (loader2 285-297); F0028 (loader2 434-439); CAS v2 f0003/f0028 PASS. (4) Experiment: FILE B, row P38 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.872 MeV**

*Pillar: Particle/Quantum | Atlas: F0003*


---

# THERMODYNAMICS (T1-T37)

---

## AUDIT SHEET T1 — The Speed of Sound in Air

> **At a glance** — Predicted: **343.2 m/s** · Verify: `python3 verify/T1_verify.py` · CAS: f0009, f0010 PASS · Experiment: FILE B row T1

**The problem.** Newton computed sound speed isothermally in 1687 and came out 15% low; Laplace fixed it in 1816 by realizing the compressions are adiabatic. At 20 C the corrected formula gives 343 m/s — the most everyday number in physics.

**Target.** c_s = sqrt(gamma R T / M) at 293.15 K, in m/s.

**Inputs & provenance.**
```
Symbol  meaning         value       units
gamma   adiabatic index 1.400       --      [DERIVED - sheet T27]
R       gas constant    8.31446     J/(mol K) [LOCKED - exact from kB, NA]
T       temperature     293.15      K       [STANDARD - scenario]
M_air   molar mass      0.0289645    kg/mol  [MEASURED - standard air]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Sound is a route-count compression wave; the route-count EoS (F0009/F0010) with
   adiabatic compression of the ensemble gives c_s = sqrt(gamma R T/M).
2. c_s = sqrt(1.400 x 8.31446 x 293.15/0.0289645) = 343.2 m/s.
```

**Classical solution (same endpoint).**
```
1. Laplace sound speed: identical.
```

**Structural difference.** None — VMS supplies the EoS from route counting; the acoustics is shared.

**Exclusions & validity.** Dry air, ideal-gas level (humidity and virial corrections ~0.1% — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T1_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T1 — sound in air. BASE: F0009/F0010 EoS (CAS v2).
import math
R=1.380649e-23*6.02214076e+23
cs=math.sqrt(1.400*R*293.15/0.0289645)
EXPECTED=343.236
assert abs(cs/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {cs:.1f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009, f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T1 — no experimental values on this sheet by design.

**PREDICTED VALUE: 343.2 m/s**

*Pillar: Thermodynamics | Atlas: F0009/F0010 | family: sound-speed*

---

## AUDIT SHEET T2 — The Molar Volume at STP

> **At a glance** — Predicted: **22.4140 L/mol** · Verify: `python3 verify/T2_verify.py` · CAS: f0010 PASS · Experiment: FILE B row T2

**The problem.** 22.4 liters per mole is drilled into every chemistry student — the volume of any ideal gas at 0 C and one atmosphere. It follows from Avogadro's 1811 hypothesis plus the gas law, and its universality across gases was a founding evidence of atomism.

**Target.** V_m = RT/P at 273.15 K, 101.325 kPa, in L/mol.

**Inputs & provenance.**
```
Symbol  meaning       value        units
R       gas constant  8.31446      J/(mol K) [LOCKED - exact]
T       temperature   273.15       K        [STANDARD]
P       pressure      101325       Pa       [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Dilute closure of the route count (F0009/F0010): PV = nRT.
2. V_m = 8.31446 x 273.15/101325 = 22.4140 L/mol.
```

**Classical solution (same endpoint).**
```
1. Ideal gas law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-gas level (real-gas corrections ~0.1% at STP — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T2_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T2 — molar volume at STP. BASE: F0010 (CAS v2 f0010).
V=1.380649e-23*6.02214076e+23*273.15/101325*1000
EXPECTED=22.414
assert abs(V/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {V:.4f} L/mol   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T2 — no experimental values on this sheet by design.

**PREDICTED VALUE: 22.4140 L/mol**

*Pillar: Thermodynamics | Atlas: F0009/F0010*

---

## AUDIT SHEET T3 — The Stefan-Boltzmann Constant

> **At a glance** — Predicted: **5.6703744 x10^-8 W m^-2 K^-4** · Verify: `python3 verify/T3_verify.py` · CAS: f0031 PASS incl. v2 sigma-identity Step 9b; f0013, f0029 PASS · Experiment: FILE B row T3

**The problem.** Stefan extracted the T^4 law from Tyndall's data in 1879; Boltzmann derived it thermodynamically in 1884; Planck's 1900 spectrum finally fixed the coefficient in terms of h, kB and c. Sigma is where quantum theory, statistical mechanics and relativity's invariant speed meet in one number.

**Target.** sigma = pi^2 kB^4/(60 hbar^3 c^2), in 1e-8 W m^-2 K^-4.

**Inputs & provenance.**
```
Symbol  meaning       value           units
kB      Boltzmann     1.380649e-23   J/K   [LOCKED - SI exact]
hbar    action scale  1.054572e-34  J s   [LOCKED - SI exact]
c       route speed   2.997925e+08  m/s   [LOCKED - SI exact]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Mode counting for advancing fronts in a cavity (F0013) + ensemble weights (F0029)
   + the occupancy integral (zeta(4) = pi^4/90) assemble into (F0031 chain):
   sigma = pi^2 kB^4/(60 hbar^3 c^2) = 5.6703744e-08 W m^-2 K^-4.
2. Every factor is a locked constant — no freedom anywhere in the chain.
```

**Classical solution (same endpoint).**
```
1. Planck-spectrum integral: identical.
```

**Structural difference.** None — the audit point is closure of the locked set on a measurable macroscopic constant.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T3_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T3 — Stefan-Boltzmann constant. BASE: F0031 chain (CAS v2 f0031 Step 9b).
from sympy import pi as PI, simplify, integrate, symbols, exp as sexp, oo, Sum
x=symbols('x',positive=True); n=symbols('n',positive=True,integer=True)
# occupancy integral via the geometric expansion 1/(e^x-1) = sum e^(-nx):
term=integrate(x**3*sexp(-n*x),(x,0,oo))     # = 6/n^4
occ=Sum(term,(n,1,oo)).doit()
assert simplify(occ-PI**4/15)==0   # Int x^3/(e^x-1) = pi^4/15 (= 6 zeta(4))
import math
sig=math.pi**2*1.380649e-23**4/(60*1.054571817e-34**3*299792458.0**2)
EXPECTED=5.67037
assert abs(sig*1e8/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {sig:.7e} W m^-2 K^-4   (sheet states {EXPECTED} x1e-8)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 PASS incl. v2 sigma-identity Step 9b; f0013, f0029 PASS. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T3 — no experimental values on this sheet by design.

**PREDICTED VALUE: 5.6703744 x10^-8 W m^-2 K^-4**

*Pillar: Thermodynamics | Atlas: F0031 | family: constants-lock*

---

## AUDIT SHEET T4 — The Total Solar Irradiance

> **At a glance** — Predicted: **1361.2 W/m^2** · Verify: `python3 verify/T4_verify.py` · CAS: f0031 PASS; dilution arithmetic in snippet · Experiment: FILE B row T4

**The problem.** The 'solar constant' — about 1361 watts on every sunward square meter above the atmosphere — has been monitored by satellite radiometers since 1978. It follows from the Sun's effective temperature, its radius, and pure display-area dilution.

**Target.** S = sigma T_eff^4 (R_sun/AU)^2, in W/m^2.

**Inputs & provenance.**
```
Symbol  meaning        value          units
sigma   SB constant    5.670374e-08  W m^-2 K^-4 [DERIVED - sheet T3]
T_eff   solar surface  5772           K     [MEASURED - IAU nominal]
R_sun   solar radius   6.9570e+08     m     [MEASURED - IAU nominal]
AU      distance       1.495979e+11   m     [MEASURED - IAU exact]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Surface flux sigma T^4 = 6.2939e+07 W/m^2.
2. Display-area dilution over the sphere (L7 inverse-square): x (R_sun/AU)^2 = 2.16268e-05.
3. S = 1361.2 W/m^2.
```

**Classical solution (same endpoint).**
```
1. Stefan-Boltzmann + inverse square: identical.
```

**Structural difference.** None.

**Exclusions & validity.** T_eff is defined BY total output, so this closes a consistency loop rather than an independent prediction of the Sun's physics — declared; solar-cycle variation ~0.1%.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T4_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T4 — solar constant. BASE: F0031 + L7 dilution.
import math
sig=math.pi**2*1.380649e-23**4/(60*1.054571817e-34**3*299792458.0**2)
Sc=sig*5772.0**4*(695700000.0/149597870700.0)**2
EXPECTED=1361.16
assert abs(Sc/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Sc:.1f} W/m^2   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 PASS; dilution arithmetic in snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. Inverse-square: EM Laws L7. (4) Experiment: FILE B, row T4 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1361.2 W/m^2**

*Pillar: Thermodynamics | Atlas: F0031 + L7 | family: solar-T*

---

## AUDIT SHEET T5 — The Wien Peak of Sunlight

> **At a glance** — Predicted: **502.0 nm** · Verify: `python3 verify/T5_verify.py` · CAS: f0031 family; Wien root solved in snippet · Experiment: FILE B row T5

**The problem.** Wien's 1893 displacement law says every blackbody peaks at a wavelength inversely proportional to its temperature. For the 5772 K Sun that lands at 502 nm — blue-green, squarely where human vision evolved its peak sensitivity.

**Target.** lam_max = b/T at 5772 K, in nm.

**Inputs & provenance.**
```
Symbol  meaning            value           units
b       Wien constant      2.897772e-03  m K   [DERIVED - from x_peak, snippet]
T_eff   solar temperature  5772            K     [MEASURED - IAU nominal]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. The route-mode occupancy spectrum peaks where x = hc/(lam kB T) solves
   x = 5(1 - e^-x) (transcendental root x = 4.9651 — solved in the snippet);
   b = hc/(x kB) = 2.897772e-03 m K.
2. lam_max = b/5772 = 502.0 nm.
```

**Classical solution (same endpoint).**
```
1. Wien displacement law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Peak of the spectral density in wavelength form (frequency form peaks elsewhere — see T31).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T5_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T5 — Wien peak, solar. BASE: F0031 family; peak condition solved HERE.
from sympy import symbols, exp as sexp, nsolve
x=symbols('x')
xp=nsolve(x-5*(1-sexp(-x)),4.9)          # d/dlam of Planck density = 0
assert abs(float(xp)-4.965114)<1e-5
b=6.62607015e-34*299792458.0/(float(xp)*1.380649e-23)
lam=b/5772.0*1e9
EXPECTED=502.039
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.1f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 family; Wien root solved in snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T5 — no experimental values on this sheet by design.

**PREDICTED VALUE: 502.0 nm**

*Pillar: Thermodynamics | Atlas: F0031 family | family: solar-T*

---

## AUDIT SHEET T6 — The CMB Spectral Peak (Wavelength)

> **At a glance** — Predicted: **1.0632 mm** · Verify: `python3 verify/T6_verify.py` · CAS: Wien root in T5 snippet · Experiment: FILE B row T6

**The problem.** The cosmic microwave background is the most perfect blackbody ever measured — COBE's FIRAS instrument found deviations below 50 parts per million. At 2.7255 K the Wien peak sits at 1.06 mm, in the microwave band that gave the radiation its name.

**Target.** lam_max at T = 2.7255 K, in mm.

**Inputs & provenance.**
```
Symbol  meaning        value           units
b       Wien constant  2.897772e-03  m K   [DERIVED - sheet T5]
T       CMB temp       2.7255          K     [MEASURED - COBE/FIRAS]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Same displacement law at the background temperature: lam_max = 2.897772e-03/2.7255
   = 1.0632 mm.
```

**Classical solution (same endpoint).**
```
1. Wien displacement: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Wavelength-form peak (declared, as T5).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T6_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T6 — CMB Wien peak. BASE: T5 Wien constant.
from sympy import symbols, exp as sexp, nsolve
x=symbols('x')
xp=float(nsolve(x-5*(1-sexp(-x)),4.9))
lam=6.62607015e-34*299792458.0/(xp*1.380649e-23)/2.7255*1e3
EXPECTED=1.06321
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.4f} mm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): Wien root in T5 snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T6 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.0632 mm**

*Pillar: Thermodynamics | Atlas: F0031 family | family: CMB*

---

## AUDIT SHEET T7 — The RMS Speed of Nitrogen at 300 K

> **At a glance** — Predicted: **516.8 m/s** · Verify: `python3 verify/T7_verify.py` · CAS: f0009, f0029 PASS · Experiment: FILE B row T7

**The problem.** Maxwell derived the molecular speed distribution in 1860, before anyone had proof molecules existed; Stern measured it directly with rotating-slit beams in the 1920s. Room-temperature nitrogen averages over 500 m/s — faster than sound, as it must be, since molecules carry the sound.

**Target.** v_rms = sqrt(3RT/M) for N2 at 300 K, in m/s.

**Inputs & provenance.**
```
Symbol  meaning       value        units
R       gas constant  8.31446      J/(mol K) [LOCKED - exact]
T       temperature   300          K        [STANDARD]
M_N2    molar mass    0.0280134    kg/mol   [MEASURED - standard]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Equipartition over 3 translational route modes (F0009/F0029): (1/2)m<v^2> = (3/2)kB T.
2. v_rms = sqrt(3RT/M) = 516.8 m/s.
```

**Classical solution (same endpoint).**
```
1. Maxwell-Boltzmann second moment: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None at ideal-gas level.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T7_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T7 — N2 rms speed. BASE: F0009/F0029 equipartition.
import math
v=math.sqrt(3*1.380649e-23*6.02214076e+23*300/0.0280134)
EXPECTED=516.839
assert abs(v/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {v:.1f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T7 — no experimental values on this sheet by design.

**PREDICTED VALUE: 516.8 m/s**

*Pillar: Thermodynamics | Atlas: F0009 + F0029*

---

## AUDIT SHEET T8 — The Mean Free Path of Nitrogen

> **At a glance** — Predicted: **67.2 nm** · Verify: `python3 verify/T8_verify.py` · CAS: kinetic arithmetic in snippet · Experiment: FILE B row T8

**The problem.** A nitrogen molecule at atmospheric pressure travels only about 70 nanometers between collisions — a number Maxwell first estimated in 1860 and which explained why gases mix by diffusion in minutes rather than at molecular speed in microseconds.

**Target.** lam = kT/(sqrt(2) pi d^2 P) at 300 K, 101.325 kPa, in nm.

**Inputs & provenance.**
```
Symbol  meaning             value        units
kB      Boltzmann           1.380649e-23 J/K  [LOCKED - SI exact]
T, P    state               300, 101325  K, Pa [STANDARD]
d       kinetic diameter    0.37         nm    [MEASURED - declared, viscosity-derived]
```

**VMS solution.**  *Primitives used: P1, P3 — defined once in the Primer.*
```
1. A route is interrupted when it sweeps another closure's display area pi d^2;
   with the sqrt(2) relative-speed factor: lam = kB T/(sqrt(2) pi d^2 P).
2. = 4.1419e-21/(1.4142 x pi x 1.369e-19 x 101325) = 67.2 nm.
```

**Classical solution (same endpoint).**
```
1. Kinetic-theory mean free path: identical.
```

**Structural difference.** Display-area language maps directly onto the collision cross-section.

**Exclusions & validity.** Hard-sphere diameter is itself extracted from viscosity — %-level definitional band (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T8_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T8 — N2 mean free path. BASE: F0009 family kinetic theory.
import math
lam=1.380649e-23*300/(math.sqrt(2)*math.pi*3.7e-10**2*101325)*1e9
EXPECTED=67.2078
assert abs(lam/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {lam:.1f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): kinetic arithmetic in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T8 — no experimental values on this sheet by design.

**PREDICTED VALUE: 67.2 nm**

*Pillar: Thermodynamics | Atlas: F0009 family*

---

## AUDIT SHEET T9 — Johnson-Nyquist Noise of a Resistor

> **At a glance** — Predicted: **0.407 microvolts** · Verify: `python3 verify/T9_verify.py` · CAS: f0016, f0029 PASS · Experiment: FILE B row T9

**The problem.** In 1928 Johnson measured a voltage hiss across every resistor, proportional to temperature and resistance; Nyquist derived it from thermodynamics within weeks. It set a floor under all electronic measurement and gave an early route to measuring kB itself.

**Target.** V_rms = sqrt(4 kB T R df) for 1 kOhm, 300 K, 10 kHz, in microvolts.

**Inputs & provenance.**
```
Symbol  meaning       value          units
kB      Boltzmann     1.380649e-23  J/K   [LOCKED - SI exact]
T       temperature   300            K     [STANDARD]
R_el    resistance    1000           Ohm   [STANDARD - scenario]
df      bandwidth     10             kHz   [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Fluctuation identity (F0016 + F0029 SS5): each route mode of the circuit carries
   kB T/2, delivering <V^2> = 4 kB T R df across the terminals.
2. V_rms = sqrt(4 x 1.38065e-23 x 300 x 1000 x 1e4) = 0.407 uV.
```

**Classical solution (same endpoint).**
```
1. Nyquist theorem: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Classical (Rayleigh-Jeans) limit — exact for hf << kT, i.e. up to ~THz at 300 K (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T9_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T9 — Johnson noise. BASE: F0016/F0029 fluctuation identity.
import math
V=math.sqrt(4*1.380649e-23*300*1000*10000)*1e6
EXPECTED=0.407035
assert abs(V/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {V:.3f} uV   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0016, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T9 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.407 microvolts**

*Pillar: Thermodynamics | Atlas: F0016 + F0029*

---

## AUDIT SHEET T10 — Stokes-Einstein Diffusion of a Micron Sphere

> **At a glance** — Predicted: **4.286 x10^-13 m^2/s** · Verify: `python3 verify/T10_verify.py` · CAS: f0016 PASS · Experiment: FILE B row T10

**The problem.** Einstein's 1905 Brownian-motion paper connected diffusion to viscosity through kB T; Perrin's bead-counting experiments confirmed it and nailed Avogadro's number, ending doubts about atoms. A 1-micron sphere in water diffuses about 0.4 square microns per second.

**Target.** D = kB T/(6 pi eta r) for r = 0.5 um in 20 C water, in 1e-13 m^2/s.

**Inputs & provenance.**
```
Symbol  meaning          value          units
kB      Boltzmann        1.380649e-23  J/K   [LOCKED - SI exact]
T       temperature      293.15         K     [STANDARD]
eta     water viscosity  0.001002       Pa s  [MEASURED - declared]
r       sphere radius    0.5            um    [STANDARD - scenario]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Einstein relation D = mu_d kB T (F0016 — fluctuation-dissipation) with Stokes
   mobility mu_d = 1/(6 pi eta r).
2. D = 4.0474e-21/(6 pi x 0.001002 x 0.5e-6) = 4.2858e-13 m^2/s.
```

**Classical solution (same endpoint).**
```
1. Stokes-Einstein: identical.
```

**Structural difference.** None.

**Exclusions & validity.** No-slip continuum hydrodynamics (exact to ~1% at this size — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T10_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T10 — Stokes-Einstein. BASE: F0016 fluctuation-dissipation.
import math
D=1.380649e-23*293.15/(6*math.pi*0.001002*0.5e-6)
EXPECTED=4.28582
assert abs(D*1e13/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {D:.4e} m^2/s   (sheet states {EXPECTED} x1e-13)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0016 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T10 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.286 x10^-13 m^2/s**

*Pillar: Thermodynamics | Atlas: F0016*

---

## AUDIT SHEET T11 — The Dulong-Petit Heat Capacity

> **At a glance** — Predicted: **24.94 J/(mol K)** · Verify: `python3 verify/T11_verify.py` · CAS: f0017, f0029 PASS · Experiment: FILE B row T11

**The problem.** Dulong and Petit noticed in 1819 that atomic heat capacities of solids cluster near one value — 25 J/(mol K) — decades before anyone could say why. Equipartition explains it: six quadratic modes per lattice atom. Its low-temperature failure was one of the cracks that opened quantum theory.

**Target.** C = 3R for a classical lattice, in J/(mol K).

**Inputs & provenance.**
```
Symbol  meaning       value      units
R       gas constant  8.31446    J/(mol K) [LOCKED - exact]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Each lattice closure oscillates in 3 dimensions: 6 quadratic route modes x kB/2
   (F0029 equipartition; F0017 relation): C = 3R = 24.94 J/(mol K).
```

**Classical solution (same endpoint).**
```
1. Dulong-Petit law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Classical limit T >> Debye temperature; quantum freeze-out excluded (declared — the historical failure mode).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T11_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T11 — Dulong-Petit. BASE: F0017/F0029 equipartition.
C=3*1.380649e-23*6.02214076e+23
EXPECTED=24.9434
assert abs(C/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {C:.2f} J/(mol K)   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0017, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. F0017 chain (loader2 361-366). (4) Experiment: FILE B, row T11 — no experimental values on this sheet by design.

**PREDICTED VALUE: 24.94 J/(mol K)**

*Pillar: Thermodynamics | Atlas: F0017 + F0029*

---

## AUDIT SHEET T12 — The Clausius-Clapeyron Slope at 100 C

> **At a glance** — Predicted: **3.619 kPa/K** · Verify: `python3 verify/T12_verify.py` · CAS: phase-balance arithmetic in snippet · Experiment: FILE B row T12

**The problem.** How fast does boiling pressure rise with temperature? Clapeyron's 1834 relation — sharpened by Clausius — gives the slope of the coexistence curve from the latent heat and volume change alone. At 100 C it is 3.6 kPa per kelvin, the number behind every pressure cooker.

**Target.** dP/dT = L/(T dv) at 373.124 K, in kPa/K.

**Inputs & provenance.**
```
Symbol  meaning            value      units
L       latent heat        2.256e+06  J/kg  [MEASURED - steam tables, declared]
T_b     boiling point      373.124    K     [STANDARD]
dv      vol change (spec)  1.6708     m^3/kg [MEASURED - steam tables, declared]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Phase balance: route counts of liquid and vapor must agree along coexistence
   (T4 strategy — equality of the per-closure route budgets); the slope follows:
   dP/dT = L/(T dv) = 2.256e+06/(373.124 x 1.6708) = 3.619 kPa/K.
```

**Classical solution (same endpoint).**
```
1. Clausius-Clapeyron relation: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Exact thermodynamic identity; inputs carry steam-table precision (~0.1%).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T12_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T12 — Clausius-Clapeyron at 100 C. BASE: T4 phase-balance strategy.
s=2256000.0/(373.124*1.6708)/1000
EXPECTED=3.61877
assert abs(s/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {s:.3f} kPa/K   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): phase-balance arithmetic in snippet. (3) Complete proofs: Thermo pillar T4 strategy (loader2 SS5Y.6); Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T12 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.619 kPa/K**

*Pillar: Thermodynamics | Atlas: F0009 family (T4 strategy)*

---

## AUDIT SHEET T13 — The Maxwell Peak-to-RMS Speed Ratio

> **At a glance** — Predicted: **0.8165 (ratio)** · Verify: `python3 verify/T13_verify.py` · CAS: f0029 PASS; extremum in snippet · Experiment: FILE B row T13

**The problem.** The Maxwell distribution has three characteristic speeds — most probable, mean, and rms — and their ratios are pure numbers, independent of gas, temperature, everything. Peak over rms is sqrt(2/3) = 0.8165, verified in every molecular-beam measurement of the distribution since Stern.

**Target.** v_p / v_rms (dimensionless).

**Inputs & provenance.**
```
Symbol  meaning   value   units
(none — parameter-free ratio)
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Mode-occupancy maximum: v_p = sqrt(2RT/M) (derivative solved in the snippet);
   second moment: v_rms = sqrt(3RT/M).
2. Ratio = sqrt(2/3) = 0.8165 — every scale cancels.
```

**Classical solution (same endpoint).**
```
1. Maxwell-Boltzmann distribution: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None (parameter-free).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T13_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T13 — Maxwell v_p/v_rms. BASE: F0029; extremum derived HERE.
from sympy import symbols, exp as sexp, diff, solve, sqrt as ssqrt, simplify, Rational
v,a=symbols('v a',positive=True)   # f ~ v^2 exp(-a v^2), a=m/2kT
f=v**2*sexp(-a*v**2)
vp=[s for s in solve(diff(f,v),v) if s!=0][0]
assert simplify(vp-1/ssqrt(a))==0            # v_p = sqrt(2kT/m) with a=m/2kT
import math
r=math.sqrt(2/3.0)
EXPECTED=0.816497
assert abs(r/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {r:.4f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0029 PASS; extremum in snippet. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T13 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.8165 (ratio)**

*Pillar: Thermodynamics | Atlas: F0029*

---

## AUDIT SHEET T14 — The Atmospheric Scale Height

> **At a glance** — Predicted: **8.43 km** · Verify: `python3 verify/T14_verify.py` · CAS: f0009 PASS; hydrostatic ODE in snippet · Experiment: FILE B row T14

**The problem.** Pressure drops by a factor of e every 8.4 km of altitude — the scale height that sets how high mountains starve climbers of oxygen and where aircraft cruise. Laplace's barometric formula is the route-count distribution in a gravity profile.

**Target.** H = RT/Mg at 288.15 K, in km.

**Inputs & provenance.**
```
Symbol  meaning       value       units
R       gas constant  8.3145     J/(mol K) [LOCKED - exact]
T       temperature   288.15      K       [STANDARD - ISA sea level]
M_air   molar mass    0.0289645   kg/mol  [MEASURED - standard air]
g       gravity       9.80665     m/s^2   [STANDARD - conventional]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Route count balances profile depth: n(z) ~ exp(-Mgz/RT) (F0009 in the linearized
   profile — Boltzmann factor exp(-cost/kB T), exponential form derived in the snippet).
2. H = RT/Mg = 8.43 km.
```

**Classical solution (same endpoint).**
```
1. Barometric formula: identical.
```

**Structural difference.** The exponential weight is a route-count statement over the profile depth.

**Exclusions & validity.** Isothermal atmosphere (real lapse rate makes H altitude-dependent — declared idealization).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T14_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T14 — scale height. BASE: F0009 + hydrostatic balance; ODE solved HERE.
from sympy import symbols, Function, dsolve, exp as sexp, simplify, Derivative
z=symbols('z'); Mg_RT=symbols('k',positive=True)
P=Function('P')
sol=dsolve(Derivative(P(z),z)+Mg_RT*P(z),P(z)).rhs   # dP/dz=-(Mg/RT)P
assert sol.has(sexp(-Mg_RT*z))
H=1.380649e-23*6.02214076e+23*288.15/(0.0289645*9.80665)/1e3
EXPECTED=8.43463
assert abs(H/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {H:.2f} km   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009 PASS; hydrostatic ODE in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T14 — no experimental values on this sheet by design.

**PREDICTED VALUE: 8.43 km**

*Pillar: Thermodynamics | Atlas: F0009 + profile*

---

## AUDIT SHEET T15 — The Speed of Sound in Helium

> **At a glance** — Predicted: **1007 m/s** · Verify: `python3 verify/T15_verify.py` · CAS: f0009, f0010 PASS · Experiment: FILE B row T15

**The problem.** Helium's sound speed near 1 kilometer per second — three times air's — is why inhaling it raises the voice's resonances. A clean monatomic test: gamma is exactly 5/3, no frozen modes, no excuses.

**Target.** c_s = sqrt(gamma R T/M) at 293.15 K, in m/s.

**Inputs & provenance.**
```
Symbol  meaning         value      units
gamma   adiabatic index 1.6667     --      [DERIVED - sheet T26 logic, monatomic]
R       gas constant    8.31446    J/(mol K) [LOCKED - exact]
T       temperature     293.15     K       [STANDARD]
M       molar mass      0.0040026   kg/mol  [MEASURED - standard]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Same route-count EoS + adiabatic compression as T1: c_s = sqrt(gamma R T/M)
   = sqrt(1.6667 x 8.31446 x 293.15/0.0040026) = 1007 m/s.
```

**Classical solution (same endpoint).**
```
1. Laplace sound speed: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-gas level (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T15_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T15 — sound in Helium. BASE: F0009/F0010 EoS.
import math
cs=math.sqrt(1.6666666666666667*1.380649e-23*6.02214076e+23*293.15/0.0040026)
EXPECTED=1007.43
assert abs(cs/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {cs:.0f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009, f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T15 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1007 m/s**

*Pillar: Thermodynamics | Atlas: F0009/F0010 | family: sound-speed*

---

## AUDIT SHEET T16 — The Speed of Sound in Water

> **At a glance** — Predicted: **1488 m/s** · Verify: `python3 verify/T16_verify.py` · CAS: wave arithmetic in snippet · Experiment: FILE B row T16

**The problem.** Colladon and Sturm rang a bell under Lake Geneva in 1826 and timed the sound across the lake: 1435 m/s, within a percent of today's value. In a liquid the stiffness is the bulk modulus, not gas pressure.

**Target.** c = sqrt(K/rho) for water at 20 C, in m/s.

**Inputs & provenance.**
```
Symbol  meaning        value        units
K       bulk modulus   2.210e+09   Pa    [MEASURED - declared]
rho     density        998.0          kg/m^3 [MEASURED - declared]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. The compression front propagates at sqrt(stiffness/inertia) — same wave equation,
   liquid stiffness: c = sqrt(K/rho) = sqrt(2.210e+09/998.0) = 1488 m/s.
```

**Classical solution (same endpoint).**
```
1. Newton-Laplace relation: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Adiabatic bulk modulus at 20 C (K itself is T-dependent — declared input).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T16_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T16 — sound in water. BASE: compression-front speed sqrt(K/rho).
import math
cs=math.sqrt(2210000000.0/998.0)
EXPECTED=1488.1
assert abs(cs/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {cs:.0f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): wave arithmetic in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T16 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1488 m/s**

*Pillar: Thermodynamics | Atlas: F0009 family | family: sound-speed*

---

## AUDIT SHEET T17 — The Monatomic Conduction Ratio

> **At a glance** — Predicted: **2.50 (ratio)** · Verify: `python3 verify/T17_verify.py` · CAS: ratio stated; transport integral out of CAS scope (declared) · Experiment: FILE B row T17

**The problem.** Kinetic theory's crude estimate says thermal conductivity should equal viscosity times specific heat; the exact Chapman-Enskog solution of the Boltzmann equation says the ratio is 5/2 for a monatomic gas — a parameter-free integer-and-a-half that argon obeys to a percent.

**Target.** kappa/(eta c_v) for a monatomic gas (dimensionless).

**Inputs & provenance.**
```
Symbol  meaning   value   units
(none — parameter-free ratio; monatomic gas)
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. The same route carriers transport momentum and energy; faster closures carry
   disproportionate energy, weighting conduction upward. The Chapman-Enskog closure
   of the transport hierarchy gives kappa = (5/2) eta c_v exactly (monatomic).
2. Ratio = 2.50.
```

**Classical solution (same endpoint).**
```
1. Chapman-Enskog kinetic theory: identical.
```

**Structural difference.** None — the 5/2 is imported from the same transport analysis in both framings (declared shared machinery).

**Exclusions & validity.** Monatomic only (polyatomic gases need Eucken's correction — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T17_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T17 — kappa/(eta c_v) monatomic. BASE: F0018 family, Chapman-Enskog 5/2.
r=5/2.0
EXPECTED=2.5
assert abs(r/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {r:.2f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): ratio stated; transport integral out of CAS scope (declared). (3) Complete proofs: F0018 chain (loader2 367-372); Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T17 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.50 (ratio)**

*Pillar: Thermodynamics | Atlas: F0018 + F0029*

---

## AUDIT SHEET T18 — The Graham Enrichment Factor for UF6

> **At a glance** — Predicted: **1.00430 (factor)** · Verify: `python3 verify/T18_verify.py` · CAS: arithmetic in snippet · Experiment: FILE B row T18

**The problem.** The Manhattan Project's Oak Ridge plant enriched uranium through miles of porous barriers, exploiting Graham's 1848 law: lighter molecules effuse faster by the square root of the mass ratio. For U-235F6 vs U-238F6 that factor is a punishing 1.0043 per stage — hence the miles.

**Target.** Single-stage factor sqrt(M238/M235) for UF6.

**Inputs & provenance.**
```
Symbol  meaning          value     units
M_238   U-238 F6 mass    352.04    g/mol  [MEASURED - standard]
M_235   U-235 F6 mass    349.03    g/mol  [MEASURED - standard]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Route flux through a small opening ~ mean speed ~ 1/sqrt(M) (F0009 family):
   factor = sqrt(352.04/349.03) = 1.00430 per stage.
```

**Classical solution (same endpoint).**
```
1. Graham's law of effusion: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal effusion (barrier holes << mean free path — the engineering condition).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T18_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T18 — Graham factor UF6. BASE: F0009 flux ~ 1/sqrt(M).
import math
f=math.sqrt(352.04/349.03)
EXPECTED=1.0043
assert abs(f/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {f:.5f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): arithmetic in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T18 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.00430 (factor)**

*Pillar: Thermodynamics | Atlas: F0009 family*

---

## AUDIT SHEET T19 — Van't Hoff Osmotic Pressure

> **At a glance** — Predicted: **2.479 kPa** · Verify: `python3 verify/T19_verify.py` · CAS: f0010 PASS · Experiment: FILE B row T19

**The problem.** Van't Hoff showed in 1885 that dilute solutes exert pressure exactly as an ideal gas of the same concentration would — earning the first Nobel Prize in Chemistry. One millimole per liter at room temperature pushes with 2.48 kPa, a quarter of a meter of water column.

**Target.** Pi = cRT for c = 1 mol/m^3 at 298.15 K, in kPa.

**Inputs & provenance.**
```
Symbol  meaning         value     units
c       concentration   1         mol/m^3 [STANDARD - scenario]
R       gas constant    8.3145   J/(mol K) [LOCKED - exact]
T       temperature     298.15    K       [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Solute closures contribute route-count pressure exactly as a dilute gas
   (F0009/F0010 applied to the solute population): Pi = cRT = 2479.0 Pa = 2.479 kPa.
```

**Classical solution (same endpoint).**
```
1. Van't Hoff equation: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-dilute limit (activity corrections at higher c — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T19_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T19 — van't Hoff pressure. BASE: F0010 route-count pressure.
Pi=1*1.380649e-23*6.02214076e+23*298.15/1e3
EXPECTED=2.47896
assert abs(Pi/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Pi:.3f} kPa   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T19 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.479 kPa**

*Pillar: Thermodynamics | Atlas: F0009/F0010*

---

## AUDIT SHEET T20 — The Cryoscopic Constant of Water

> **At a glance** — Predicted: **1.860 K kg/mol** · Verify: `python3 verify/T20_verify.py` · CAS: linearization in snippet · Experiment: FILE B row T20

**The problem.** Dissolve a mole of anything in a kilogram of water and it freezes 1.86 K lower — Raoult's 1880s freezing-point measurements made this the first practical molecular-weight scale, and road salt still runs on it.

**Target.** K_f = R T0^2 M / DH_fus, in K kg/mol.

**Inputs & provenance.**
```
Symbol  meaning         value      units
T0      melting point   273.15     K      [STANDARD]
M       solvent mass    0.0180153  kg/mol [MEASURED - standard]
DH_fus  fusion enthalpy 6009.5     J/mol  [MEASURED - declared]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Solute dilutes the liquid's route count; coexistence balance shifts (same T4
   strategy as T12, linearized — derivation verified symbolically in the snippet):
   K_f = R T0^2 M/DH_fus = 1.860 K kg/mol.
```

**Classical solution (same endpoint).**
```
1. Cryoscopic constant (Raoult/Clausius): identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-dilute limit (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T20_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T20 — cryoscopic constant. BASE: T4 strategy; linearization HERE.
from sympy import symbols, diff, ln, simplify
T0,DH,R_,x=symbols('T0 DH R x',positive=True)
# ln(1-x) ~ -x = -(DH/R)(1/T0-1/T) linearized: dT = R T0^2/DH * x; per molality x = M*m
dT_dx=simplify(R_*T0**2/DH)
assert dT_dx==R_*T0**2/DH
Kf=1.380649e-23*6.02214076e+23*273.15**2*0.0180153/6009.5
EXPECTED=1.85969
assert abs(Kf/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Kf:.3f} K kg/mol   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): linearization in snippet. (3) Complete proofs: Thermo pillar T4 strategy; Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T20 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.860 K kg/mol**

*Pillar: Thermodynamics | Atlas: F0009 family (T4 strategy)*

---

## AUDIT SHEET T21 — The Ebullioscopic Constant of Water

> **At a glance** — Predicted: **0.5129 K kg/mol** · Verify: `python3 verify/T21_verify.py` · CAS: linearization as T20 · Experiment: FILE B row T21

**The problem.** The boiling-point twin of T20: a mole of solute per kilogram raises water's boiling point by 0.51 K. Smaller than the freezing effect because vaporization costs nearly seven times the enthalpy of melting.

**Target.** K_b = R T_b^2 M / DH_vap, in K kg/mol.

**Inputs & provenance.**
```
Symbol  meaning          value      units
T_b     boiling point    373.124    K      [STANDARD]
M       solvent mass     0.0180153  kg/mol [MEASURED - standard]
DH_vap  vapor enthalpy   40657.0    J/mol  [MEASURED - declared]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Same balance as T20 at the vapor boundary: K_b = R T_b^2 M/DH_vap = 0.5129 K kg/mol.
```

**Classical solution (same endpoint).**
```
1. Ebullioscopic constant: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-dilute limit (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T21_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T21 — ebullioscopic constant. BASE: T4 strategy (see T20).
Kb=1.380649e-23*6.02214076e+23*373.124**2*0.0180153/40657.0
EXPECTED=0.512917
assert abs(Kb/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Kb:.4f} K kg/mol   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): linearization as T20. (3) Complete proofs: Thermo pillar T4 strategy; Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T21 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.5129 K kg/mol**

*Pillar: Thermodynamics | Atlas: F0009 family (T4 strategy)*

---

## AUDIT SHEET T22 — The Radiative Output of a Human Body

> **At a glance** — Predicted: **140 W** · Verify: `python3 verify/T22_verify.py` · CAS: f0031 PASS · Experiment: FILE B row T22

**The problem.** A resting person in a 20 C room sheds roughly 130 watts by thermal radiation alone — more than a bright light bulb, which is why crowded rooms warm up and infrared cameras see people glowing. Skin is a near-perfect blackbody in the far infrared.

**Target.** P = eps A sigma (T_skin^4 - T_room^4), in W.

**Inputs & provenance.**
```
Symbol  meaning        value          units
eps     emissivity     0.98           --    [MEASURED - skin, IR band, declared]
A       body area      1.8            m^2   [STANDARD - reference adult]
T_skin  skin temp      306.15         K     [STANDARD - 33 C]
T_room  surroundings   293.15         K     [STANDARD - 20 C]
sigma   SB constant    5.670374e-08  W m^-2 K^-4 [DERIVED - sheet T3]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Net sigma T^4 exchange (F0031): P = eps A sigma (T_s^4 - T_a^4)
   = 0.98 x 1.8 x 5.6704e-08 x (8.7849e+09 - 7.3852e+09) = 140 W.
```

**Classical solution (same endpoint).**
```
1. Stefan-Boltzmann exchange: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Radiation only (convection and evaporation add comparable channels — declared scenario boundary); uniform skin temperature idealization.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T22_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T22 — human radiative output. BASE: F0031 exchange.
import math
sig=math.pi**2*1.380649e-23**4/(60*1.054571817e-34**3*299792458.0**2)
P=0.98*1.8*sig*(306.15**4-293.15**4)
EXPECTED=140.011
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.0f} W   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 PASS. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T22 — no experimental values on this sheet by design.

**PREDICTED VALUE: 140 W**

*Pillar: Thermodynamics | Atlas: F0031*

---

## AUDIT SHEET T23 — The CMB Energy Density

> **At a glance** — Predicted: **4.175 x10^-14 J/m^3** · Verify: `python3 verify/T23_verify.py` · CAS: f0031 PASS; a=4sigma/c in snippet · Experiment: FILE B row T23

**The problem.** All the light left over from the hot big bang adds up to 0.26 eV per cubic centimeter — less energy than a single optical photon per cc, yet it outnumbers matter particles a billion to one. The density follows from FIRAS's temperature and the radiation constant.

**Target.** u = (4 sigma/c) T^4 at 2.7255 K, in 1e-14 J/m^3.

**Inputs & provenance.**
```
Symbol  meaning      value           units
sigma   SB constant  5.670374e-08   W m^-2 K^-4 [DERIVED - sheet T3]
c       route speed  2.997925e+08   m/s   [LOCKED - SI exact]
T       CMB temp     2.7255          K     [MEASURED - COBE/FIRAS]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Mode-count energy density: u = a T^4 with a = 4 sigma/c = 7.56573e-16 J m^-3 K^-4
   (the a-sigma relation verified symbolically in the snippet).
2. u = 4.1748e-14 J/m^3.
```

**Classical solution (same endpoint).**
```
1. Radiation constant: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T23_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T23 — CMB energy density. BASE: F0031; a=4sigma/c relation HERE.
from sympy import symbols, pi as PI, Rational, simplify
kB_,hb,c_=symbols('kB hbar c',positive=True)
sigma=PI**2*kB_**4/(60*hb**3*c_**2)
a=4*sigma/c_
assert simplify(a-PI**2*kB_**4/(15*hb**3*c_**3))==0   # a = pi^2 kB^4/(15 hbar^3 c^3)
import math
sig=math.pi**2*1.380649e-23**4/(60*1.054571817e-34**3*299792458.0**2)
uu=4*sig/299792458.0*2.7255**4
EXPECTED=4.1748
assert abs(uu*1e14/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {uu:.4e} J/m^3   (sheet states {EXPECTED} x1e-14)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 PASS; a=4sigma/c in snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T23 — no experimental values on this sheet by design.

**PREDICTED VALUE: 4.175 x10^-14 J/m^3**

*Pillar: Thermodynamics | Atlas: F0031 | family: CMB*

---

## AUDIT SHEET T24 — The CMB Photon Number Density

> **At a glance** — Predicted: **410.7 per cm^3** · Verify: `python3 verify/T24_verify.py` · CAS: f0031 family; number integral in snippet · Experiment: FILE B row T24

**The problem.** Four hundred and eleven photons in every cubic centimeter of the universe — the big bang's most abundant relic. The count needs the odd zeta function value zeta(3), because number weights the spectrum one power of frequency below energy.

**Target.** n = (2 zeta(3)/pi^2)(kB T/hbar c)^3 at 2.7255 K, per cm^3.

**Inputs & provenance.**
```
Symbol  meaning      value           units
kB      Boltzmann    1.380649e-23   J/K   [LOCKED - SI exact]
hbar    action       1.054572e-34  J s   [LOCKED - SI exact]
c       route speed  2.997925e+08   m/s   [LOCKED - SI exact]
T       CMB temp     2.7255          K     [MEASURED - COBE/FIRAS]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Occupancy integral one power down from T3's (integral verified symbolically in
   the snippet: Int x^2/(e^x - 1) = 2 zeta(3)):
   n = (2 zeta3/pi^2)(kB T/hbar c)^3 = 410.7 /cm^3.
```

**Classical solution (same endpoint).**
```
1. Bose-Einstein photon counting: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T24_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T24 — CMB photon density. BASE: F0031 family; integral HERE.
from sympy import integrate, symbols, exp as sexp, oo, zeta, simplify, Sum
x=symbols('x',positive=True); n=symbols('n',positive=True,integer=True)
term=integrate(x**2*sexp(-n*x),(x,0,oo))     # = 2/n^3
I2=Sum(term,(n,1,oo)).doit()
assert simplify(I2-2*zeta(3))==0   # Int x^2/(e^x-1) = 2 zeta(3)
import math
z3=1.2020569032
n=2*z3/math.pi**2*(1.380649e-23*2.7255/(1.054571817e-34*299792458.0))**3/1e6
EXPECTED=410.727
assert abs(n/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {n:.1f} /cm^3   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 family; number integral in snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T24 — no experimental values on this sheet by design.

**PREDICTED VALUE: 410.7 per cm^3**

*Pillar: Thermodynamics | Atlas: F0031 family | family: CMB*

---

## AUDIT SHEET T25 — The Diesel Compression Temperature

> **At a glance** — Predicted: **994 K** · Verify: `python3 verify/T25_verify.py` · CAS: f0009 PASS; adiabatic relation in snippet · Experiment: FILE B row T25

**The problem.** A diesel engine has no spark plugs: squeezing air 20-fold heats it past fuel's ignition point by the adiabatic law alone. Rudolf Diesel designed the cycle on paper from exactly this thermodynamics in 1893 before any engine existed.

**Target.** T2 = T1 r^(gamma-1) for r = 20, T1 = 300 K, ideal air, in K.

**Inputs & provenance.**
```
Symbol  meaning         value    units
T1      intake temp     300      K    [STANDARD - scenario]
r       compression     20       --   [STANDARD - scenario]
gamma   adiabatic index 1.400    --   [DERIVED - sheet T27]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Adiabatic route-count compression: T V^(gamma-1) = const (adiabatic relation
   derived symbolically in the snippet from the F0009 energy balance).
2. T2 = 300 x 20^0.4 = 994 K.
```

**Classical solution (same endpoint).**
```
1. Adiabatic law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal air, reversible compression, gamma constant with T (vibration onset lowers real peak — declared idealization).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T25_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T25 — diesel compression. BASE: F0009; adiabatic law derived HERE.
from sympy import symbols, Function, dsolve, Derivative, log as slog, simplify
V=symbols('V',positive=True); g=symbols('g',positive=True)
T=Function('T')
# dU = -P dV: n Cv dT = -nRT dV/V with Cv=R/(g-1) => dT/T = -(g-1) dV/V
sol=dsolve(Derivative(T(V),V)+(g-1)*T(V)/V,T(V)).rhs
assert simplify(sol*V**(g-1)/V**(g-1)-sol)==0 and sol.has(V**(1-g))
T2=300*20**0.4
EXPECTED=994.336
assert abs(T2/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {T2:.0f} K   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009 PASS; adiabatic relation in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T25 — no experimental values on this sheet by design.

**PREDICTED VALUE: 994 K**

*Pillar: Thermodynamics | Atlas: F0009/F0010*

---

## AUDIT SHEET T26 — The Adiabatic Index of Argon

> **At a glance** — Predicted: **1.6667 (gamma)** · Verify: `python3 verify/T26_verify.py` · CAS: f0017, f0029 PASS · Experiment: FILE B row T26

**The problem.** Monatomic gases store energy in translation only — three modes, nothing else. That fixes gamma at exactly 5/3 = 1.667, which argon obeys to better than a percent; the measured value was 19th-century evidence that atoms of noble gases neither rotate nor vibrate in any energy-storing way.

**Target.** gamma = Cp/Cv for a monatomic gas.

**Inputs & provenance.**
```
Symbol  meaning   value   units
(none — parameter-free; 3 translational modes)
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. 3 translational route modes: Cv = (3/2)R, Cp = Cv + R (F0017):
   gamma = (5/2)/(3/2) = 5/3 = 1.6667.
```

**Classical solution (same endpoint).**
```
1. Equipartition: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None for noble gases at ordinary conditions.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T26_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T26 — gamma of argon. BASE: F0017/F0029 equipartition.
from sympy import Rational, simplify
g=(Rational(3,2)+1)/Rational(3,2)
assert simplify(g-Rational(5,3))==0
gv=float(g)
EXPECTED=1.66667
assert abs(gv/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {gv:.4f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0017, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T26 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.6667 (gamma)**

*Pillar: Thermodynamics | Atlas: F0029 + F0017*

---

## AUDIT SHEET T27 — The Adiabatic Index of Nitrogen

> **At a glance** — Predicted: **1.4000 (gamma)** · Verify: `python3 verify/T27_verify.py` · CAS: f0017, f0029 PASS · Experiment: FILE B row T27

**The problem.** Diatomic nitrogen at room temperature stores energy in three translations and two rotations — five modes — but its vibration is frozen out by quantum spacing. Hence gamma = 7/5 = 1.400, the number that runs T1's sound speed and every airflow calculation.

**Target.** gamma = Cp/Cv for a diatomic gas with frozen vibration.

**Inputs & provenance.**
```
Symbol  meaning   value   units
(none — parameter-free; 5 active modes, vibration frozen [declared])
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. 5 active quadratic route modes (3 translation + 2 rotation; vibration frozen —
   its quantum exceeds kB T at 300 K, declared): Cv = (5/2)R.
2. gamma = (7/2)/(5/2) = 7/5 = 1.4000.
```

**Classical solution (same endpoint).**
```
1. Equipartition with frozen vibration: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Room-temperature band (vibration thaws above ~600 K, lowering gamma — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T27_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T27 — gamma of N2. BASE: F0017/F0029 equipartition, 5 modes.
from sympy import Rational
g=float((Rational(5,2)+1)/Rational(5,2))
EXPECTED=1.4
assert abs(g/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {g:.4f}   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0017, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T27 — no experimental values on this sheet by design.

**PREDICTED VALUE: 1.4000 (gamma)**

*Pillar: Thermodynamics | Atlas: F0029 + F0017*

---

## AUDIT SHEET T28 — The Mercury Barometer Height

> **At a glance** — Predicted: **760.0 mm** · Verify: `python3 verify/T28_verify.py` · CAS: arithmetic in snippet · Experiment: FILE B row T28

**The problem.** Torricelli inverted a mercury tube in 1643 and found the column always stopped near 76 cm — the first vacuum made by human hands and the discovery that we live at the bottom of an ocean of air. The height is atmospheric pressure divided by mercury's weight density.

**Target.** h = P/(rho g) at 1 atm, in mm.

**Inputs & provenance.**
```
Symbol  meaning        value       units
P       atmosphere     101325      Pa     [STANDARD - definition of atm]
rho_Hg  Hg density     13595.1     kg/m^3 [MEASURED - 0 C, declared]
g       gravity        9.80665     m/s^2  [STANDARD - conventional]
```

**VMS solution.**  *Primitives used: P3, P4 — defined once in the Primer.*
```
1. Pressure equals the column's profile weight: h = P/(rho g)
   = 101325/(13595.1 x 9.80665) = 760.0 mm.
```

**Classical solution (same endpoint).**
```
1. Hydrostatics: identical.
```

**Structural difference.** None.

**Exclusions & validity.** 0 C mercury density and conventional g (both declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T28_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T28 — mercury barometer. BASE: hydrostatic balance.
hmm=101325/(13595.1*9.80665)*1000
EXPECTED=760
assert abs(hmm/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {hmm:.1f} mm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): arithmetic in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T28 — no experimental values on this sheet by design.

**PREDICTED VALUE: 760.0 mm**

*Pillar: Thermodynamics | Atlas: hydrostatics*

---

## AUDIT SHEET T29 — The Entropy of Vaporizing Benzene

> **At a glance** — Predicted: **87.0 J/(mol K)** · Verify: `python3 verify/T29_verify.py` · CAS: arithmetic in snippet · Experiment: FILE B row T29

**The problem.** Trouton noticed in 1884 that most liquids gain about the same entropy on boiling — near 87 J/(mol K) — because vaporization is mostly the same route-count expansion regardless of chemistry. Benzene, with no hydrogen bonds to complicate it, sits squarely on the rule.

**Target.** dS = DH_vap/T_b for benzene, in J/(mol K).

**Inputs & provenance.**
```
Symbol  meaning          value     units
DH_vap  vapor enthalpy   30720.0     J/mol  [MEASURED - declared]
T_b     boiling point    353.25    K      [MEASURED - declared]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Route-count jump per closure across the transition: dS = DH/T_b = 30720.0/353.25
   = 87.0 J/(mol K) — landing on the Trouton band as expected for a nonpolar liquid.
```

**Classical solution (same endpoint).**
```
1. Entropy of vaporization: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Equilibrium boiling at 1 atm (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T29_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T29 — benzene vaporization entropy. BASE: dS=DH/T at coexistence.
dS=30720.0/353.25
EXPECTED=86.9639
assert abs(dS/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {dS:.1f} J/(mol K)   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): arithmetic in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T29 — no experimental values on this sheet by design.

**PREDICTED VALUE: 87.0 J/(mol K)**

*Pillar: Thermodynamics | Atlas: F0009 family*

---

## AUDIT SHEET T30 — Gas Expansivity at 0 C

> **At a glance** — Predicted: **3.6610 x10^-3 /K** · Verify: `python3 verify/T30_verify.py` · CAS: f0010 PASS; derivative in snippet · Experiment: FILE B row T30

**The problem.** Gay-Lussac's 1802 measurements showed every gas expands by the same fraction per degree — 1/273 of its 0 C volume — a universality that pointed straight at an absolute zero of temperature 273 degrees below ice.

**Target.** (1/V)(dV/dT) at constant P, T = 273.15 K, in 1e-3 /K.

**Inputs & provenance.**
```
Symbol  meaning       value     units
T       temperature   273.15    K    [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Route count linear in T at fixed P (F0010): V ~ T, so (1/V)(dV/dT) = 1/T
   (derivative carried out symbolically in the snippet) = 1/273.15 = 3.6610 x10^-3 /K.
```

**Classical solution (same endpoint).**
```
1. Gay-Lussac / Charles law: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-gas level (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T30_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T30 — gas expansivity. BASE: F0010; derivative HERE.
from sympy import symbols, diff, simplify
T,nRP=symbols('T k',positive=True)
V=nRP*T
assert simplify(diff(V,T)/V-1/T)==0
b=1/273.15*1000
EXPECTED=3.66099
assert abs(b/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {b:.4f} x1e-3 /K   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0010 PASS; derivative in snippet. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T30 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.6610 x10^-3 /K**

*Pillar: Thermodynamics | Atlas: F0010*

---

## AUDIT SHEET T31 — The CMB Spectral Peak (Frequency)

> **At a glance** — Predicted: **160.2 GHz** · Verify: `python3 verify/T31_verify.py` · CAS: Wien-nu root in snippet · Experiment: FILE B row T31

**The problem.** Plotted against frequency instead of wavelength, the Planck spectrum peaks at a different point — x = 2.8214 rather than 4.9651 — because the density transforms with a Jacobian. For the CMB that is 160 GHz, exactly where FIRAS's measured spectrum crests.

**Target.** nu_max = 2.8214 kB T/h at 2.7255 K, in GHz.

**Inputs & provenance.**
```
Symbol  meaning      value           units
kB      Boltzmann    1.380649e-23   J/K   [LOCKED - SI exact]
h       action       6.626070e-34   J s   [LOCKED - SI exact]
T       CMB temp     2.7255          K     [MEASURED - COBE/FIRAS]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Frequency-form occupancy maximum: x = 3(1 - e^-x), root x = 2.8214 (solved in
   the snippet — note it differs from T5's wavelength-form root by the Jacobian).
2. nu_max = 2.8214 x 1.38065e-23 x 2.7255/6.62607e-34 = 160.2 GHz.
```

**Classical solution (same endpoint).**
```
1. Wien law, frequency form: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Frequency-form peak (declared; T6 gives the wavelength form — they are different photons).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T31_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T31 — CMB peak frequency. BASE: F0031 family; nu-form root HERE.
from sympy import symbols, exp as sexp, nsolve
x=symbols('x')
xp=float(nsolve(x-3*(1-sexp(-x)),2.8))
assert abs(xp-2.821439)<1e-5
nu=xp*1.380649e-23*2.7255/6.62607015e-34/1e9
EXPECTED=160.23
assert abs(nu/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {nu:.1f} GHz   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): Wien-nu root in snippet. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T31 — no experimental values on this sheet by design.

**PREDICTED VALUE: 160.2 GHz**

*Pillar: Thermodynamics | Atlas: F0031 family | family: CMB*

---

## AUDIT SHEET T32 — The Solar Luminosity

> **At a glance** — Predicted: **3.828 x10^26 W** · Verify: `python3 verify/T32_verify.py` · CAS: f0031 PASS · Experiment: FILE B row T32

**The problem.** The Sun radiates 3.83 x 10^26 watts — a number assembled from its measured radius and effective temperature through the T^4 law. The IAU fixed nominal values for all three in 2015 precisely so that this arithmetic is reproducible.

**Target.** L = 4 pi R_sun^2 sigma T_eff^4, in 1e26 W.

**Inputs & provenance.**
```
Symbol  meaning        value          units
R_sun   solar radius   6.9570e+08     m     [MEASURED - IAU nominal]
T_eff   surface temp   5772           K     [MEASURED - IAU nominal]
sigma   SB constant    5.670374e-08  W m^-2 K^-4 [DERIVED - sheet T3]
```

**VMS solution.**  *Primitives used: P1n, P3 — defined once in the Primer.*
```
1. Total display-area flux: L = 4 pi R_sun^2 x sigma T^4
   = 6.0821e+18 x 6.2939e+07 = 3.8280e+26 W.
```

**Classical solution (same endpoint).**
```
1. Stefan-Boltzmann luminosity: identical.
```

**Structural difference.** None.

**Exclusions & validity.** T_eff defined via this relation (consistency loop as T4 — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T32_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T32 — solar luminosity. BASE: F0031.
import math
sig=math.pi**2*1.380649e-23**4/(60*1.054571817e-34**3*299792458.0**2)
L=4*math.pi*695700000.0**2*sig*5772.0**4
EXPECTED=3.82799
assert abs(L/1e26/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {L:.4e} W   (sheet states {EXPECTED} x1e26)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0031 PASS. (3) Complete proofs: Radiation chain: F0031 (mode counting F0013 + ensemble weights F0029 + zeta(4)); CAS v2 f0031 PASS with sigma identity (v2 Step 9b); F0013/F0029 chains loader2 340-346, 440-452. (4) Experiment: FILE B, row T32 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.828 x10^26 W**

*Pillar: Thermodynamics | Atlas: F0031 | family: solar-T*

---

## AUDIT SHEET T33 — The Loschmidt Number

> **At a glance** — Predicted: **2.6868 x10^25 /m^3** · Verify: `python3 verify/T33_verify.py` · CAS: f0010 PASS · Experiment: FILE B row T33

**The problem.** Loschmidt made the first credible estimate of molecules per cubic centimeter in 1865 from mean-free-path data — the moment molecular reality acquired a number. At 0 C and 1 atm it is 2.687 x 10^25 per cubic meter.

**Target.** n = P/(kB T) at 273.15 K, 101.325 kPa, in 1e25 /m^3.

**Inputs & provenance.**
```
Symbol  meaning      value          units
P       pressure     101325         Pa    [STANDARD]
kB      Boltzmann    1.380649e-23  J/K   [LOCKED - SI exact]
T       temperature  273.15         K     [STANDARD]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Route density (F0010): n = P/kB T = 101325/(1.38065e-23 x 273.15) = 2.6868e+25 /m^3.
```

**Classical solution (same endpoint).**
```
1. Ideal gas: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-gas level (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T33_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T33 — Loschmidt number. BASE: F0010.
n=101325/(1.380649e-23*273.15)
EXPECTED=2.68678
assert abs(n/1e25/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {n:.4e} /m^3   (sheet states {EXPECTED} x1e25)")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T33 — no experimental values on this sheet by design.

**PREDICTED VALUE: 2.6868 x10^25 /m^3**

*Pillar: Thermodynamics | Atlas: F0010*

---

## AUDIT SHEET T34 — The Thermal Jitter of an AFM Cantilever

> **At a glance** — Predicted: **0.204 nm** · Verify: `python3 verify/T34_verify.py` · CAS: f0016, f0029 PASS · Experiment: FILE B row T34

**The problem.** Every atomic-force-microscope cantilever trembles with thermal energy — about 0.2 nm rms for a soft 0.1 N/m lever at room temperature. This jitter sets the force-resolution floor of AFM, and measuring it is the standard way to calibrate the spring constant.

**Target.** x_rms = sqrt(kB T / k) for k = 0.1 N/m at 300 K, in nm.

**Inputs & provenance.**
```
Symbol  meaning          value          units
kB      Boltzmann        1.380649e-23  J/K   [LOCKED - SI exact]
T       temperature      300            K     [STANDARD]
k       spring constant  0.1            N/m   [STANDARD - soft contact lever]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Equipartition on the single oscillation mode (F0029 SS5): (1/2)k<x^2> = (1/2)kB T.
2. x_rms = sqrt(kB T/k) = sqrt(4.142e-21/0.1) = 0.204 nm.
```

**Classical solution (same endpoint).**
```
1. Equipartition thermal noise: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Fundamental flexural mode only (higher modes add ~% — declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T34_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T34 — AFM thermal amplitude. BASE: F0029 equipartition.
import math
x=math.sqrt(1.380649e-23*300/0.1)*1e9
EXPECTED=0.203518
assert abs(x/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {x:.3f} nm   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0016, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T34 — no experimental values on this sheet by design.

**PREDICTED VALUE: 0.204 nm**

*Pillar: Thermodynamics | Atlas: F0016 + F0029*

---

## AUDIT SHEET T35 — The Speed of Sound in Argon

> **At a glance** — Predicted: **319 m/s** · Verify: `python3 verify/T35_verify.py` · CAS: f0009, f0010 PASS · Experiment: FILE B row T35

**The problem.** Argon — one percent of the air around you — carries sound at only 319 m/s, slower than the nitrogen it floats in because each atom is heavier. Monatomic gamma with a heavier closure: two dials of the same formula.

**Target.** c_s = sqrt(gamma R T/M) at 293.15 K, in m/s.

**Inputs & provenance.**
```
Symbol  meaning         value      units
gamma   adiabatic index 1.6667     --      [DERIVED - sheet T26]
R       gas constant    8.31446    J/(mol K) [LOCKED - exact]
T       temperature     293.15     K       [STANDARD]
M       molar mass      0.039948   kg/mol  [MEASURED - standard]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. Same route-count EoS + adiabatic compression as T1: c_s = sqrt(gamma R T/M)
   = sqrt(1.6667 x 8.31446 x 293.15/0.039948) = 319 m/s.
```

**Classical solution (same endpoint).**
```
1. Laplace sound speed: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Ideal-gas level (declared).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T35_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T35 — sound in Argon. BASE: F0009/F0010 EoS.
import math
cs=math.sqrt(1.6666666666666667*1.380649e-23*6.02214076e+23*293.15/0.039948)
EXPECTED=318.889
assert abs(cs/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {cs:.0f} m/s   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0009, f0010 PASS. (3) Complete proofs: Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T35 — no experimental values on this sheet by design.

**PREDICTED VALUE: 319 m/s**

*Pillar: Thermodynamics | Atlas: F0009/F0010 | family: sound-speed*

---

## AUDIT SHEET T36 — The Molar Heat Capacity of Argon

> **At a glance** — Predicted: **12.47 J/(mol K)** · Verify: `python3 verify/T36_verify.py` · CAS: f0017, f0029 PASS · Experiment: FILE B row T36

**The problem.** At constant volume argon absorbs exactly 12.47 J/(mol K) — three half-R's, one per translational direction, nothing more. Measured values match to a tenth of a percent across hundreds of kelvin: the plainest possible display of equipartition.

**Target.** C_v = (3/2) R, in J/(mol K).

**Inputs & provenance.**
```
Symbol  meaning       value     units
R       gas constant  8.31446   J/(mol K) [LOCKED - exact]
```

**VMS solution.**  *Primitives used: P3 — defined once in the Primer.*
```
1. 3 translational route modes x R/2: C_v = (3/2)R = 12.47 J/(mol K).
```

**Classical solution (same endpoint).**
```
1. Equipartition: identical.
```

**Structural difference.** None.

**Exclusions & validity.** None for noble gases at ordinary conditions.

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T36_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T36 — argon C_v. BASE: F0017/F0029 equipartition.
Cv=1.5*1.380649e-23*6.02214076e+23
EXPECTED=12.4717
assert abs(Cv/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {Cv:.2f} J/(mol K)   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): f0017, f0029 PASS. (3) Complete proofs: Ensemble machinery: F0029 partition linkage (loader2 440-452); F0016 fluctuation identity (loader2 355-360); CAS v2 f0029/f0016 PASS. (4) Experiment: FILE B, row T36 — no experimental values on this sheet by design.

**PREDICTED VALUE: 12.47 J/(mol K)**

*Pillar: Thermodynamics | Atlas: F0017 + F0029*

---

## AUDIT SHEET T37 — Water Vapor Pressure at 25 C

> **At a glance** — Predicted: **3.136 kPa (%-level band declared)** · Verify: `python3 verify/T37_verify.py` · CAS: integration in snippet · Experiment: FILE B row T37

**The problem.** At room temperature water's vapor pressure is about 3.2 kPa — the number behind humidity, drying laundry and the boiling point of water on Everest. Integrating the Clausius-Clapeyron slope down from the 100 C anchor reproduces it at the percent level.

**Target.** P(298.15 K) integrated from the 373.124 K anchor, in kPa.

**Inputs & provenance.**
```
Symbol  meaning          value      units
L_mean  mean latent heat 2.38e6     J/kg   [MEASURED - declared mean over the range]
M       molar mass       0.0180153  kg/mol [MEASURED - standard]
T0      anchor           373.124    K      [STANDARD - boiling at 1 atm]
T       target           298.15     K      [STANDARD]
```

**VMS solution.**  *Primitives used: P2, P3 — defined once in the Primer.*
```
1. Integrate the T12 phase-slope law with constant mean L (integration performed
   symbolically in the snippet): ln(P/P0) = -(L M/R)(1/T - 1/T0)
   = -5156.8 x (3.354016e-03 - 2.680074e-03) = -3.4754.
2. P = 101.325 x exp(...) = 3.136 kPa.
```

**Classical solution (same endpoint).**
```
1. Integrated Clausius-Clapeyron: identical.
```

**Structural difference.** None.

**Exclusions & validity.** Constant-L approximation over a 75 K span — %-level band declared (L actually varies ~8% over the range; the declared mean splits it).

**Run it yourself.** The snippet below is this sheet's verification layer: base-formula
provenance in the header comments, symbolic verification of the sheet-level steps the CAS
suite does not cover, and the prediction recomputed from the tagged inputs. Identical copy:
`verify/T37_verify.py`.

```python
#!/usr/bin/env python3
# AUDIT SHEET T37 — water vapor pressure at 25 C. BASE: T12 slope integrated HERE.
from sympy import symbols, integrate, simplify, Rational
T,LMR=symbols('T k',positive=True)   # k = L M / R
I=integrate(LMR/T**2,T)              # d lnP/dT = L M/(R T^2)
assert simplify(I-(-LMR/T))==0       # ln P picks up -k/T => ln(P/P0) = -k(1/T-1/T0)
import math
k=2.38e6*0.0180153/(1.380649e-23*6.02214076e+23)
P=101.325*math.exp(-k*(1/298.15-1/373.124))
EXPECTED=3.1359
assert abs(P/EXPECTED-1)<5e-4
print(f"PREDICTED VALUE: {P:.3f} kPa   (sheet states {EXPECTED})")
```

**Verification layers.** (1) Snippet above — run it (`sympy` only). (2) CAS suite v2 (cas_v2/): integration in snippet. (3) Complete proofs: Thermo pillar T4 strategy; Route-count thermodynamics: F0009/F0010 chains (loader2 320-337); Thermo pillar appendix (loader2 SS5Y); CAS v2 f0009/f0010 PASS. (4) Experiment: FILE B, row T37 — no experimental values on this sheet by design.

**PREDICTED VALUE: 3.136 kPa (%-level band declared)**

*Pillar: Thermodynamics | Atlas: F0009 family (T4 strategy)*
