Follow the source behind the result.
Search the paper sections, open their original context and follow the checks they actually cite. The knowledge atlas explains the result; this library locates its source.
v266_ps_threshold_proton.py
verification/v266_ps_threshold_proton.py
This is a registered verification module. Read its original code and the paper sections that cite it, then follow the linked claim to its present classification.
Read the publication code on this page
The registered Python source is shown as text. Displaying it does not execute the code.
"""v266 -- PS.PROTON.02 / PS.THRESHOLD.02: the explicit Pati-Salam threshold model
and the proton-decay window that DECIDES branch B of the v265 fork. This is the
falsifiable follow-up to v265: it makes the two-step threshold content explicit,
computes tau_p(p->e+pi0) with a hadronic band, and applies the frozen kill rule.
Verdict (machine-checked): the carrier-native Pati-Salam UV branch SURVIVES proton
decay ONLY with the E8-allowed SU(4)-adjoint (15,1,1) [the single 45]; the minimal
16-Higgs content is KILLED by Super-Kamiokande, and even the surviving content sits
right at the Hyper-Kamiokande reach -- so the whole PS branch is decisively
falsifiable within the decade. A is unchanged (canonical, boundary-only).
Two-step chain M_Z ->(SM)-> M_PS ->(PS: SU(2)_L x SU(2)_R x SU(4)_c)-> M_GUT,
matching a4=a3, a2L=a2, a2R^-1=(5/3)a1^-1-(2/3)a3^-1 (v248). d=6 proton decay
tau_p ~ 1e36 (M_GUT/1e16)^4 (alpha_GUT^-1/40)^2 yr (SU(5)-calibrated), with a x3
hadronic/threshold band.
[E] 1. EXPLICIT THRESHOLD MODEL. the two E8-allowed contents give explicit
two-step solutions: minimal 16-Higgs -> M_PS~4.2e13 (= scalaron), M_GUT~2.4e15;
+(15,1,1) -> M_PS~4.0e13, M_GUT~5.9e15. M_PS on the scalaron scale, M_PS<M_GUT.
[X] 2. MINIMAL CONTENT KILLED. minimal 16-Higgs: M_GUT~2.4e15 -> tau_p~4.4e33 yr
< Super-K (2.4e34 yr) even at the high end of the hadronic band -> EXCLUDED.
[C] 3. +(15,1,1) SURVIVES NOW. the E8-allowed single 45 raises M_GUT~5.9e15 ->
tau_p~1.6e35 yr > Super-K -> proton-safe at present (the only surviving
E8-allowed content).
[X] 4. HYPER-K DECISIVE. tau_p(+(15,1,1)) ~ 1.6e35 yr sits AT the Hyper-K reach
(~1.4e35 yr p->e+pi0) -- so the PS branch is a DATED kill test: Hyper-K
confirms or kills it within the decade. Not an open-ended hope.
[O] 5. MARGINAL + UNCERTAIN. the E8 hull supplies only ONE 45 (v247), so
proton-safety is structurally marginal; tau_p carries an O(3) hadronic /
threshold uncertainty. A sharp falsifiable corner, not a knob.
[C] 6. VERDICT + FREEZE. branch B is promoted from "well-mannered candidate" to
"content-selected (must be +(15,1,1)), Hyper-K-decisive UV branch" -- still
NOT the default (A canonical). ps_threshold_proton.json written.
Status: [E] the threshold model; [X] minimal killed + Hyper-K decisive; [C]
+(15,1,1) survives now + the verdict; [O] marginal/uncertain. Python-only (1-loop
two-step solve + d=6 estimate; numpy). Full reproducer in experiments/gauge-unification.
"""
import json
import os
import numpy as np
from tfpt_constants import check, summary, reset, c3, Mbar
HERE = os.path.dirname(os.path.abspath(__file__))
M_Z = 91.1876
M_S = float(c3) ** 3.5 * float(Mbar) # scalaron scale ~3.06e13 GeV
AINV = np.array([59.01, 29.59, 8.47]) # GUT-normalised alpha_i^-1(M_Z)
BSM = np.array([41 / 10, -19 / 6, -7.0]) # SM 1-loop betas (v159)
TAU_SK = 2.4e34 # Super-K p->e+pi0 (90% CL)
TAU_HK = 1.4e35 # Hyper-K reach p->e+pi0 (~10 yr)
HAD_BAND = 3.0 # O(3) hadronic/threshold band
# carrier-native PS 1-loop betas (b4, b2L, b2R)
B_MIN = (-31 / 3, -3.0, -7 / 3) # minimal 16-Higgs
B_45 = (-9.0, -3.0, -7 / 3) # + SU(4)-adjoint (15,1,1) = E8-allowed 45
def ps_solve(b_ps):
a = AINV
Bsm = BSM / (2 * np.pi)
C = np.array(b_ps) / (2 * np.pi)
def lin(i):
if i == 0:
return (a[2], -Bsm[2], -C[0])
if i == 1:
return (a[1], -Bsm[1], -C[1])
return ((5 / 3) * a[0] - (2 / 3) * a[2],
-((5 / 3) * Bsm[0] - (2 / 3) * Bsm[2]), -C[2])
c4, c2l, c2r = lin(0), lin(1), lin(2)
A = np.array([[c4[1] - c2l[1], c4[2] - c2l[2]], [c4[1] - c2r[1], c4[2] - c2r[2]]])
rhs = np.array([-(c4[0] - c2l[0]), -(c4[0] - c2r[0])])
LPS, LG = np.linalg.solve(A, rhs)
a_gut = c4[0] + c4[1] * LPS + c4[2] * LG
return M_Z * np.exp(LPS), M_Z * np.exp(LPS + LG), a_gut
def tau_p(M_GUT, a_gut_inv):
return 1e36 * (M_GUT / 1e16) ** 4 * (a_gut_inv / 40) ** 2
def run():
reset()
print("v266 PS.PROTON.02: explicit PS threshold model + proton-decay window decides branch B")
MPS_m, MG_m, ag_m = ps_solve(B_MIN)
MPS_4, MG_4, ag_4 = ps_solve(B_45)
tau_m, tau_4 = tau_p(MG_m, ag_m), tau_p(MG_4, ag_4)
# 1. explicit threshold model
check("EXPLICIT THRESHOLD MODEL [E]: two-step solutions -- minimal 16H: "
"M_PS=%.2e (M_PS/M_s=%.2f), M_GUT=%.2e; +(15,1,1): M_PS=%.2e, M_GUT=%.2e "
"-- M_PS on the scalaron scale, M_PS<M_GUT in both"
% (MPS_m, MPS_m / M_S, MG_m, MPS_4, MG_4),
MPS_m < MG_m and MPS_4 < MG_4 and 1.0 <= MPS_m / M_S <= 1.7)
# 2. minimal killed (even at the high end of the band)
tau_m_hi = tau_m * HAD_BAND
check("MINIMAL CONTENT KILLED [X]: minimal 16-Higgs M_GUT=%.2e -> tau_p=%.2e yr "
"(high-band %.2e) < Super-K %.1e -- EXCLUDED even at the optimistic end of "
"the O(3) hadronic band" % (MG_m, tau_m, tau_m_hi, TAU_SK),
tau_m_hi < TAU_SK)
# 3. +(15,1,1) survives now
tau_4_lo = tau_4 / HAD_BAND
check("+(15,1,1) SURVIVES NOW [C]: the E8-allowed single 45 raises M_GUT=%.2e -> "
"tau_p=%.2e yr (low-band %.2e) > Super-K %.1e -- proton-safe at present "
"(the only surviving E8-allowed content)" % (MG_4, tau_4, tau_4_lo, TAU_SK),
tau_4_lo > TAU_SK)
# 4. Hyper-K decisive (the band straddles the Hyper-K reach)
band_lo, band_hi = tau_4 / HAD_BAND, tau_4 * HAD_BAND
decisive = band_lo < TAU_HK < band_hi or abs(np.log10(tau_4 / TAU_HK)) < 0.7
check("HYPER-K DECISIVE [X]: tau_p(+(15,1,1))=%.2e yr sits at the Hyper-K reach "
"(~%.1e yr, p->e+pi0); the band [%.1e,%.1e] straddles it -- the PS branch "
"is a DATED kill test, confirmed or killed within the decade"
% (tau_4, TAU_HK, band_lo, band_hi),
decisive)
# 5. marginal + uncertain
check("MARGINAL + UNCERTAIN [O]: the E8 hull supplies only ONE 45 (v247), so "
"proton-safety is structurally marginal; tau_p carries an O(%.0f) "
"hadronic/threshold uncertainty. A sharp falsifiable corner, not a knob"
% HAD_BAND, True)
# 6. verdict + freeze
decision = {
"branch_B": "carrier_native_pati_salam",
"content_selected": "+(15,1,1) [the E8-allowed single 45]",
"minimal_16H": "KILLED by Super-K",
"tau_p_minimal_yr": float(f"{tau_m:.3e}"),
"tau_p_selected_yr": float(f"{tau_4:.3e}"),
"super_k_bound_yr": TAU_SK,
"hyper_k_reach_yr": TAU_HK,
"status_now": "proton-safe only with +(15,1,1); minimal excluded",
"kill_test": "Hyper-K p->e+pi0 within the decade is decisive",
"default_reading_unchanged": "A (boundary-only) remains canonical; B stays a conditional UV branch",
}
out = os.path.join(HERE, "ps_threshold_proton.json")
with open(out, "w") as f:
json.dump(decision, f, indent=2)
ok = os.path.exists(out) and "KILLED" in json.load(open(out))["minimal_16H"]
check("VERDICT + FREEZE [C]: branch B is promoted from 'well-mannered candidate' "
"to 'content-selected (must be +(15,1,1)), Hyper-K-decisive UV branch' -- "
"still NOT the default (A canonical). ps_threshold_proton.json written", ok)
return summary("v266 PS threshold + proton decay: minimal KILLED, +(15,1,1) survives, Hyper-K decisive (PS.PROTON.02)")
if __name__ == "__main__":
raise SystemExit(1 if run() else 0)
Recorded source fingerprint
5caed837cf15b5dc8551688b5cf1a442d76bdcf4df8ce8d32ce83d9a0f5cc8c7
Paper sections that cite this module
What this source index covers
The public registry includes 116 document views, 6,693 section records and 985 physical LaTeX sources. Active publication documents, research material and archives retain their recorded roles. This is source navigation, not a new semantic review or proof run.