verification.md

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

5509 bytes, as of the version from 2026-11-01 17:54 (current). Recorded here, not run.

# Numerical verification for T655

The governing archive is
`agents/runs/20261101T164559Z-build-skills/manifest.json`. Both the local
canonical skill and the archived live skill have SHA-256
`a2b28d9953264d7b0ca62663785c2952190c5be6d6d3597fd695d9a54d606278`.
See skill-evidence.json. This report records build checks; the independent
campaign critique remains a separate stage.

## Why the selected root certifies the minimum

Put a=(n-1)/3 and t=exp(s). With probabilities
p_j=exp(js)/sum_k exp(ks), differentiation gives

    d/ds log F_n(exp(s)) = sum_j j p_j - a,
    d²/ds² log F_n(exp(s)) = Var_p(j) > 0.

For n>=2, each probability is positive and there are at least two distinct
indices, so the variance is strictly positive. The first derivative tends to
-a<0 as s tends to minus infinity, and at s=0 it is (n-1)/6>0. Thus it has
exactly one zero, with 0<rho_n<1. F_n(t) tends to infinity as t tends to
zero and as t tends to infinity. Its stationary point is the global minimum.
Differentiating the objective gives the exact polynomial
P_n(t)=sum_j(3j-n+1)t^j. Therefore rational endpoint signs, together with
uniqueness, are a certificate for the root enclosure. This is a proof of the
root's identity, not an inference from a small residual.

For gamma=1/rho, the weighted mean is
1/(gamma-1)-n/(gamma^n-1). It is strictly decreasing for gamma>1: its derivative
with respect to log(gamma) is minus the variance. Its limit at gamma=1 is
(n-1)/2, and at gamma=2 it is at most (n-1)/3, with equality for n=2.
For n>=4, the latter also follows from the mean being below one and
(n-1)/3>=1; n=3 is an immediate rational check. These facts supply the
independent bisection's bracket (1,2].

## What was computed and checked

- `generate.py` uses rational bisection for rho, then Arb on the entire
  enclosure. It initializes Sage through numberdb.sage and names its rings.
  The precision is numberdb.bits(100, losing=128), and bisection uses 32 more
  steps than that bit precision. The exactly rational rho_2=1/2 is retained
  exactly in the certificate. The table contains the constants, not rho.
- `checks.py` separately bisects the reciprocal source equation using exact
  rationals, with 520 steps, then evaluates both Shannon entropy and the
  reciprocal expression in 560-bit Arb arithmetic. These computations do not
  call the generator's root or objective routines.
- Every one of 62 displayed decimal intervals contains the complete generator
  enclosure and both independent enclosures. All enclosures must be finite,
  positive and narrower than 10^-130 in relative width before comparison.
  The generator enclosures retain at least 454 relative bits, with maximum
  relative interval width less than 1.817e-137.
- Exact polynomial arithmetic verifies differentiation and conversion to the
  reciprocal stationary equation for all 31 dimensions. Probability sums,
  the mean (n-1)/3, positive variance, and entropy agreement are checked at
  all dimensions. Both normalization entries satisfy C_n=n J_n.
- Independent source controls give C_2=3/2^(2/3),
  C_3=3(207+33 sqrt(33))^(1/3)/8, and the published rounded values for every
  n=2..10 in CVZ section 4.2.1. These all agree. The rounded source values
  also pass a half-final-decimal-place check.
- The Bernoulli(1/3) entropy, recomputed from its two exact probabilities,
  agrees with both the nats and bits entries read from T339. A compact copy
  of those reference rows is attached as entropy-reference.json, with the
  full read document's hash. This is a connection to a different family.
- Controls run first: parsing 3.14 must give [3.13,3.15]; Bernoulli entropy
  must give the known C_2 after exponentiation; the deliberately incorrect
  candidate C_2=2 must be rejected. A wide or non-finite ball cannot pass.
- The independent floating-point Programs snippet was run in the Sage wrapper
  for all dimensions and both normalizations. All 62 results lie inside the
  certified displayed intervals. Its output is an approximation; it is not
  the basis of the table's proven precision.
- `agents/table-build/dry_run.py` and its existing `check.py` passed on all
  entries: exactness/error-bearing types, absence of suspicious exact-looking
  decimals, ring imports, prose, and size. The raw balls have a longest
  printed length of 156 characters and a 14.5 KB measured entries block.
  The 100-digit serialized values are at most 102 characters.

The run used SageMath 10.9, Python 3.12.3 and numberdb 0.1.10. Exact rational
root endpoints, numerical enclosures, serialized entries and check outcomes
are attached as numerical-evidence.json. Source versions and hashes are in
source-manifest.json. The generator and checks can be downloaded and rerun
without the campaign repository. `checks.py --stored` reads the current draft
and repeats the identities and enclosure tests on its stored values; a private
draft requires a permitted key. No numerical check substitutes for the cited
subrank theorem or for the controller's separate critique.

## Stored-data result

After the draft was filled, Generator.verify(sample=None) matched 62/62 entries,
with no differing, missing or extra entries. The independent checks were
repeated on every stored decimal interval and all passed. The complete
read-back evidence is attached as stored-evidence.json. The API audit has two
structural findings, addressed explicitly in audit-disposition.md; its raw
response remains clean=false. The draft has not been offered or published.