Numerical verification of the Riemann hypothesis up to height 3.29 * 10^9
OpenTaoFivePrimes.riemann_verifiedWith , every zero of the Riemann zeta function in the strip lies on the critical line , and there are at most such zeroes.
This is Theorem 1.5 of Tao's paper, obtained independently by van de Lune, Wedeniwski, Gourdon and Platt. Tao deliberately uses the conservative value , verified by four independent computations, rather than the larger heights available.
Finiteness is asserted explicitly and is not redundant. In Lean, Set.ncard evaluates to on an infinite set, so the cardinality bound ncard ≤ 10 ^ 10 alone would hold vacuously for an infinite zero set. The conjunction with Set.Finite is what makes the count meaningful.
Like Theorem 1.6, this is a quoted large-scale computation, included for graph fidelity.
import Mathlib
namespace TaoFivePrimes
theorem riemann_verified :
(∀ s : ℂ, riemannZeta s = 0 → 0 < s.re → s.re < 1 → 0 ≤ s.im →
s.im ≤ 3.29 * 10 ^ 9 → s.re = 1 / 2) ∧
{s : ℂ | riemannZeta s = 0 ∧ 0 < s.re ∧ s.re < 1 ∧ 0 ≤ s.im ∧
s.im ≤ 3.29 * 10 ^ 9}.Finite ∧
{s : ℂ | riemannZeta s = 0 ∧ 0 < s.re ∧ s.re < 1 ∧ 0 ≤ s.im ∧
s.im ≤ 3.29 * 10 ^ 9}.ncard ≤ 10 ^ 10 := by
sorry
end TaoFivePrimesRead-back
What the Lean code literally says, in plain math · claude-opus-5
The declaration asserts a single three-part conjunction about the Riemann zeta function — specifically Mathlib's total function , which agrees with where that series converges and is its analytic continuation elsewhere. Throughout, ranges over complex numbers, and are its real and imaginary parts, and the height bound is the exact real number . Define the region
and the zero set
The same set is written out verbatim in both of the last two conjuncts, and the hypotheses of the first conjunct are exactly its defining conditions, so all three parts speak about one and the same collection of points.
First conjunct. For every complex number : if , and , and , and , and , then — an exact equality of real numbers, with the real number one half. Equivalently, every element of lies on the line . The strip inequalities are strict on both sides, so nothing is claimed about possible zeros with or ; the imaginary-part bounds are non-strict on both sides, so the segment (i.e. real with ) and the horizontal line are both included. Nothing whatsoever is asserted about zeros with , nor about zeros of any height above ; the statement is not symmetrized to the lower half-plane. This conjunct is a conditional: if happened to be empty it would hold vacuously.
Second conjunct. The set is finite (it can be put in bijection with an initial segment of the natural numbers). No lower bound on its size is claimed, and it is not asserted to be nonempty; the empty set satisfies this.
Third conjunct. The natural-number cardinality of satisfies
Here is Set.ncard, i.e. of the coercion of to a type: it returns the number of elements when the set is finite, and returns the junk value when the set is infinite. Consequently this third conjunct, taken on its own, would be satisfied automatically by an infinite (its value would then be ); it is the second conjunct that rules out that reading and makes the bound a genuine count. Because is a set of complex numbers, this counts distinct zeros only — zeros are not weighted by multiplicity, and a multiple zero contributes exactly one to the count. The count is an upper bound only: no lower bound is given, no exact value is claimed, and the numbers and are unrelated constants within the statement, with no asserted relationship between the height cutoff and the number of zeros below it.
The three parts are joined by conjunction, so the declaration asserts all of them simultaneously: every zero of in the closed-in-imaginary-part, open-in-real-part box has real part exactly ; there are finitely many such zeros; and there are at most of them. No statement is made about the location of zeros outside , about the trivial zeros, about the pole of at (which lies outside since is strict), or about any zero being simple.
Confirmed by the mission captain (proposal self-audit).