back to table · edit · history · where entries came from · files · download
3772 bytes, as of the version from 2026-11-09 18:56 (current). Recorded here, not run.
"""Verify T694 and independently check every stored number's last-place claim.
Run with generate.py, roster.json, independent-roots.json and polynomials.json.
For a private draft, configure NUMBERDB_API_KEY; the campaign pipes its key.
"""
import os,sys,json,math
from fractions import Fraction
from pathlib import Path
if os.environ.get('NUMBERDB_KEY_FROM_STDIN')=='1':os.environ['NUMBERDB_API_KEY']=sys.stdin.read().strip()
import numberdb.sage as numberdb
from numberdb._generate import _stored_entries
from numberdb._compare import _claim,_as_fraction,_complex_parts,digits_of
from sage.rings.real_mpfr import RealField
from sage.rings.real_mpfi import RealIntervalField
from sage.rings.complex_interval_field import ComplexIntervalField
from sage.rings.rational_field import QQ
from generate import PeriodPolynomialZeros,ROSTER
BASE=Path(__file__).parent;R=RealField(750);RI=RealIntervalField(750);CI=ComplexIntervalField(750)
report=PeriodPolynomialZeros().verify(sample=None);print('VERIFY',report,flush=True);assert report.ok
stored=_stored_entries(numberdb.table('T694'));assert len(stored)==626
independent=json.loads((BASE/'independent-roots.json').read_text());polynomials=json.loads((BASE/'polynomials.json').read_text())
boxes={};maxulp=R(0);exactparts=0
def rational(text):
q=Fraction(text);return QQ(q.numerator)/q.denominator
def part(text):
q=_as_fraction(text)
if q is not None:return RI(QQ(q.numerator)/q.denominator)
c,e=_claim(text);return RI(rational(str(c))-rational(str(e)),rational(str(c))+rational(str(e)))
for item in independent:
p=item['params'];key=','.join(str(p[n]) for n in ['N','k','i','j']);text=stored[key]
assert digits_of(text)>=100
re,im=_complex_parts(text) or (text,'0');z=[R(item['real']),R(item['imag'])];forced=item['forced'];known={}
if forced in ['real+','real-']:known={0:Fraction(1 if forced=='real+' else -1),1:Fraction(0)}
elif forced in ['imag+','imag-']:
known={0:Fraction(0)}
if math.isqrt(p['N'])**2==p['N']:known[1]=Fraction(1 if forced=='imag+' else -1,math.isqrt(p['N']))
elif forced and forced.startswith('elliptic:'):known={0:Fraction(int(forced.split(':')[1]),2)}
for axis,txt in enumerate([re,im]):
c,e=_claim(txt)
if axis in known:assert _as_fraction(txt)==known[axis];exactparts+=1
else:
assert e>0,(key,axis,txt)
ulp=abs(z[axis]-R(str(c)))/R(str(e));assert ulp<=1,(key,axis,str(ulp));maxulp=max(maxulp,ulp)
b=CI(part(re),part(im));assert 1 in p['N']*(b.real()**2+b.imag()**2)
boxes.setdefault((p['N'],p['k'],p['i']),[]).append(b)
def overlaps(a,b):
return a.real().lower()<=b.real().upper() and b.real().lower()<=a.real().upper() and a.imag().lower()<=b.imag().upper() and b.imag().lower()<=a.imag().upper()
for pp in polynomials:
key=(pp['N'],pp['k'],pp['i']);roots=boxes[key];assert len(roots)==pp['k']-2
for z in roots:
assert any(overlaps(-z.conjugate(),q) for q in roots)
assert any(overlaps(-1/(pp['N']*z),q) for q in roots)
coeff=[CI(1)]
for z in roots:
n=[CI(0)]*(len(coeff)+1)
for j,c in enumerate(coeff):n[j]-=z*c;n[j+1]+=c
coeff=n
raw=[CI(R(a),R(b)) for a,b in pp['coefficients']]
for a,b in zip(coeff,raw):assert overlaps(a,b/raw[-1])
evidence={'table':'T694','generator_verify_ok':bool(report.ok),'stored_entries_checked':len(stored),'exact_components_preserved':exactparts,'max_difference_in_stored_ulps':str(maxulp),'stored_identities':'Every circle enclosure contains 1 for N*abs(rho)^2; reflection and reciprocal partners overlap; interval Vieta products overlap every normalized coefficient. Independent Mellin roots lie in every nonexact component interval. Exact components match their proved rational values.','skill_manifest':'agents/runs/20261109T165350Z-build-skills/manifest.json'}
print('POSTFILL '+json.dumps(evidence),flush=True)