The file src/27-fields/p9.py of the validation package of the paper 27-fld, rendered with an anchor per line; the file itself is beside this page.
1# framed-rational status: EXACT -- integer / modular-F_p / cyclotomic arithmetic; no float in any asserted check (float, if present, only formats an exact rational for display).2"""3P9: generation replication -- the Galois-conjugate lead.45Matter conjugates under the Galois group of the substrate's extension tower.6Frobenius x->x^q on F_{q^n} has order n, so an element of F_{q^n} (not in a7subfield) has exactly n Galois conjugates -- an n-fold orbit of algebraically8identical objects differing only by the Frobenius label.910 quadratic extension F_{q^2}: Galois Z_2 -> 2 conjugates = the 2 CHIRALITIES (P4);11 cubic extension F_{q^3}: Galois Z_3 -> 3 conjugates = 3 GENERATIONS (lead).1213Galois conjugates share their minimal polynomial, hence all algebraic (gauge)14properties: this is GENERATION UNIVERSALITY -- the generations identical except15for the label, the mass difference coming from the per-conjugate winding overlap16(P7). Degrees 2 and 3 are coprime, so chirality and generations are independent17(Z_2 x Z_3 = Z_6 over F_{q^6}), matching that leptons have generations but no colour.1819The orbit sizes are computed exactly as the orbits of multiplication-by-q on20Z/(q^n - 1) (the exponent lattice of a generator); orbit size = degree.21OPEN KERNEL: why the matter extension is CUBIC (degree 3, not 2 or 4).22"""23from math import gcd2425def frobenius_orbits(q, n):26 """Orbits of x -> x^q on F_{q^n}^x, as orbits of *q on Z/(q^n-1)."""27 N = q**n - 128 seen = set(); orbits = []29 for a in range(N):30 if a in seen: continue31 orb = []; b = a32 while b not in seen:33 seen.add(b); orb.append(b); b = (b*q) % N34 orbits.append(orb)35 return orbits3637def report(q, n, label):38 orbits = frobenius_orbits(q, n)39 sizes = sorted({len(o) for o in orbits})40 maxsize = max(len(o) for o in orbits)41 nmax = sum(1 for o in orbits if len(o) == maxsize)42 print(f" F_{{{q}^{n}}} (Galois Z_{n}): Frobenius orbit sizes on F^x = {sizes};"43 f" {nmax} orbits of full size {maxsize} -> {label}")44 return maxsize4546print("="*68)47print("P9 generations as Galois conjugates of the substrate's extension tower")48print("="*68)49print("\nFrobenius x->x^q on F_{q^n} has order n; a primitive element has n conjugates.")50print()51for q in (2, 3, 5):52 print(f" q={q}:")53 s2 = report(q, 2, "2 CHIRALITIES (quadratic, P4)")54 s3 = report(q, 3, "3 GENERATIONS (cubic, the lead)")55 s6 = report(q, 6, "Z_6 = Z_2 x Z_3 (chirality x generations)")56 print(f" degree of chirality ext = {s2}, of generation ext = {s3},"57 f" coprime: {gcd(s2,s3)==1} (independent sectors)")58 print()5960print("-"*68)61print("Generation universality: conjugates share a minimal polynomial, hence all")62print("gauge quantum numbers -- the 3 generations identical except for mass.")63print("The number = the Galois degree; chirality is the degree-2 (quadratic) case,")64print("derived in P4; generations the degree-3 (cubic) case. EXACTLY 3 = cubic degree.")65print("OPEN KERNEL: why the matter extension is cubic (4th role x->x^3, rank-3 colour,")66print("cube-root sector are the entry points). P9 remains a lead, not a derivation.")67print("="*68)68