numerical-evidence.md

back to table · edit · history · where entries came from · files · download

3748 bytes, as of the version from 2026-10-31 09:56. Recorded here, not run.

# Numerical evidence for T635

Skill basis: `agents/runs/20261031T094636Z-build-skills/manifest.json`, attached
as `skill-manifest.json`. Both local and live archived skills have SHA-256
`a2b28d9953264d7b0ca62663785c2952190c5be6d6d3597fd695d9a54d606278`.

All 209 values are polynomials over the exact integer ring; rounding and a
100-digit error target do not apply. There is no numerical approximation.

`agents/sage.sh run-dry.py generate.py dry_run.py check.py` passed exactness,
ring-import and prose checks. The longest written polynomial has 748
characters (1A,20); the estimated entries block is 45.0 KiB.

`agents/sage.sh checks.py check-data.json generate.py` passed:

- all 209 polynomial comparisons with independently reconstructed polynomials;
- all 209 exact principal-part identities P_(n,g)(T_g)=q^(-n)+O(q);
- 627 additional positive-coefficient replication identities, q^1 through q^3
  for every polynomial;
- ten published polynomial examples, n=2 through 6 for 1A and 2A, after
  substituting X+744 and X+104 respectively into the examples on pp.24–25 of
  Bannai–Kojima–Miezaki (2008), DOI 10.2206/kyushujm.62.15;
- known coefficient/polynomial controls, including a signed 2B coefficient;
  deliberate coefficient, degree and zero-polynomial errors were all rejected.

The generator uses eta-product logarithmic derivatives (and E4^3/Delta for
1A), followed by a Faber recurrence. The independent checker instead uses
archived T79 j coefficients and the five canonical modular equations from
T309. It solves Phi_p(m,j)=A_p(m)-m*j=0 coefficient by coefficient for
m=C_p*q+..., then recovers R_p=C_p/m and the two normalized series. It
constructs polynomials by triangular cancellation, sharing none of the
generator's series or polynomial arithmetic helpers. It also checks
[q^r]P_(n,g)(T_g)=sum_(a|gcd(n,r)) (n/a)c_(g^a)(nr/a^2), for r=1,2,3.
For these prime-order classes, a multiple of p gives the identity class;
other powers give the same rational-character trace.

The independent construction uses coefficients through q^60, beyond the
q^19 required to define the stored polynomials. Laurent power multiplication
retains terms through q^23, sufficient to check q^3 after at most twenty
factors whose lowest exponent is -1. Source document digests and the exact
archived inputs are in `check-data.json`. These are checks against external
corpus data and published examples, not a new independent critique session.

The main build logs and post-upload readback evidence are retained with the
run artifacts. `checks.py --stored` repeats the same mathematical checks on
the API's stored polynomial strings. The build must also run
`MonstrousFaber().verify(sample=None)` and the site's audit before handing
the draft to the controller. No offer or publication is performed here.

## Completed readback

The draft was filled once, with 209 added entries and no updated or removed
entries. `verify(sample=None)` returned 209/209 matched, no differences,
missing entries or extra entries. The independent checker then read every
stored polynomial through the API and repeated all 209 principal-part tests,
627 replication-coefficient comparisons, ten published examples and three
negative controls successfully.

The complete prose was applied while preserving the entire stored Numbers
block unchanged. The site audit returned `findings: []` and `clean: true`.
Python 3.12.3, SageMath 10.9 and numberdb 0.1.10 were used.

The two checked primary sources were archived in the run work directory.
BKM.pdf has SHA-256
`02cab20c09e737a9ff7f9865a36652db79405925573a63be91d430b974bda8fe`;
Matsusaka.html has SHA-256
`2091629b0db9ae3f2dbed7e23bfc5693fb73a61afe51ec177e8d8214cbe9a05d`.
See source-archives.json for their URLs.