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.
v1019_coxeter_euler_completion.py
verification/v1019_coxeter_euler_completion.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.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""v1019 -- E8.COXETER.EULER.COMPLETION.01 (2026-09-02):
THE COXETER--EULER COMPLETION OF E8 (EXACT + NUMERICAL).
Promotion of round r617. The module RE-DERIVES the identities from
scratch (no probe imports, no subprocess). Exact polynomial/matrix
identities are [E] (Identity, sympy over Z/Q). Euler-product checks
are Numerical (mpmath, cutoff X=10^5 to keep runtime < 60 s).
THE EXACT LAYER (classical cyclotomic Euler products, re-derived):
T1. C = -S^{-1} S^T on the bipartite Euler matrix of Bourbaki E8.
det(I - x C) = Phi_30(x), Tr C = -1.
T2. Möbius identity (classical inversion of cyclotomic Euler
products): Phi_30(x) = (1-x^2)(1-x^3)(1-x^5)(1-x^30)
/ [(1-x)(1-x^6)(1-x^10)(1-x^15)].
T3. Local completion U = 1 ⊕ C, det(I - x U) = (1-x) Phi_30(x)
= 1 - x^2 - x^3 + x^6 + x^7 - x^9, Tr U = 0.
THE GLOBAL IDENTITIES (from T2, classical Möbius; E8 reading is new):
Z_C(s) = Prod_p Phi_30(p^{-s})^{-1}
= zeta(2s) zeta(3s) zeta(5s) zeta(30s)
/ [zeta(s) zeta(6s) zeta(10s) zeta(15s)]
D_{E8}(s) = Prod_p (1-p^{-s}) Phi_30(p^{-s})
= zeta(6s) zeta(10s) zeta(15s)
/ [zeta(2s) zeta(3s) zeta(5s) zeta(30s)]
Absolutely convergent for Re s > 1/2. Numerical residuals at the
probe cutoff X=10^6 were 1.28e-4 at s=0.75 and 3.5e-14 at s=1.5;
this module reports residuals at X=10^5.
det_2 identity: Prod_p det(I - p^{-s} U) e^{p^{-s} Tr U} = D_{E8}(s)
(Tr U = 0). Scalar control: det_2 = e^{P(s)} / zeta(s) with
P(s) = Sum_k mu(k)/k · log zeta(k s).
MANDATORY HONESTY (typed; no marker upgrade on the RH-adjacent sentence):
(i) CLASS STATEMENT. The vanishing linear term is the generic
consequence of Tr C = -1 (controls: scalar -1 → 1/zeta(2s);
A1 → 1/zeta(2s); A2 → 1/zeta(3s); E6 (Phi_3 Phi_12) →
zeta(4s) zeta(6s)/[zeta(2s) zeta(3s) zeta(12s)]; negative
control B2 (Phi_4, trace 0) → zeta(2s)/[zeta(s) zeta(4s)],
still contains 1/zeta(s)). E8 only selects the divisor set of 30.
(ii) BEURLING-GENERICITY. The identity holds for any set of
"primes" Q subset (1,∞) — no prime-specific input.
(iii) FENCE (verbatim): "The trace-free completion is zero-free and
pole-free in Re s > 1/2. The splitting into the scalar zeta
channel and the Coxeter channel is open and RH-equivalent.
No RH claim."
(iv) Typed no-go E8.COXETER.REGULARIZED_SPLIT.NO_GO.01: any
construction controlling only the det_2/Hilbert-Schmidt part
cannot isolate 1/zeta(s); the RH content sits in the analytic
continuation of the trace term P(s) = Sum_k mu(k)/k · log zeta(ks).
The analytic identities themselves are classical (Möbius inversion of
cyclotomic Euler products). The new statement is the E8 reading with
the fence. Like the Eisenstein bridge, the completion is RH-neutral
as a finite identity: it does not locate zeros.
NO RH CLAIM. Python-only / Wolfram deferred (engine DEFERRED_NO_ENGINE).
PROVENANCE: experiments/tfpt-discovery/e8_coxeter_euler_completion_probe.py
(r617, 45/45, VERDICT COMPLETION_EXACT, SPEC_SHA
5aa3935bd4d5698caa889d62dafba4b7efe62a7b3132d07ab62299c22dd03f8c,
FILE_SHA 6ac6bab28a355d3b2b3a98114c32586211cbdec0b2712e8e6c60511e03d12c21).
The probe stays experiments-side.
"""
from __future__ import annotations
import math
import mpmath as mp
import sympy as sp
from tfpt_constants import check as suite_check, summary, reset
mp.mp.dps = 30
R617_SPEC = "5aa3935bd4d5698caa889d62dafba4b7efe62a7b3132d07ab62299c22dd03f8c"
R617_FILE = "6ac6bab28a355d3b2b3a98114c32586211cbdec0b2712e8e6c60511e03d12c21"
EDGES_E8 = ((1, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (2, 4))
PHI30_DESC = [1, 1, 0, -1, -1, -1, 0, 1, 1]
COMP_DESC = (-1, 0, 1, 1, 0, 0, -1, -1, 0, 1)
NO_GO_ID = "E8.COXETER.REGULARIZED_SPLIT.NO_GO.01"
FENCE = (
"The trace-free completion is zero-free and pole-free in Re s > 1/2. "
"The splitting into the scalar zeta channel and the Coxeter channel "
"is open and RH-equivalent. No RH claim."
)
X_CUT = 10 ** 5
CUTOFFS = [10 ** 4, 10 ** 5]
def check(label: str, condition: bool, detail: str = "") -> bool:
ok = bool(condition)
suite_check(label if not detail else "%s -- %s" % (label, detail), ok)
return ok
def cartan_e8() -> sp.Matrix:
a = sp.eye(8) * 2
for i, j in EDGES_E8:
a[i - 1, j - 1] = -1
a[j - 1, i - 1] = -1
return a
def euler_S(arrows: list[tuple[int, int]]) -> sp.Matrix:
s = sp.eye(8)
for i, j in arrows:
s[i - 1, j - 1] = -1
return s
def bipartite_arrows() -> list[tuple[int, int]]:
a_set = {1, 4, 6, 8}
arrows = []
for i, j in EDGES_E8:
if i in a_set:
arrows.append((i, j))
else:
arrows.append((j, i))
return arrows
def coxeter_from_arrows(arrows: list[tuple[int, int]]) -> sp.Matrix:
s = euler_S(arrows)
return -s.inv() * s.T
def charpoly_coeffs(m: sp.Matrix) -> list[int]:
x = sp.symbols("x")
p = m.charpoly(x)
return [int(c) for c in p.all_coeffs()]
def primes_upto(n: int) -> list[int]:
n = int(n)
if n < 2:
return []
sieve = bytearray(b"\x01") * (n + 1)
sieve[0] = 0
sieve[1] = 0
p = 2
while p * p <= n:
if sieve[p]:
for m in range(p * p, n + 1, p):
sieve[m] = 0
p += 1
return [i for i, v in enumerate(sieve) if v]
def mobius_cyclotomic(n: int, x) -> sp.Expr:
expr = sp.Integer(1)
for d in sp.divisors(n):
mu = int(sp.mobius(n // d))
if mu:
expr *= (1 - x ** d) ** mu
return expr
def zeta_exponents_from_cyclotomics(
ns: list[int], extra_one_minus_x: bool = False
) -> dict[int, int]:
e_one_minus: dict[int, int] = {}
for n in ns:
for d in sp.divisors(n):
e_one_minus[int(d)] = e_one_minus.get(int(d), 0) + int(sp.mobius(n // d))
if extra_one_minus_x:
e_one_minus[1] = e_one_minus.get(1, 0) + 1
out = {}
for k, e in e_one_minus.items():
if e:
out[k] = -e
return out
def negate_exps(exps: dict[int, int]) -> dict[int, int]:
return {k: -v for k, v in exps.items() if v}
def format_zeta_ratio(exps: dict[int, int]) -> str:
num = []
den = []
for k in sorted(exps):
e = exps[k]
token = "ζ(s)" if k == 1 else "ζ(%ds)" % k
if e > 0:
num.extend([token] * e)
elif e < 0:
den.extend([token] * (-e))
n = "".join(num) if num else "1"
if not den:
return n
d = "".join(den)
if len(den) == 1:
return "%s/%s" % (n, d)
return "%s / [%s]" % (n, "".join(den))
def horner(coeffs_desc, x):
acc = x * 0
for c in coeffs_desc:
acc = acc * x + c
return acc
def log_closed_from_exps(exps: dict[int, int], s):
acc = s * 0
for k, e in exps.items():
if e == 0:
continue
acc += e * mp.log(mp.zeta(k * s))
return acc
def prime_zeta(s, kmax: int = 80):
acc = s * 0
for k in range(1, kmax + 1):
mu = int(sp.mobius(k))
if mu == 0:
continue
acc += (mp.mpf(mu) / k) * mp.log(mp.zeta(k * s))
return acc
def running_log(primes: list[int], s, log_local, cutoffs: list[int]) -> dict[int, object]:
snaps: dict[int, object] = {}
acc = s * 0
ci = 0
cuts = list(cutoffs)
last = primes[-1] if primes else 0
for p in primes:
while ci < len(cuts) and p > cuts[ci]:
snaps[cuts[ci]] = acc
ci += 1
if p > cuts[-1]:
break
acc = acc + log_local(p, s)
while ci < len(cuts):
if cuts[ci] >= last or True:
snaps[cuts[ci]] = acc
ci += 1
return snaps
def abs_mp(z):
return abs(mp.mpmathify(z))
def fmt_mp(z, n: int = 8) -> str:
return mp.nstr(z, n, strip_zeros=False)
def rel_res(log_partial, log_true):
return abs_mp(mp.expm1(log_partial - log_true))
def tail_pred_D(X: int, sigma) -> float:
X = max(int(X), 3)
sig = float(sigma)
return (X ** (1.0 - 2.0 * sig)) / math.log(X)
def tail_pred_ZC(X: int, sigma) -> float:
X = max(int(X), 3)
sig = float(sigma)
return (X ** (1.0 - sig)) / math.log(X)
def coxeter_from_edges(n: int, edges: list[tuple[int, int]]) -> sp.Matrix:
adj: dict[int, list[int]] = {i: [] for i in range(1, n + 1)}
for i, j in edges:
adj[i].append(j)
adj[j].append(i)
colour = {1: 0}
queue = [1]
for u in queue:
for v in adj[u]:
if v not in colour:
colour[v] = 1 - colour[u]
queue.append(v)
arrows = []
for i, j in edges:
if colour[i] == 0:
arrows.append((i, j))
else:
arrows.append((j, i))
s = sp.eye(n)
for i, j in arrows:
s[i - 1, j - 1] = -1
return -s.inv() * s.T
def block_U(C: sp.Matrix) -> sp.Matrix:
n = C.rows
U = sp.zeros(n + 1)
U[0, 0] = 1
for i in range(n):
for j in range(n):
U[i + 1, j + 1] = C[i, j]
return U
def k2_identity(Q: list, x_sym) -> tuple[bool, str]:
t = sp.symbols("t")
phi = sp.cyclotomic_poly(30, x_sym)
qrats = [sp.nsimplify(q, rational=True) for q in Q]
lhs_t = sp.Integer(1)
rhs_t = sp.Integer(1)
for qrat in qrats:
xq = t / qrat
lhs_t *= (1 - xq) * phi.subs(x_sym, xq)
rhs_t *= (1 - xq) * mobius_cyclotomic(30, xq)
t_ok = sp.cancel(lhs_t / rhs_t) == 1
slices_ok = True
for power in (1, 2):
lhs = sp.Integer(1)
rhs = sp.Integer(1)
for qrat in qrats:
xq = 1 / qrat ** power
lhs *= (1 - xq) * phi.subs(x_sym, xq)
rhs *= (1 - xq) * mobius_cyclotomic(30, xq)
if sp.cancel(lhs / rhs) != 1:
slices_ok = False
ok = bool(t_ok and slices_ok)
detail = "Q=%s cancel(t/q)=%s slices s=1,2=%s" % (
[str(q) for q in qrats], t_ok, slices_ok,
)
return ok, detail
def run_t1_t3():
print("\nT1 self-reciprocal Phi_30 and Tr C = -1")
x = sp.symbols("x")
A = cartan_e8()
arrows = bipartite_arrows()
S = euler_S(arrows)
C = coxeter_from_arrows(arrows)
phi30 = sp.cyclotomic_poly(30, x)
check("T1.S_plus_ST_eq_Cartan",
sp.expand(S + S.T - A) == sp.zeros(8),
"S+S^T = A_E8 (bipartite Euler)")
cp = C.charpoly(x)
check("T1.charpoly_Phi30",
sp.expand(cp.as_expr() - phi30) == 0
and charpoly_coeffs(C) == PHI30_DESC,
"det(xI-C) = Phi_30 coeffs=%s" % charpoly_coeffs(C))
dIxC = sp.expand((sp.eye(8) - x * C).det())
check("T1.det_I_minus_xC_eq_Phi30",
sp.expand(dIxC - phi30) == 0,
"self-reciprocal: det(I-xC)=Phi_30(x)")
check("T1.Phi30_self_reciprocal",
sp.expand(sp.together(x ** 8 * phi30.subs(x, 1 / x)) - phi30) == 0,
"x^8 Phi_30(1/x) = Phi_30(x)")
tr = int(C.trace())
check("T1.TrC_eq_m1", tr == -1, "Tr C = %d" % tr)
lin = int(sp.Poly(phi30, x).coeff_monomial(x))
check("T1.Phi30_linear_coeff_plus1", lin == 1,
"linear coeff of Phi_30 is %+d (so Tr C = -1)" % lin)
print("\nT2 Möbius / cyclotomic identity (classical)")
mob = mobius_cyclotomic(30, x)
check("T2.mobius_identity",
sp.cancel(mob / phi30) == 1,
"Phi_30 = Prod_{d|30} (1-x^d)^{mu(30/d)}")
explicit = (
(1 - x ** 2) * (1 - x ** 3) * (1 - x ** 5) * (1 - x ** 30)
/ ((1 - x) * (1 - x ** 6) * (1 - x ** 10) * (1 - x ** 15))
)
check("T2.explicit_rational",
sp.cancel(explicit / phi30) == 1,
"(1-x^2)(1-x^3)(1-x^5)(1-x^30)/[(1-x)(1-x^6)(1-x^10)(1-x^15)]")
print("\nT3 local completion U = 1 ⊕ C")
U = block_U(C)
dU = sp.expand((sp.eye(9) - x * U).det())
target = 1 - x ** 2 - x ** 3 + x ** 6 + x ** 7 - x ** 9
check("T3.det_I_minus_xU",
sp.expand(dU - (1 - x) * phi30) == 0,
"det(I-xU)=(1-x)Phi_30(x)")
check("T3.expanded_poly",
sp.expand(dU - target) == 0,
"1 - x^2 - x^3 + x^6 + x^7 - x^9")
trU = int(U.trace())
check("T3.TrU_eq_0", trU == 0, "Tr U = 1 + Tr C = %d" % trU)
linU = int(sp.Poly(sp.expand((1 - x) * phi30), x).coeff_monomial(x))
check("T3.linear_term_vanishes", linU == 0,
"linear coeff of (1-x)Phi_30 is %d" % linU)
return C, U, phi30, x
def run_t4(primes: list[int], cutoffs: list[int]) -> None:
print("\nT4 Euler products (numeric, mpmath dps=%d, X=%s)" % (mp.mp.dps, X_CUT))
exps_phi = zeta_exponents_from_cyclotomics([30], extra_one_minus_x=False)
exps_ZC = negate_exps(exps_phi)
exps_D = zeta_exponents_from_cyclotomics([30], extra_one_minus_x=True)
print(" Z_C(s) = %s" % format_zeta_ratio(exps_ZC), flush=True)
print(" D_E8(s) = %s" % format_zeta_ratio(exps_D), flush=True)
combined = dict(exps_ZC)
for k, e in exps_D.items():
combined[k] = combined.get(k, 0) + e
combined = {k: v for k, v in combined.items() if v}
check("T4.tautology_exact",
combined == {1: -1},
"D_E8 · Z_C = 1/ζ(s) (tautology of meromorphic functions) got %s"
% format_zeta_ratio(combined))
def log_phi30_inv(p, s):
xloc = mp.power(mp.mpf(p), -s)
return -mp.log(horner(PHI30_DESC, xloc))
def log_comp(p, s):
xloc = mp.power(mp.mpf(p), -s)
return mp.log(horner(COMP_DESC, xloc))
s_real = [
("0.75", mp.mpf("0.75"), False),
("1.0", mp.mpf("1.0"), False),
("1.5", mp.mpf("1.5"), True),
("2.0", mp.mpf("2.0"), True),
]
s_cplx = ("0.8+3i", mp.mpc(mp.mpf("0.8"), mp.mpf("3.0")))
zc_decay_ok = True
for label, s, do_zc in s_real:
if not do_zc:
continue
log_true = log_closed_from_exps(exps_ZC, s)
snaps = running_log(primes, s, log_phi30_inv, cutoffs)
prev = None
details = []
in_margin = True
sigma = float(s)
for X in cutoffs:
r = rel_res(snaps[X], log_true)
pred = tail_pred_ZC(X, sigma)
details.append("X=%s r=%s pred~%s" % (X, fmt_mp(r, 4), "%.2e" % pred))
margin = max(mp.mpf("50") * mp.mpf(str(pred)), mp.mpf("1e-12"))
if r > margin:
in_margin = False
zc_decay_ok = False
if prev is not None and r > prev * mp.mpf("1.05") and r > mp.mpf("1e-18"):
zc_decay_ok = False
prev = r
check("T4.ZC_s%s" % label, in_margin, "; ".join(details))
check("T4.ZC_residual_decays", zc_decay_ok,
"Z_C residual shrinks with cutoff at Re s>1")
d_decay_ok = True
jobs = [(lab, s) for lab, s, _ in s_real] + [s_cplx]
for label, s in jobs:
log_true = log_closed_from_exps(exps_D, s)
snaps = running_log(primes, s, log_comp, cutoffs)
sigma = float(mp.re(s))
details = []
prev = None
ratios = []
in_margin = True
for X in cutoffs:
r = rel_res(snaps[X], log_true)
pred = tail_pred_D(X, sigma)
ratio = float(r) / pred if pred > 0 else 0.0
ratios.append(ratio)
details.append(
"X=%s r=%s pred~%s r/pred=%.3g"
% (X, fmt_mp(r, 4), "%.2e" % pred, ratio)
)
margin = max(mp.mpf("80") * mp.mpf(str(pred)), mp.mpf("1e-12"))
if r > margin:
in_margin = False
d_decay_ok = False
if prev is not None and r > prev * mp.mpf("1.2") and r > mp.mpf("1e-18"):
d_decay_ok = False
prev = r
shape_ok = True
if len(cutoffs) >= 2 and tail_pred_D(cutoffs[0], sigma) > 1e-12:
pos = [abs(t) for t in ratios if t > 0]
if pos:
shape_ok = max(pos) / max(min(pos), 1e-30) < 50 and max(pos) < 80
check("T4.DE8_s%s" % label, in_margin and shape_ok, "; ".join(details))
check("T4.DE8_decay_rate", d_decay_ok,
"D_E8 residual decays; leading tail ~ X^{1-2σ}/log X")
taut_num_ok = True
taut_details = []
for label, s, do in s_real:
if not do:
continue
val = mp.exp(
log_closed_from_exps(exps_D, s)
+ log_closed_from_exps(exps_ZC, s)
+ mp.log(mp.zeta(s))
)
r = abs_mp(val - 1)
taut_details.append("s=%s |D Z ζ - 1|=%s" % (label, fmt_mp(r, 4)))
if r > mp.mpf("1e-20"):
taut_num_ok = False
check("T4.tautology_numeric", taut_num_ok,
"tautology 1/ζ = D_E8 · Z_C (closed forms) " + "; ".join(taut_details))
def run_t5(C: sp.Matrix, U: sp.Matrix, primes: list[int], X: int) -> None:
print("\nT5 regularized det_2 (X=%s)" % X)
x = sp.symbols("x")
phi30 = sp.cyclotomic_poly(30, x)
trU = U.trace()
det_poly = sp.expand((sp.eye(U.rows) - x * U).det())
check("T5.det2_equals_det_exp_tr",
trU == 0 and sp.expand(det_poly - (1 - x) * phi30) == 0,
"det_2(I-xU)=det(I-xU) e^{x Tr U}=(1-x)Phi_30 (Tr U=0)")
Um = mp.matrix(U.rows)
for i in range(U.rows):
for j in range(U.rows):
Um[i, j] = mp.mpf(int(U[i, j]))
eigs = mp.eig(Um, left=False, right=False)
eig_ok = True
eig_worst = mp.mpf(0)
s_eig = mp.mpf("1.5")
for p in (2, 3, 5, 7, 11):
xs = mp.power(mp.mpf(p), -s_eig)
acc = mp.mpf(1)
for lam in eigs:
mu = xs * lam
acc *= (1 - mu) * mp.exp(mu)
closed = horner(COMP_DESC, xs)
r = abs_mp(acc / closed - 1)
if r > eig_worst:
eig_worst = r
if r > mp.mpf("1e-12"):
eig_ok = False
check("T5.det2_eigs_small_blocks", eig_ok,
"p=2,3,5,7,11 at s=1.5 worst |det2/comp-1|=%s" % fmt_mp(eig_worst, 4))
pX = [p for p in primes if p <= X]
scalar_ok = True
for label, s in (("1.5", mp.mpf("1.5")), ("2.0", mp.mpf("2.0"))):
acc_log = mp.mpf(0)
for p in pX:
xs = mp.power(mp.mpf(p), -s)
acc_log += mp.log(1 - xs) + xs
P = prime_zeta(s)
log_true = P - mp.log(mp.zeta(s))
r = rel_res(acc_log, log_true)
ok = r <= mp.mpf("1e-8")
if not ok:
scalar_ok = False
check("T5.scalar_s%s" % label, ok,
"X=%s |Prod (1-p^{-s}) e^{p^{-s}} / (e^{P(s)}/ζ(s)) - 1| = %s (tol 1e-8)"
% (X, fmt_mp(r, 6)))
print(
" NO-GO %s: det_2 removes exactly Sum_p p^{-s}·Tr(·); "
"scalar channel that term is P(s)=Σ_k μ(k)/k log ζ(ks), "
"singularities at ρ/k. Hilbert-Schmidt/det_2 control cannot "
"isolate 1/ζ(s)."
% NO_GO_ID,
flush=True,
)
check("T5.nogo_REGULARIZED_SPLIT", True,
"%s recorded (fence: det_2 cannot isolate 1/ζ)" % NO_GO_ID)
check("T5.scalar_control_ok", scalar_ok, "scalar det_2 at s=1.5,2.0")
def run_k1(primes: list[int], cutoffs: list[int], X: int) -> None:
print("\nK1 class check (E8 selects the divisor set, not the regularity)")
x = sp.symbols("x")
def one_system(name, C, cyclos):
phi = sp.Integer(1)
for n in cyclos:
phi *= sp.cyclotomic_poly(n, x)
phi = sp.expand(phi)
cp = sp.expand(C.charpoly(x).as_expr())
tr = C.trace()
tr_ok = tr == -sp.Integer(1) if name != "B2" else tr == 0
char_ok = sp.expand(cp - phi) == 0
exps = zeta_exponents_from_cyclotomics(cyclos, extra_one_minus_x=True)
lin = int(sp.Poly(sp.expand((1 - x) * phi), x).coeff_monomial(x))
return {
"name": name, "C": C, "phi": phi, "cyclos": cyclos,
"char_ok": char_ok, "tr": int(tr), "tr_ok": bool(tr_ok),
"lin": lin, "exps": exps, "ratio": format_zeta_ratio(exps),
}
C_a = sp.Matrix([[-1]])
a = one_system("scalar/A1", C_a, [2])
check("K1a.scalar_C_m1",
a["char_ok"] and a["tr"] == -1 and a["lin"] == 0 and a["ratio"] == "1/ζ(2s)",
"C=-1 charpoly Phi_2 Tr=%d lin=%d completion %s"
% (a["tr"], a["lin"], a["ratio"]))
C_a2 = coxeter_from_edges(2, [(1, 2)])
b = one_system("A2", C_a2, [3])
check("K1b.A2_Phi3",
b["char_ok"] and b["tr"] == -1 and b["lin"] == 0 and b["ratio"] == "1/ζ(3s)",
"charpoly Phi_3 Tr=%d lin=%d completion %s" % (b["tr"], b["lin"], b["ratio"]))
check("K1b.A1_Phi2", a["char_ok"] and a["ratio"] == "1/ζ(2s)",
"A1 Coxeter = scalar -1, completion 1/ζ(2s)")
C_e6 = coxeter_from_edges(6, [(1, 2), (2, 3), (3, 4), (4, 5), (3, 6)])
c = one_system("E6", C_e6, [3, 12])
check("K1c.E6_charpoly", c["char_ok"],
"Phi_3 Phi_12 = %s" % sp.Poly(c["phi"], x).as_expr())
check("K1c.E6_trace", c["tr"] == -1, "Tr C_E6 = %d" % c["tr"])
check("K1c.E6_linear_vanishes", c["lin"] == 0, "lin(1-x)Phi_E6 = %d" % c["lin"])
expected_e6 = {4: 1, 6: 1, 2: -1, 3: -1, 12: -1}
check("K1c.E6_zeta_ratio_symbolic", c["exps"] == expected_e6,
"completion %s" % c["ratio"])
s15 = mp.mpf("1.5")
def log_local_from_phi(phi_expr):
ppoly = sp.Poly(sp.expand((1 - x) * phi_expr), x)
def _ll(p, s, _pp=ppoly):
xs = mp.power(mp.mpf(p), -s)
acc = xs * 0
coeffs = [int(_pp.coeff_monomial(x ** k)) for k in range(_pp.degree(), -1, -1)]
for cv in coeffs:
acc = acc * xs + cv
return mp.log(acc)
return _ll
snaps_e6 = running_log(primes, s15, log_local_from_phi(c["phi"]), [X])
r_e6 = rel_res(snaps_e6[X], log_closed_from_exps(c["exps"], s15))
pred_e6 = tail_pred_D(X, 1.5)
check("K1c.E6_numeric_s1.5",
r_e6 <= max(mp.mpf("80") * mp.mpf(str(pred_e6)), mp.mpf("1e-10")),
"X=%s residual=%s pred~%.2e ratio %s"
% (X, fmt_mp(r_e6, 5), pred_e6, c["ratio"]))
C_b2 = sp.Matrix([[0, -1], [1, 0]])
d = one_system("B2", C_b2, [4])
check("K1d.B2_charpoly_Phi4", d["char_ok"], "Phi_4 = 1+x^2")
check("K1d.B2_trace_0", d["tr"] == 0, "Tr = %d" % d["tr"])
check("K1d.linear_term_nonzero", d["lin"] == -1,
"(1-x)(1+x^2) linear coeff = %d != 0" % d["lin"])
contains_zeta = d["exps"].get(1, 0) != 0
check("K1d.contains_1_over_zeta", contains_zeta,
"completion %s (zeta(s) exponent %s)"
% (d["ratio"], d["exps"].get(1, 0)))
s075 = mp.mpf("0.75")
def log_b2(p, s):
xs = mp.power(mp.mpf(p), -s)
return mp.log((1 - xs) * (1 + xs ** 2))
snaps_b2 = running_log(primes, s075, log_b2, cutoffs)
closed_b2 = log_closed_from_exps(d["exps"], s075)
residuals = []
logs = []
for Xc in cutoffs:
r = rel_res(snaps_b2[Xc], closed_b2)
residuals.append(r)
logs.append(abs_mp(snaps_b2[Xc]))
drift = residuals[-1] > mp.mpf("0.2") and (
len(logs) < 2 or logs[-1] > logs[0] * mp.mpf("1.05")
)
check("K1d.not_abs_conv_s0.75", drift,
"B2 partial residuals %s |log P| %s (DRIFT, not abs-conv at s=0.75)"
% ([fmt_mp(r, 3) for r in residuals], [fmt_mp(l, 4) for l in logs]))
print(
" CONCLUSION: the E8 datum selects the divisor set "
"{1,2,3,5,6,10,15,30} (which ζ(ks) appear); the regularity "
"in Re s > 1/2 is the generic consequence of Tr = -1.",
flush=True,
)
check("K1.a_b_c_pass_class",
a["lin"] == 0 and b["lin"] == 0 and c["lin"] == 0 and d["lin"] != 0,
"Tr=-1 systems complete; B2 (Tr=0) does not")
def run_k2() -> None:
print("\nK2 Beurling / scramble blindness")
x = sp.symbols("x")
ok1, d1 = k2_identity([2, 3, 5, 7], x)
check("K2.Q_primes_2_3_5_7", ok1, d1)
ok2, d2 = k2_identity(
[sp.Rational(23, 10), sp.Rational(37, 10),
sp.Rational(41, 10), sp.Rational(89, 10)],
x,
)
check("K2.Q_scrambled_2.3_3.7_4.1_8.9", ok2, d2)
print(
" PRINT: the completion identity is Beurling-generic "
"(no additive/prime-specific input); its RH content is exactly "
"the analytic continuation of the scalar channel.",
flush=True,
)
def run():
reset()
print("=" * 74)
print("v1019 -- E8.COXETER.EULER.COMPLETION.01")
print("SPEC_SHA %s" % R617_SPEC)
print("FILE_SHA (probe) %s" % R617_FILE)
print("FENCE: %s" % FENCE)
print("NO-GO %s" % NO_GO_ID)
print("cutoff X=%s (suite; probe full used 10^6)" % X_CUT)
print("=" * 74, flush=True)
C, U, _phi30, _x = run_t1_t3()
print(" sieving primes <= %s ..." % X_CUT, flush=True)
primes = primes_upto(X_CUT)
print(" pi(%s) = %d" % (X_CUT, len(primes)), flush=True)
run_t4(primes, CUTOFFS)
run_t5(C, U, primes, X_CUT)
run_k1(primes, CUTOFFS, X_CUT)
run_k2()
check("FENCE recorded verbatim", True, FENCE)
print(" r617 SPEC_SHA %s" % R617_SPEC)
return summary("v1019 Coxeter-Euler completion")
if __name__ == "__main__":
raise SystemExit(1 if run() else 0)
Recorded source fingerprint
13bc603350b3bd38b45760158742406031f557c00c411b72ac0937eccb8777e0
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.