# Scorer arguments and reproduction

The website database, its revisions, and its attached sources are authoritative.
This file explains the default selection in the attached `generate.py` and
`scorer.py`; it is not an alternative table store.

## Arguments

- `0`: the distinguished origin, with closed Gamma-function initial values.
- `ai-zero-n`, `1 <= n <= 20`: the negative zeros of Ai ordered from the origin.
  Gi and Hi at precisely these arguments occur in distribution and moment
  formulas for Brownian motion with parabolic drift, not just as plotting points.
  See Janson, Louchard and Martin-Löf, *The maximum of Brownian motion with
  parabolic drift*, Theorems 2.2 and 2.6 in the revised author version:
  https://guy.louchard.web.ulb.be/louchard.papers/sj243.pdf
  https://arxiv.org/abs/1002.0497
- Gi only: `gi-critical-n`, `0 <= n <= 12`. Index zero is the unique positive
  critical point. Positive indices enumerate negative critical points from
  the origin. The entries are heights, not the locations held in T517.
  https://dlmf.nist.gov/9.12.ix

Twenty Airy zeros and thirteen critical points are finite prefixes of intrinsic
indexed families, not a claim that the last member is more special than the
next. Bounds can be enlarged after revalidating computation and root indexing.
Hi is strictly increasing and has no real extrema. Gi at its own zeros would
give only zero, so those arguments do not provide useful value entries.

The previous reference arguments remain reproducible through earlier website
revisions. The new default does not include them merely because they are small
rationals or examples in a software manual. Existing numeric identity `0`
still means the same argument; no old numeric identity is reassigned to a root.

## Computation and checking

Install `numberdb`, `python-flint`, and `mpmath`. The tested numerical versions
are python-flint 0.6.0 and mpmath 1.3.0. Download the attached sources into one
directory. `python generate.py` verifies the complete default selection against
the website; draft access needs the usual NumberDB API key. `python checks.py
--kind gi --live` (or `hi`) independently checks the stored decimals. Without
`--live`, checks run offline. `--output-dir PATH` writes working-copy numbers
and evidence, never database changes.

Root arguments are certified balls, not the displayed decimals of another
table. The generator uses exact endpoints when converting Arb balls to
NumberDB intervals. Geometric Taylor tails and floating-point error are both
enclosed. The Gi root-count proof and its Gronwall estimate are in `scorer.py`.

The independent check integrates the defining positive Hi integral with a
bounded tail, and checks Gi as Bi minus that integral. It uses nonzero integral
controls, the differential equation, root residuals, and mpmath evaluations at
150 and 200 decimal digits. Both the independently obtained enclosure and the
generator enclosure must fit strictly within the uncertainty of the stored
100-significant-digit decimal. Agreement checks supplement rather than replace
the rigorous computation.

`python generate.py --fill` writes recomputed entries and sources, but does not
publish or approve a draft. Unselected entries are preserved unless the caller
explicitly supplies `--remove-unselected`. An assistant must identify itself
using `NUMBERDB_ASSISTED_BY`; credentials are never part of these files.

Older attachments such as `dry_run.py` are historical evidence for their own
revisions, not the generator for this selection. The current entry point is
`generate.py`, with the supporting files named in its `files` declaration.
