back to table · edit · history · where entries came from · files · download
2507 bytes, as of the version from 2026-10-30 06:50 (current). Recorded here, not run.
"""Check T613's stored decimals, exact anchors, order and independent evidence.
sage -python readback_checks.py
Set NUMBERDB_API_KEY, or pipe a token to stdin with NUMBERDB_KEY_FROM_STDIN=1.
Read-only. Numerical evidence and independent-evidence.json must be adjacent.
"""
import numberdb.sage as numberdb
from sage.rings.real_mpfi import RealIntervalField
from sage.rings.rational_field import QQ
from fractions import Fraction
from decimal import Decimal
from pathlib import Path
import os,sys,json
if os.environ.get('NUMBERDB_KEY_FROM_STDIN')=='1':
key=sys.stdin.read().strip()
if '=' in key and key.split('=',1)[0].replace('_','').isalnum():key=key.split('=',1)[1].strip().strip('\"\'')
os.environ['NUMBERDB_API_KEY']=key
def rational(f):return QQ(f.numerator)/QQ(f.denominator)
def bracket(s):
d=Decimal(s);ulp=Fraction(10)**d.as_tuple().exponent
return Fraction(d)-ulp,Fraction(d)+ulp
p=Path(__file__).parent
primary=json.loads((p/'numerical-evidence.json').read_text())['values']
independent=json.loads((p/'independent-evidence.json').read_text())
doc=numberdb.table('T613');numbers=doc['Numbers']
if isinstance(numbers,list):
rows=[(str(row['params']['n']),str(row['number'])) for row in numbers]
else:
rows=[(str(n),str(v['number'] if isinstance(v,dict) else v)) for n,v in numbers.items()]
assert [n for n,_ in rows]==['0','1/2','1','3/2','2','5/2','3','7/2','4','9/2']
F=RealIntervalField(800);output={}
for n,value in rows:
lo,hi=bracket(value);v=Fraction(primary[n]['high'])
assert lo<v<hi,(n,'primary value outside written interval')
rel=abs(Fraction(value)-Fraction(independent[n]['value']))/Fraction(value)
assert rel<Fraction(1,10**35),(n,'independent mismatch')
report={'number':value,'significant_digits':len(Decimal(value).as_tuple().digits),'primary_inside_written_interval':True,'radial_relative_difference':str(float(rel))}
assert report['significant_digits']==100
if n in ['0','1']:
anchor=F(6).sqrt() if n=='0' else F.pi()
assert F(rational(lo)).upper()<anchor.lower()<anchor.upper()<F(rational(hi)).lower()
report['exact_anchor_contained']=True
# Deliberately shift the written interval: this test must reject it.
shift=Fraction(1,10**90)
assert not (lo+shift<v<hi+shift)
report['displaced_interval_rejected']=True
output[n]=report
print(json.dumps({'table':'T613','rows':output,'skill_manifest':'../20261030T005732Z-build-skills/manifest.json'},indent=2))