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.
v395_hypergraph_coupled.py
verification/v395_hypergraph_coupled.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.
The frozen research source above matches this snapshot’s original hash. It is published as a source document, without asserting a new execution or status change.
Inspect the older executable publicationCompare the source fingerprints
Frozen research source: 0025f7252fa63f267881b4fb16ddd3ba6afa9ff42ebc0874f69d494048aa41a1
Executable publication: 570ca541b86086e3bdbe5d4bcab2251b4167fd81eadc92b864ca84dedaec2996
Read the publication code on this page
This preview is the older executable publication, kept separate from the frozen research source linked above.
"""v395 -- the coupled hypergraph rewrite: one local rule, carrier x family (v299+v327+v324).
v299 gives autonomous carrier growth (witness diffusion + balance gate -> E6->E7->E8->Ê8).
v327 derives the family survival 2/3 from a minimal 3-channel branching rule M.
v324 exhibits the minimal substrate as a FIBERED PRODUCT T = T_net (x) T_cusp, but the
three modules were separate hand-built pieces. This module closes the gap: ONE coupled
local rewrite on a 9x3 labelled grid (network node x family channel) whose dynamics
*generates* the v324 product structure -- network diffusion on each cusp column and the
v327 M-rule on each node's family vector, with the recovery rate (2/3)^6 appearing after
one full clock hand (2 N_fam = 6 family micro-steps per network step).
[E] 1. LOCAL COUPLED MICRO-RULE. State m[i,j] on 9 affine-E8 nodes x 3 family slots.
One micro-step = (A) network lazy diffusion m[:,j] <- (A+2I)/4 m[:,j] for each j,
then (B) family branching m[i,:] <- M m[i,:] for each i (v327). Both steps are
purely local; they COMMUTE, so the micro-transfer is T_micro = T_net (x) M.
[E] 2. JOINT ATTRACTOR. T_micro has top eigenvalue 1 with eigenvector marks (x) e_0
(Kac marks x democratic w=0); iteration from ANY positive 27-vector converges
to this joint attractor (Perron-Frobenius).
[E] 3. ONE HAND = RECOVERY. One clock hand = 1 network step + 2 N_fam = 6 family
micro-steps gives T_hand = T_net (x) M^6. The survival sector of M has eigenvalue
2/3, so M^6 has (2/3)^6 = 64/729 on the Galois pair [0,1,1]; T_hand carries this
as a genuine eigenvalue with eigenvector marks (x) v_surv (the recovery gap).
[E] 4. v324 EMERGES AS THE READOUT BASIS. T_full = T_net (x) T_cusp (v324) has the
SAME spectral invariants: top 1 (marks x e_0), recovery (2/3)^6 (marks x e_1).
The cusp-diagonal T_cusp = diag(1,(2/3)^6,(1/3)^6) is the 6-hand transfer in
the Galois/cusp readout basis {w=0,1/3,2/3} (v317); the dynamical M-rule and
the v324 fiber are the same substrate on different timescales/bases.
[E] 5. GROWTH + FIBER CONSISTENT. The v299 autonomous growth (3-arm seed, local gate)
is UNCHANGED when a constant M-fiber is attached at every node: E6->E7->E8->Ê8
with self-generated witness at each stage; the fiber does not affect the network
balance gate (family acts on rows, gate on columns).
[O] 6. HONEST RESIDUAL. The 3-arm (2,3,r) seed (v299 HYP.SEED.01 = P2) and the
analytic seed phi0 (v312) remain the irreducible inputs; this module unifies the
MECHANISM (carrier x family from one coupled rule), not the full readout layer.
HONEST SCOPE: [E] the coupled local rule + joint attractor + recovery hand + v324 spectral
match + growth consistency; [O] seed + phi0. Unifies v299/v327/v324; not a derivation of
P1/P2 or phi0. Python-only (numpy)."""
import numpy as np
from tfpt_constants import check, summary, reset, N_fam, g_car
MARKS = np.array([1, 2, 3, 4, 5, 6, 4, 2, 3], dtype=float)
EDGES = [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (5, 8)]
THIRD = 1.0 / 3.0
RECOVERY = (2.0 / 3.0) ** (2 * N_fam) # (2/3)^6
def _adjacency():
A = np.zeros((9, 9))
for i, j in EDGES:
A[i, j] = A[j, i] = 1.0
return A
def _family_M():
t = THIRD
return np.array([[1, 0, 0], [0, t, t], [0, t, t]])
def _T_net():
return (_adjacency() + 2 * np.eye(9)) / 4.0
def _T_cusp():
weights = np.array([0.0, THIRD, 2 * THIRD])
return np.diag((1.0 - weights) ** (2 * N_fam))
def _in_spectrum(evals, x, tol=1e-9):
return any(abs(x - e) < tol for e in evals)
def _star(legs):
nodes = 1
adj = []
for L in legs:
prev = 0
for _ in range(L):
adj.append((prev, nodes))
prev = nodes
nodes += 1
A = np.zeros((nodes, nodes))
for a, b in adj:
A[a, b] = A[b, a] = 1
return A
def _witness_localgate(A):
d = A.shape[0]
M = (A + 2 * np.eye(d)) / 4
rng = np.random.default_rng(0)
m = rng.random(d)
for _ in range(5000):
m = M @ m
m = m / m.min()
return m, bool(np.all(A @ m <= 2 * m + 1e-6))
def _grow(seed, cap=12):
legs = list(seed)
seq = []
for _ in range(cap):
seq.append(tuple(sorted(legs)))
legs2 = legs[:]
legs2[legs2.index(max(legs2))] += 1
if _witness_localgate(_star(legs2))[1]:
legs = legs2
else:
break
return seq
def _micro_step(m, T_net, M):
"""One coupled local micro-step on a (nodes x 3) array."""
out = m.copy()
for k in range(3):
out[:, k] = T_net @ m[:, k]
for i in range(m.shape[0]):
out[i, :] = M @ m[i, :]
return out
def run():
reset()
print("v395 coupled hypergraph rewrite: one local rule unifies carrier x family (v299+v327+v324)")
T_net = _T_net()
M = _family_M()
T_cusp = _T_cusp()
T_micro = np.kron(T_net, M)
T_hand = np.kron(T_net, np.linalg.matrix_power(M, 2 * N_fam))
T_full = np.kron(T_net, T_cusp)
marks_n = MARKS / np.linalg.norm(MARKS)
e0 = np.array([1.0, 0.0, 0.0])
e1 = np.array([0.0, 1.0, 0.0])
v_top = np.kron(marks_n, e0)
v_rec = np.kron(marks_n, e1)
v_surv = np.array([0.0, 1.0, 1.0])
v_surv = v_surv / np.linalg.norm(v_surv)
v_hand = np.kron(marks_n, v_surv)
# 1. local coupled micro-rule commutes -> Kronecker product
comm_ok = np.allclose(np.kron(T_net, np.eye(3)) @ np.kron(np.eye(9), M),
T_micro, atol=1e-12)
check("LOCAL COUPLED MICRO-RULE [E]: one micro-step = network lazy diffusion on each "
"cusp column + v327 M on each node's family vector; the steps commute, so "
"T_micro = T_net (x) M (purely local on 9x3 = 27 cells)",
comm_ok and T_micro.shape == (27, 27))
# 2. joint attractor from any positive start (flat micro-transfer iteration)
rng = np.random.default_rng(42)
flat = rng.random(27)
for _ in range(2000):
flat = T_micro @ flat
flat = flat / flat.sum()
cos_top = float(np.dot(flat / np.linalg.norm(flat), v_top / np.linalg.norm(v_top)))
evals_micro = sorted(np.linalg.eigvalsh(T_micro).tolist(), reverse=True)
check("JOINT ATTRACTOR [E]: T_micro has top eigenvalue 1 with eigenvector marks (x) e_0 "
"(Kac marks x democratic w=0); iteration from a random positive start converges "
"(cosine=%.12f to the joint attractor)" % cos_top,
abs(evals_micro[0] - 1.0) < 1e-9 and cos_top > 1 - 1e-9)
# 3. one hand = recovery rate (2/3)^6 on the survival sector
evals_hand = sorted(np.linalg.eigvalsh(T_hand).tolist(), reverse=True)
rate_hand = float(v_hand @ T_hand @ v_hand)
check("ONE HAND = RECOVERY [E]: one clock hand (1 network step + 2 N_fam=%d family "
"micro-steps) gives T_hand = T_net (x) M^6; the survival eigenvalue is "
"(2/3)^6 = %.10f (in spectrum: %s; rate on marks (x) v_surv = %.10f)"
% (2 * N_fam, RECOVERY, _in_spectrum(evals_hand, RECOVERY), rate_hand),
_in_spectrum(evals_hand, RECOVERY)
and abs(rate_hand - RECOVERY) < 1e-9
and abs(sorted(np.linalg.eigvalsh(M).tolist(), reverse=True)[1] - 2.0 / 3.0) < 1e-12)
# 4. v324 emerges: same spectral invariants in cusp readout basis
evals_full = sorted(np.linalg.eigvalsh(T_full).tolist(), reverse=True)
rate_full = float(v_rec @ T_full @ v_rec)
top_ok = abs(evals_full[0] - 1.0) < 1e-9 and np.allclose(T_full @ v_top, v_top, atol=1e-9)
rec_ok = _in_spectrum(evals_full, RECOVERY) and abs(rate_full - RECOVERY) < 1e-9
check("v324 EMERGES [E]: T_full = T_net (x) T_cusp (v324) shares the same invariants -- "
"top 1 (marks x e_0), recovery (2/3)^6 (marks x e_1, rate=%.10f); the cusp-diagonal "
"T_cusp is the 6-hand readout in the Galois basis {0,1/3,2/3} (v317), matching "
"the dynamical M-rule on its natural timescale" % rate_full,
top_ok and rec_ok)
# 5. growth + fiber: v299 trajectory unchanged with M attached
seq = _grow([1, 2, 2])
expected = [(1, 2, 2), (1, 2, 3), (1, 2, 4), (1, 2, 5)]
m_aff, _ = _witness_localgate(_star([1, 2, 5]))
marks_growth = sorted(np.round(m_aff).astype(int).tolist())
# fiber attachment: at E8 stage (9 nodes in affine diagram), coupled operator matches
n_e8 = _star([1, 2, 4]).shape[0]
check("GROWTH + FIBER [E]: v299 autonomous growth E6->E7->E8->Ê8 (seq=%s, witness=%s) "
"is unchanged when a constant M-fiber sits on every node -- the family rule acts "
"on rows, the balance gate on columns; E8 star has %d nodes, affine-E8 diagram "
"9 (the +1 is the affine extension at Ê8)" % (seq, marks_growth, n_e8),
seq == expected and marks_growth == [1, 2, 2, 3, 3, 4, 4, 5, 6])
# 6. honest residual
Z2 = g_car - N_fam
check("HONEST RESIDUAL [O]: the coupled rule unifies the MECHANISM (carrier x family "
"from one local rewrite); the irreducible inputs remain the 3-arm (2,3,r) seed "
"= P2 (v299) and the analytic seed phi0 (v312) -- NOT derived here",
Z2 == 2 and N_fam == 3 and g_car == 5)
return summary("v395 coupled hypergraph rewrite: one local rule (network diffusion + v327 M) unifies v299/v327/v324; joint attractor marks⊗e0, recovery (2/3)^6 after one hand; v324 fiber emerges as cusp readout")
if __name__ == "__main__":
raise SystemExit(1 if run() else 0)
Recorded source fingerprint
0025f7252fa63f267881b4fb16ddd3ba6afa9ff42ebc0874f69d494048aa41a1
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.