back to table · edit · history · where entries came from · files · download
5258 bytes, as of the version from 2026-10-31 10:48 (current). Recorded here, not run.
# T634 build numerical evidence
Policy: `agents/runs/20261031T091932Z-build-skills/manifest.json` records the
local and live archived skills. Both were read and verified with SHA-256
`a2b28d9953264d7b0ca62663785c2952190c5be6d6d3597fd695d9a54d606278`.
The current canonical source in the snapshot has the same digest.
The builder claims numerical completion, not independent critique, argument
review acceptance, offering, human review or publication. Those later stages
belong to the controller. The selection is explained in argument-selection.md.
## Method and results
SageMath 10.9, numberdb 0.1.10. All Sage execution used agents/sage.sh in the
isolated compute environment. The named imports initialize numberdb.sage first.
No floating-point division of Python integers enters exact arithmetic.
The 300 entries are the ten prime-level classes and every r=1,...,30.
The generator uses Arb's modular_eta on tau=i sqrt(r) and p tau, then integer
powers and ball quotients. It works at 429 bits and the approximate results
retain at least 418 relative bits. They are serialized to 100 significant
decimal digits. The longest written number is 101 characters. The final flat
entries block is 43,178 bytes including the two entry comments.
The prescribed dry_run.py, with check.py, passes exactness, named imports,
prose and measurement checks: 300 entries, no disguised exact decimal.
Its measurement of unformatted working balls is 55.4 KiB and 145 characters
at the longest entry; the stored decimals are shorter.
Two entries are exact: (2A,1)=544 and (2B,1)=536. These follow from
j(i)=1728 and the level-two canonical equation for x=4096/R_2(i)>0:
(x-8)^2(x+64)=0. Positivity forces x=8 and R_2(i)=512. The polynomial
factorization is asserted exactly in generate.py. No recognition by rounding
is used to claim exactness. All remaining independent enclosures lie strictly
between consecutive integers. Since these CM values are algebraic integers,
none of those 298 values is a rational hidden in decimal notation.
## Independent computations
checks.py uses 560-bit real balls and elementary finite products, without
calling modular_eta. For q=exp(-2 pi sqrt(r)), the missing product after
128 factors satisfies 1-q^129/(1-q) <= product <= 1. This follows by
induction from product(1-a_n) >= 1-sum(a_n) and the geometric sum for the
a_n=q^n; all factors are positive. The checker adds a symmetric enclosure
for this tail and propagates it through both products and the quotient.
Its 300 value enclosures have at least 545 relative bits and overlap the
independently produced generator values. Each of the 298 approximate
independent and primary enclosures is fully contained in the exact rational
interval specified by its stored decimal (one unit in the final place).
A separate theta-series computation gives lambda and then j. For
Q=exp(-pi sqrt(r)), the theta-three tail after n=N is bounded by
2 Q^((N+1)^2)/(1-Q^(2N+3)); the theta-two tail is bounded by
2 Q^((N+3/2)^2)/(1-Q^(2N+4)). Here N=20. These are positive geometric
majorants for successive term ratios. The checker evaluates
j=256(1-lambda+lambda^2)^3/(lambda^2(1-lambda)^2).
All thirty values satisfy H_(-4r)(j)=0. The 150 pairs (p,r) satisfy
Phi_p^c(C_p/(T_pB-b_p),j)=0, with the exact polynomial coefficients archived
from published T129 and T309 in algebraic-check-data.json. These equations
supply checks outside the defining eta family. Residuals are divided by
the sum of the absolute term bounds; the resulting enclosures must be finite,
contain zero and have radius less than 10^-90. The A/B relation is checked
on all 150 pairs at the same threshold.
Known controls precede every run: j(i)=1728, R_2(i)=512, T_2A(i)=544,
T_2B(i)=536. Deliberately disjoint values, an enormous radius, and NaN must
be rejected by the comparison routine. Exact decimal-parser controls require
3.14 to mean [3.13,3.15] and 544 to be exact. These checks passed.
The build log checks-computed.json contains the full serialized records and
counts. checks.py --stored repeats the interval containment and all algebraic
identities on the actual API values, preserving their order and requiring
exactly the generator's enumeration. Generator.verify(sample=None) supplies
an additional full recomputation check. Post-upload outcomes are recorded in
the build handoff and checks-stored.json, rather than predicted here.
## Reproducibility and limits
Download generate.py, checks.py, algebraic-check-data.json and the accompanying
notes from the same draft revision. Running checks.py needs only Sage and
numberdb; checking the private draft also needs its author's API key. The
stored() helper in check.py requires Django and a database, unavailable on
this build machine, so the readback check uses numberdb.table and the client's
entry flattener instead. Exact coefficient comparisons do not replace
certified decimal enclosure checks, and interval equality is not used to
compare independent balls.
The standard user-facing Sage snippet is tested on all 300 selected pairs.
The source manifest and source-checks.md record consulted references. DLMF
pages were read with the web tool; downloading their .tex variants through
urllib was refused and is not represented as successful access.