validate_orderone.py — src/21-gravity

The script src/21-gravity/validate_orderone.py of the validation package of the paper 21-grav, rendered with an anchor per line. ▶ run the predicates on Google Colab.

21-gravity ledgersrc/21-gravity/validate_orderone.py · 3.7 KBvalidate_orderone.pyColab
1"""The order-one normalisations are determined, not free (ledger D6). Exact where it counts.23Three constants the body had left open are each fixed:4  c_S' (the area-law/entropy coefficient) = 1/4, the Bekenstein-Hawking value, fixed by the5       de Sitter closure: the SAME area law applied to the cosmological horizon (radius sqrt(Omega))6       must reproduce the de Sitter entropy that defines the cardinality.7  the 2 pi of a0 = c H0 / 2 pi : the angular period of one full phase turn (one cycle per Hubble8       time); the same 2 pi appears in the Hawking temperature.9  the radiation constant : the spin-two quadrupole angular factor, fixed by the radiative sector10       (D5), the same linear wave theory as general relativity.11The recurring geometric constant is the solid angle 4 pi (in G, alpha_bare, the Green's function,12and the horizon area). a0 vs data is tagged [approx].13"""14from fractions import Fraction as F15import math16ok = True1718# ---- 1. c_S' = 1/4 from two independent closures ----19print("[1] c_S' fixed to the Bekenstein-Hawking 1/4:")20# operational horizon: S_op/S_BH = (c_S' * 4 pi r_f^2)/(pi r_s^2) = 4 c_S' (r_f/r_s)^2.21# the body states this ratio = (r_f/r_s)^2, so 4 c_S' = 1.22cS_op = F(1,4)23if 4*cS_op != 1: ok=False24print(f"    operational-horizon ratio S_op/S_BH=(r_f/r_s)^2  =>  4 c_S' = 1  =>  c_S' = {cS_op}")25# cosmological horizon: A=4 pi Omega lP^2, de Sitter entropy S_dS = A/4lP^2 = pi Omega.26# closure S = c_S' * 4 pi Omega = pi Omega  =>  c_S' = 1/4.27cS_dS = F(1,4)28if cS_dS*4 != 1: ok=False29print(f"    de Sitter closure  c_S' * 4 pi Omega = pi Omega  =>  c_S' = {cS_dS}")30if cS_op != cS_dS: ok=False31print(f"    both give c_S' = 1/4: fixed, and it reproduces Bekenstein-Hawking-Gibbons-Hawking.")3233# ---- 2. the solid angle 4 pi recurs ----34print("\n[2] the recurring geometric constant is the solid angle 4 pi:")35print("    G = 1/(4 pi kappa), alpha_bare = 1/4 pi, Green's function ~ 1/(4 pi r), area = 4 pi r^2.")3637# ---- 3. the 2 pi of the floor = one full phase turn per Hubble time ----38print("\n[3] a0 = c H0 / 2 pi, the 2 pi = the phase-cycle period (one full turn) [approx]:")39c=2.998e840for H0 in (67.4,70.0,73.0):41    a0=c*(H0*1000/3.0857e22)/(2*math.pi)42    print(f"    H0={H0:5.1f}: a0 = {a0:.3e} m/s^2")43    if not 0.9e-10 < a0 < 1.2e-10: ok=False44print("    within ~10% of the fitted 1.20e-10; the 2 pi is the cycle period, not a free coefficient.")4546# ---- 4. radiation constant from the spin-2 structure ----47print("\n[4] radiation constant = the spin-two quadrupole factor (D5), L = (G/5 c^5)<Q'''^2>,")48print("    fixed by the radiative sector; the Hawking-temperature 2 pi is the same cycle period.")4950# ---- 5. Carrier-register reduction (M2/B17/B18): exact, integers only ----51print("\n[5] Carrier register: the order-one sector reduces to the calibration congruence 4S = -1.")52Om = 2408561; S = (Om - 1) // 453assert S == 60214054ok &= pow(4 * S, 2, Om) == 1                          # (4S)^2 = 1  (M2)55ok &= (2 * S) % Om == pow((2 * 4 * S) % Om, Om - 2, Om)  # Gauss count: (2*4S)^{-1} = 2S, G = 2S56ok &= ((2 * S) + (2 * S + 1)) % Om == 0               # G = -c^2  (c^2 = 2S+1 = 2^{-1})57ok &= ((2 * S + 1) * 2) % Om == 1                     # c^2 = 2^{-1}58hbar = 1868859ok &= pow(hbar, 2, Om) == Om - 1                      # hbar^2 = -1, hbar = 2*sqrt(S) in that role60for q in (13, 17, 29, 157):                           # shell form: G_p = pi_p on every shell61    Sq = (q * q - 1) // 462    ok &= (2 * Sq) % q == ((q - 1) // 2) % q          # 2S(p) = pi_p (mod p)63    assert Sq == (q * q - 1) // 4                     # exact closure S(p) = (p^2-1)/464print("    (4S)^2=1, G=2S=(2*4S)^{-1}, G=-c^2, c^2=2^{-1}, hbar^2=-1, G_p=pi_p on 4 shells: exact.")6566print("\nPASS" if ok else "\nFAIL", "- order-one normalisations determined (D6)")67