Research source · python
rectangle-consistency-check.py
site/public/research-artifacts/foundations/rectangle-consistency-check.py
129 lines. Source is displayed for inspection; it is not executed by this page.
File fingerprint
SHA-256: 63fed95daabfd17e561fd9dffad8b0e54839b19ef899130941be5d59c52a027c
#!/usr/bin/env python3
"""Exact finite corroboration; universal bounds use the accompanying proofs."""
import json
import random
from fractions import Fraction
from itertools import product
from math import comb
def code(generators):
result = {0}
for g in generators:
result |= {b ^ g for b in result}
return sorted(result)
def cell(b, n, i, j):
return (b >> (i * n + j)) & 1
def rectangle(u, v, n):
return sum(1 << (i * n + j) for i in range(n) for j in range(n)
if (u >> i) & 1 and (v >> j) & 1)
def score(b, q):
return 2 * (b & q).bit_count() - b.bit_count()
def consistent_basis(n):
rows = [sum(1 << (i * n + j) for j in range(n)) for i in range(n)]
cols = [sum(1 << (i * n + j) for i in range(n)) for j in range(n)]
return rows + cols[:-1]
def predicted_l(u, v, n):
U, V = u.bit_count(), v.bit_count()
return max(0, U * (2 * V - n), V * (2 * U - n), n * (U + V - n))
def check(b, n, i, k, j, ell):
return cell(b, n, i, j) ^ cell(b, n, i, ell) ^ cell(b, n, k, j) ^ cell(b, n, k, ell)
def repair(b, n, k, ell):
return sum((cell(b, n, i, ell) ^ cell(b, n, k, j) ^ cell(b, n, k, ell))
<< (i * n + j) for i in range(n) for j in range(n))
l_results, k_results = [], []
for n in range(1, 5):
L = code(consistent_basis(n))
total = 0
for u, v in product(range(1 << n), repeat=2):
q = rectangle(u, v, n)
actual = max(score(b, q) for b in L)
assert actual == predicted_l(u, v, n)
total += actual
mu = Fraction(n * comb(n - 1, n // 2), 1 << n)
mean = Fraction(total, 1 << (2 * n))
assert mean == n * mu - mu * mu
l_results.append({"n": n, "dimension": 2 * n - 1, "F_L": str(mean)})
for n in range(1, 7):
cut_generators = [sum(((int(i == k) ^ int(j == k))) << (i * n + j)
for i in range(n) for j in range(n)) for k in range(n - 1)]
K = code(cut_generators)
total = 0
for u, v in product(range(1 << n), repeat=2):
q = rectangle(u, v, n)
actual = max(score(b, q) for b in K)
t = max(0, u.bit_count() + v.bit_count() - n)
assert actual == 2 * ((t * t) // 4)
total += actual
mean = Fraction(total, 1 << (2 * n))
assert mean == Fraction(n - 1, 8)
k_results.append({"n": n, "dimension": n - 1, "F_K": str(mean)})
rng = random.Random(20261003)
repair_results = []
for n in (3, 4):
rows = consistent_basis(n)[:n]
candidates = [("row", rows), ("row_with_column_defect", rows[:-1] + [1])]
candidates += [("generic", [rng.getrandbits(n * n) for _ in range(n)])]
if n % 2 == 0:
candidates.append(("half_square", [rectangle((1 << (n // 2)) - 1,
(1 << (n // 2)) - 1, n)]))
for label, gs in candidates:
C = code(gs)
anchors = []
nonzero_checks = failures = 0
for k, ell in product(range(n), repeat=2):
H = sum(1 << (i * n + j) for i, j in product(range(n), repeat=2)
if any(check(b, n, i, k, j, ell) for b in C))
anchors.append((H.bit_count(), k, ell, H))
nonzero_checks += H.bit_count()
for i, j in product(range(n), repeat=2):
failures += sum(check(b, n, i, k, j, ell) for b in C)
rho = Fraction(failures, len(C) * n ** 4)
assert Fraction(nonzero_checks, n ** 4) == 2 * rho
if label == "half_square":
assert rho == Fraction(1, 8)
h, k, ell, H = min(anchors)
assert h <= 2 * rho * n * n
for b in C:
tb = repair(b, n, k, ell)
assert (b ^ tb) & ~H == 0
assert all(check(tb, n, i, kk, j, ll) == 0
for i, kk, j, ll in product(range(n), repeat=4))
for d in C:
assert repair(b ^ d, n, k, ell) == tb ^ repair(d, n, k, ell)
total = 0
for u, v in product(range(1 << n), repeat=2):
q = rectangle(u, v, n)
actual = max(score(b, q) for b in C)
assert actual <= predicted_l(u, v, n) + h
total += actual
if label == "row_with_column_defect":
for kk in range(n):
hh = next(item[0] for item in anchors if item[1:3] == (kk, 1))
assert hh <= n - 1
repair_results.append({"n": n, "family": label,
"dimension": len(C).bit_length() - 1,
"rho": str(rho), "common_h": h,
"mean_score": str(Fraction(total, 1 << (2 * n)))})
print(json.dumps({"status": "passed", "scope": "finite corroboration, not formal verification",
"full_consistent_spaces": l_results, "cut_codes": k_results,
"common_linear_repairs": repair_results}, indent=2))