#!/usr/bin/env python3 """ PROVENANCE: NUMERICAL Computation 173 -- the seagull solved self-consistently, and what b comes out as ============================================================================= THE SITUATION THIS ADDRESSES. sec:ch-normalisation records that M_* and Z^2 are not jointly established: eq:ch-exact feeds lambda_PST = 1/4 into a one-loop seagull that presupposes a canonically normalised field, while eq:field_norm_Z2 asserts Z^2 = lambda_SM(M_*)/b = 0.371, i.e. that the substrate field and the emergent doublet are NOT mutually canonical. A pole-mass shift is invariant under field rescaling; a quartic is not. comp 119 makes the whole of that ratio a field-strength factor, so the escape is closed. WHAT NOBODY HAD ASKED. The over-determination was stated with b FIXED at 1/4. But if the seagull must use the canonical coupling, then b is not an input to that equation at all -- it is an OUTPUT. Two equations, two unknowns: (i) m_h^2 = 6 lambda_SM(M_*) M_*^2 / (16 pi^2) the seagull, canonical (ii) lambda_SM(M_*) = b e^{-1} the bridge premise with lambda_SM(mu) supplied by the two-loop RGE of comp 123. That system is determined. Solving it is the content of this computation. WHAT COMES OUT. A self-consistent solution exists at M_* = 2203 GeV, and it returns b = 0.2313 +/- 0.0020 against P3's postulated 0.25. The gap is 7.5%, which is 9.5 sigma on the parametric budget comp 123 already carries. So the system is not merely over-determined: it is over-determined by a measured amount that input uncertainty cannot absorb. WHAT THAT DOES AND DOES NOT MEAN, AND THIS IS THE POINT OF THE FILE. It is NOT a falsification of the bridge, because the quantity being compared is not yet well defined. The coefficient C_H multiplying M_*^2/(16 pi^2) depends on the SHAPE of the ultraviolet regulator, not only on its scale, and the book supplies a scale (M_* is "a genuine breakdown scale of the continuum description, not a regulator") while never specifying a shape. Part 4 measures that sensitivity: a hard cutoff and a Gaussian both give kappa = 1, but a smooth step of width ~1/8 gives 1.05, of width ~1/4 gives 1.20, and an exponential profile gives 2.00. Closing the 7.5% gap needs kappa = 1.081. That sits squarely inside the range a shape calculation spans. SO THE FINDING IS A DIRECTION, NOT A VERDICT. PST claims its cutoff is physical rather than a calculational device. If that is right then the theory OWES a regulator profile -- the substrate's own mode-sum envelope -- and C_H follows from it rather than from the step function assumed by default. Until that profile is computed, M_* is defined only up to an O(1) shape factor, and the 7.5% discrepancy is the size of exactly the thing that is missing. This is a concrete piece of work, not a hedge: the substrate spectrum is already specified in sec:renorm (Walsh eigenmodes labelled by non-empty S in [D], masses |S|^{1/2} M_*), so the envelope is computable in principle. SCOPE. This file does not decide between M_* = 1.285 TeV and M_* = 2.20 TeV. It shows that the second is where the canonical-coupling seagull lands, that b is then an output rather than a postulate, and that the residual gap is shape-sized. Whether P3's b = 1/4 is recovered is exactly what the missing profile calculation would decide. SETTLED BY comp 174, AND NOT IN THIS FILE'S FAVOUR. The envelope has since been computed, by both of the two cutoffs the theory contains. At M_* the Boolean Laplacian has a hard spectral gap and the cutoff is a step, kappa = 1 exactly; at the matched scaling sqrt(D) M_* the Walsh ladder gives kappa = 1 + 1/D, whose effective shape is the Gaussian. kappa = 1.081 would need D ~ 16. So the second of the three outcomes part 5 lists is the one that landed: the shape defence below is WITHDRAWN, and the 9.5 sigma gap this file measures is real at that significance. Part 4's measurements are unaffected -- kappa really does depend on the profile, and 1.081 really is what closing the gap needs -- what is withdrawn is the inference that the profile was therefore free. """ import math import sys from scipy.integrate import quad sys.path.insert(0, "computations-se") from computation_123_se import BC0, MT_REF, run # noqa: E402 MH = 125.25 # GeV, PDG B_POSTULATED = 0.25 # P3's LG quartic coefficient, doublet convention PI2_16 = 16.0 * math.pi ** 2 def rule(): print("=" * 100) def lam_sm(mu, dmt=0.0): """Two-loop lambda_SM at mu, with the top mass shifted by dmt GeV.""" bc = dict(BC0) bc["yt"] = BC0["yt"] * (1.0 + dmt / MT_REF) return run(MT_REF, mu, bc)[4] def solve_mstar(mh=MH, dmt=0.0): """Self-consistent M_*: lambda_SM(M_*) = 16 pi^2 m_h^2 / (6 M_*^2).""" f = lambda M: lam_sm(M, dmt) - PI2_16 * mh ** 2 / (6.0 * M ** 2) lo, hi = 1200.0, 5000.0 if f(lo) * f(hi) > 0: return None for _ in range(60): mid = 0.5 * (lo + hi) if f(lo) * f(mid) <= 0: hi = mid else: lo = mid M = 0.5 * (lo + hi) return M, lam_sm(M, dmt) # --------------------------------------------------------------------------- def part1(): rule() print(" 1. THE SEAGULL WITH THE CANONICAL COUPLING") rule() print(" eq:ch-exact reads m_h^2 = C_H M_*^2/(16 pi^2) with C_H = 6 lambda.") print(" The seagull closes the loop with the propagator i/p^2, which IS") print(" canonical normalisation, and a pole-mass shift is invariant under") print(" field rescaling while a quartic is not. So the lambda here is the") print(" canonical one, lambda_SM(M_*), not lambda_PST.") print() sol = solve_mstar() ok = sol is not None if ok: M, lam = sol book = 4 * math.pi * MH * math.sqrt(2.0 / 3.0) print(f" self-consistent solution : M_* = {M:8.1f} GeV") print(f" lambda_SM(M_*) : {lam:.5f}") print(f" the book's postulate : M_* = {book:8.1f} GeV" f" (ratio {M / book:.4f})") print(f" 1/Z with Z^2 = 0.371 : {1 / math.sqrt(0.371):.4f}" " <- the ratio is 1/Z identically") ok = 2000.0 < M < 2400.0 print(f" -> a self-consistent M_* exists in the 2 TeV region : {ok}") print() return ok, sol # --------------------------------------------------------------------------- def part2(sol): rule() print(" 2. b IS THEN AN OUTPUT, NOT A POSTULATE") rule() M, lam = sol b = math.e * lam print(" The bridge premise is lambda_SM(M_*) = b e^{-1}, so b = e lambda_SM(M_*).") print(f" b = e x {lam:.5f} = {b:.5f}") print(f" P3's postulated value = {B_POSTULATED:.5f}") print(f" ratio = {b / B_POSTULATED:.4f}" f" ({100 * (b / B_POSTULATED - 1):+.2f}%)") # Test the RATIO, so the check tracks the label. An absolute window would # not move if B_POSTULATED changed, which is the label-says-one-thing, # code-tests-another defect this corpus has been cleaning out all along. ok = 0.80 < b / B_POSTULATED < 1.20 print(f" -> b lands within 20% of the postulate, not an order out : {ok}") print() return ok, b # --------------------------------------------------------------------------- def part3(b): rule() print(" 3. IS THE GAP INSIDE THE THEORY'S OWN ERROR BUDGET?") rule() print(" Varying exactly the inputs comp 123 varies, and RE-SOLVING for M_*") print(" each time (the solution point moves with them, which a fixed-M_*") print(" error budget would miss).") print() print(f" {'variation':14s}{'M_* (GeV)':>12s}{'b':>10s}{'db':>10s}") base = b devs = {} for label, mh, dmt in (("m_t +0.5", MH, +0.5), ("m_t -0.5", MH, -0.5), ("m_h +0.17", MH + 0.17, 0.0), ("m_h -0.17", MH - 0.17, 0.0)): s = solve_mstar(mh, dmt) if s is None: continue bb = math.e * s[1] devs.setdefault(label.split()[0], []).append(abs(bb - base)) print(f" {label:14s}{s[0]:12.1f}{bb:10.5f}{bb - base:+10.5f}") db = math.hypot(max(devs["m_t"]), max(devs["m_h"])) gap = B_POSTULATED - base sigma = gap / db print() print(f" combined parametric uncertainty on b : +/- {db:.5f}") print(f" b = {base:.4f} +/- {db:.4f} against {B_POSTULATED}") print(f" gap = {gap:.4f} = {sigma:.1f} sigma") ok = sigma > 3.0 print(f" -> the gap is NOT absorbable by input uncertainty : {ok}") print() return ok, sigma # --------------------------------------------------------------------------- def part4(): rule() print(" 4. BUT C_H IS REGULATOR-SHAPE DEPENDENT, AND THE BOOK GIVES NO SHAPE") rule() print(" The quadratic piece of the seagull is") print(" I = (1/8 pi^2) Int_0^inf p R(p/Lambda) dp = kappa Lambda^2/(16 pi^2),") print(" and kappa depends on the regulator PROFILE R, not only on Lambda.") print(" eq:ch-exact assumes a step function without saying so.") print() def sig(a): return 0.0 if a > 500 else (1.0 if a < -500 else 1.0 / (1.0 + math.exp(a))) shapes = ( ("hard cutoff theta(1-x)", lambda x: 1.0 if x <= 1.0 else 0.0), ("gaussian e^{-x^2}", lambda x: math.exp(-x * x) if x < 26 else 0.0), ("smooth step w = 1/20", lambda x: sig(20.0 * (x - 1.0))), ("smooth step w = 1/8", lambda x: sig(8.0 * (x - 1.0))), ("smooth step w = 1/4", lambda x: sig(4.0 * (x - 1.0))), ("sech^2 sech^2(x)", lambda x: 1.0 / math.cosh(min(x, 300.0)) ** 2), ("exponential e^{-x}", lambda x: math.exp(-x) if x < 600 else 0.0), ) print(f" {'profile':28s}{'kappa':>9s}") ks = [] for name, R in shapes: val, _ = quad(lambda p: p * R(p), 0.0, 80.0, limit=600) k = 2.0 * val ks.append(k) print(f" {name:28s}{k:9.3f}") needed = B_POSTULATED / (B_POSTULATED * 0.9253) # = 1/0.9253 print() print(f" closing the 7.5% gap needs kappa = {needed:.3f}") print(f" the profiles above span {min(ks):.3f} to {max(ks):.3f}") ok = min(ks) <= needed <= max(ks) print(f" -> the required correction is INSIDE the shape range : {ok}") print() return ok # --------------------------------------------------------------------------- def part5(): rule() print(" 5. WHAT WOULD ACTUALLY SETTLE IT") rule() print(""" PST does not treat M_* as a calculational device. sec:renorm calls it "a genuine breakdown scale of the continuum description, not a regulator", and that claim cuts both ways: a physical cutoff cannot borrow the step function's kappa = 1 by default. It has to supply its own envelope. The ingredients are already specified. sec:renorm gives the substrate spectrum as Walsh eigenmodes labelled by the non-empty subsets S of [D], with masses |S|^{1/2} M_* and a universal coupling c_k = 1, and the Bernoulli measure weights the even and odd sectors equally. The mode sum over that spectrum IS the regulator profile. Computing it would return a kappa, and with it a C_H that is a prediction rather than an assumption. Three outcomes, all informative: kappa = 1.081 +/- small -> b = 1/4 is RECOVERED, and P3's quartic stops being a postulate and becomes a result. kappa clearly elsewhere -> the bridge Z^2 = e^{-1} is falsified at a measured significance, which is worth knowing and is stated honestly. kappa not well defined -> M_* is not a physical scale after all, and sec:renorm's claim about it needs revising. This computation does not choose between M_* = 1.285 TeV and 2.20 TeV. It shows where the canonical-coupling seagull lands, that b is an output once it does, and that the residual is shape-sized rather than order-of-magnitude. SETTLED BY comp 174: the envelope is kappa = 1 by both routes, so the second outcome is the one that landed and the shape defence is withdrawn.""") print() return True def main(): print() rule() print(" COMPUTATION 173. The seagull solved self-consistently, and b as an output") rule() print(""" sec:ch-normalisation records that M_* and Z^2 are not jointly established. That was stated with b held at 1/4. If the seagull must use the canonical coupling then b is an OUTPUT, the system is determined, and it can be solved. """) r1, sol = part1() if sol is None: print(" no self-consistent solution; the rest of the file cannot run.") return False r2, b = part2(sol) r3, sigma = part3(b) r4 = part4() r5 = part5() rule() print(" ASSESSMENT") rule() print(f" 1. a self-consistent M_* exists near 2.2 TeV : {r1}") print(f" 2. b is an output, and lands near the postulated 1/4 : {r2}") print(f" 3. the {sigma:.1f} sigma gap is not absorbable by inputs : {r3}") print(f" 4. the required correction is regulator-shape sized : {r4}") print(f" 5. the profile calculation that would settle it is named : {r5}") print() print(""" RESULT: THE SYSTEM IS DETERMINED, AND IT IS OVER-DETERMINED BY 7.5%. Taking the seagull with the canonical coupling gives M_* = 2203 GeV and, through the bridge premise, b = 0.2313 +/- 0.0020 against P3's 0.25 -- a 9.5 sigma gap on the parametric budget. That is NOT a falsification, because C_H is regulator-shape dependent and the book supplies a cutoff scale without a cutoff shape; closing the gap needs kappa = 1.081, and plausible profiles span 1.00 to 2.00. The open item is therefore sharper than it was: PST owes a regulator envelope, the substrate spectrum to compute it from is already specified, and b = 1/4 is either recovered by that calculation or falsified by it. SINCE COMPUTED, in comp 174: kappa = 1, by a hard spectral gap at M_* and by the Walsh mode sum at sqrt(D) M_* alike. The defence in the paragraph above is withdrawn and the 9.5 sigma stands.""") print() return all([r1, r2, r3, r4, r5]) if __name__ == "__main__": main()