Independent verification of an upper bound for the de Bruijn–Newman constant
Stephen Wu. Computational implementation and analytic audit: GPT-6 Astra, 2026-09-08. Computer-assisted verification; no external peer review claimed.
The certificate establishes
The number and the candidate argument are due to Jude Gomila. They were available in an unpublished repository before this work. The comparison is with the published bound of Platt and Trudgian, not with a newly chosen decimal target. The reduction from that endpoint is , or .
The contribution here is an independent finite verification algorithm and a complete reproduction of the candidate's numerical obligations. The finite algorithm interpolates positive Dirichlet sums as their integer cutoff changes. It checks all 3,149,013 required indices in about ten minutes on one core, using about 11 MiB including its Python launcher. A replay of the original producer takes about 71 minutes on this machine. This is a comparison of the two specified run configurations, not a general speed claim. Both give the same global lower floor, with a positive margin of more than after approximation error.
The analytic audit checks the normalization, transfers between horizontal windows and heights, the infinite tail, and the closed time endpoint at zero. It does not constitute external peer review. The calculation uses the published zero-height theorem as an input; it does not repeat the original computation of zeta zeros.
1. The published criterion
Write for the heat deformation in Polymath 15, normalized as in that paper. Its zeros are all real precisely when . The lower bound is known, and RH would say .
Theorem 1.2 of Polymath 15 gives from three statements:
- Zeta has no zero in , .
- for and .
- when , , and .
We use the exact parameters
Platt–Trudgian, Theorem 1 verifies RH through height . Its excess over is exactly , establishing the first input. The same paper's Corollary 2 is the published bound used for comparison.
Theorem 1.3 of Polymath 15 supplies a nonvanishing normalizer and an explicit finite sum satisfying
All numerical regions below have and . For the last error term we use the conservative constant obtained directly from Proposition 6.6(vi). The proof replaces by the smaller positive denominator , then applies . Thus the certificate does not depend on recovering the smaller displayed constant in equation (24).
2. A finite functional in the theorem's normalization
Set , , and . The index of the approximation is on . On this window use
These bound , , and in the directions , , and . The directions remain conservative throughout the window: the two absolute bounds decrease with , while the real-part minorant increases. For the clipped term, its nonnegative numerator and its factor both decrease, including across the point at which the numerator becomes zero.
Let be a finite set of primes, , and
The product of individual prime weights is essential here. Define
Let
The quantity checked by the finite calculation is
Lemma. If , then on the whole -window.
Proof. Multiply the first Dirichlet sum in by , and the conjugated second sum by . Dirichlet convolution gives the coefficients and above, with constant coefficients both equal to one. Bounding the nonconstant coefficients absolutely gives
where is the numerator in . The correction follows from . Since and , positivity of implies . The displayed inequality then excludes . Dividing by and using proves the assertion. The positivity of justifies the direction of the last division.
3. Two complete finite calculations
Both implementations cover this exact schedule:
| Prime set | Integer indices, inclusive | Rows |
|---|---|---|
| 38012 | ||
| 90000 | ||
| 209000 | ||
| 2812001 |
The first is the pinned C producer, freshly rebuilt and run in 23 sequential segments. Every generated row agrees with the candidate's archived row. The second is a new Rust implementation. It reads no candidate row, moment, or frozen gamma weight.
For fixed and , the Rust calculation maintains the positive sums
at eight cosine nodes in the interval of possible . If has and support at most , write for the left endpoint and for the first node. With and eight-node interpolant , the remainder obeys
Indeed, and . The ordinary real interpolation remainder gives the result. Arb encloses the nodes, sums, argument, Lagrange weights, and remainder; the full upper bound is added as an error radius.
The initial convolution merges the streams and collects all pairs with the same product before taking an absolute value. On increasing to , only the indices change. At each such index the code reconstructs the old coefficient, adds the new pair , and adds the difference of absolute coefficients to each node sum. This telescopes exactly. Signed update differences do not compromise the nonnegativity of the coefficients in the resulting sum.
The correction is bounded independently using
The complete remainder and update argument is in
INTERPOLATION.md. A separate Rust direct convolution
checks the weakest row without interpolation. A Python dictionary
convolution checks 100 small cases, including changes of the active divisor
set and coefficient signs.
Both full calculations give
with the minimum floor at . The two implementations share FLINT/Arb. They are independent algorithms and source implementations, not independent transcendental libraries.
Each step is the minimum integer floor over an inclusive bin of at most
2,048 indices. The vertical lines mark changes of Euler prime set. The
dotted line is the uniform approximation error ceiling. The exact bin
data and an exportable PDF are in figures/.
4. Passing from the sampled height to a region
The height step concerns a finite sum of absolute values. It cannot be justified by assuming that its signed coefficients never vanish. Put and . The clipped minorant has lower right slope at least . For each coefficient, including a zero of ,
This follows from at a zero and elsewhere. After factoring out , the candidate reduces the bracket to a finite divisor-pattern inequality. For a gcd mask, the active divisors are a suffix of its ordered divisors; there are nonempty patterns for primes. Empty active sets contribute zero.
The fresh Arb checks at 180 and 256 bits cover respectively 243, 81, 27,
and 9 patterns over the four full index ranges and the closed height
interval . Every positive-part ratio is strictly
less than one; the largest printed upper bound is
. The summands are locally Lipschitz, hence absolutely
continuous, so the nonpositive upper derivative gives nonincrease of the
mass. This implication and its endpoint reductions are reviewed in
ANALYTIC_REVIEW.md.
The normalizer decreases as increases. The logarithmic derivative of each positive correction term is bounded by
Its maximum is less than . Thus the correction decreases. The positive numerator increases, the positive denominator decreases, and the subtracted correction decreases. Therefore .
The fresh error calculation gives the uniform upper bound
The finite region is consequently zero-free with margin at least
5. The infinite tail
The tail begins at , overlapping the last finite window. The candidate uses an eleven-term real mollifier and a head cutoff . Its basic tail estimate is elementary: if , the summand decreases on , and after setting the integral is bounded by
The logarithm of the transformed integrand is convex, so the endpoint maximum bounds it. Partitioning the convolution pairs according to and gives an exhaustive head and remainder. The candidate's additional overshoot term is nonnegative padding.
The all- extension checks the derivatives of both cap endpoints and their logarithmic width. For a fixed left endpoint , the sufficient gates are
Once true at they persist as increases. The error caps use their own head cutoff, 3000, and are checked separately. The full height interval is handled by decreasing endpoint factors, and the whole rational time interval is evaluated with interval arithmetic.
The source review checks these implications against the candidate's tail lemma. Fresh C/Arb calculations at 256 and 512 bits give contraction and final normalized margin greater than . A separately implemented Python interval calculation corroborates the tail with a different arithmetic backend. Together with the finite region this supplies the second criterion input.
6. The complete closed barrier
The third criterion region is contained in
The rectangle is wider and lower than the required curved barrier. The Riemann–Siegel index is constantly 690988 on this entire closed box. The candidate represents the finite sum using a complex coefficient matrix. All 7,688 real components are regenerated, enclosed by Arb balls, and checked to fit the coefficient balls consumed by the barrier code. A separate factorial bound verifies the Taylor remainder below . The quadrature used to choose a matrix size is not a proof input: validity of the chosen size comes from this latter bound.
For each time prism, let be a lower bound for the sampled modulus, and the derivative upper bounds, the spatial mesh spacing, the time width, and the approximation allowance. The decisive inequality is
On each half of an edge, the true image and the endpoint chord lie in the same convex disk about the nearer endpoint. Its radius is bounded by the displayed allowances, so the homotopy avoids zero. The polygon's winding integer is therefore that of . The full winding ball lies inside , forcing that integer to be zero. Since has no zeros or poles in the rectangle, the argument principle proves nonvanishing inside as well as on the boundary.
The derivative bounds apply on complete closed prisms. The quadrature callbacks preserve their complex arguments and provide holomorphic enclosures; the discrete derivative sums use an exact head and a decreasing integral tail. The replay requires all 883 consecutive prisms to finish. An independent rational parser recomputes each inequality, checks all seams, and checks both closed endpoints.
The fresh replay completed all 883 prisms. The smallest independently recomputed margin exceeds , and all 7,688 regenerated coefficient components fit their serialization balls. The uniform approximation error is less than .
The positive-time restriction in the approximation theorem also needs attention. On this fixed compact rectangle the integrand defining is dominated, for , by , which is integrable by the super-exponential decay of . Hence is continuous at zero. The normalizer and its reciprocal are continuous and nonzero, and the constant integer index makes a fixed finite sum. Passing to the limit in the uniform positive-time error estimate proves the same estimate at zero. No limit uniform over unbounded is needed.
7. Reproduction and scope
CLAIM.md is the authoritative status and exact inequality.
run_all.sh checks the retained complete certificate with
one argument, a clean checkout of the pinned candidate. Supplying a new
output directory as a second argument rebuilds and reruns every numerical
lane sequentially. The certificate mode says explicitly that it checks
recorded interval computations. Neither mode accepts a successful prefix
of an incomplete finite range or time cover.
The original and Rust finite implementations share Arb. The error and tail have C/Arb and Python interval checks. The barrier has a fresh interval computation and an independent exact-rational interface check; it does not have a second complete implementation of its derivative enclosures. The analytic audit is source-level mathematical review by the named model. These are the actual independence boundaries of this computer-assisted argument.
All three criterion inputs are now certified. Exact substitution gives
This finite improvement leaves RH open.