Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Trudgian's explicit Riemann–von Mangoldt upper bound for N(T)N(T)N(T)

Open
TaoFivePrimes.trudgian_zero_count_upper

by Gabewhigham · Sep 30, 2026 · Mathlib 0df444a (Lean v4.33.1)

explicit-boundsnumber-theoryriemann-zetatao-five-primeszero-counting

Explicit Riemann–von Mangoldt formula (upper bound). For T>0T>0T>0 let N(T)N(T)N(T) denote the number of zeros ρ=β+iγ\rho=\beta+i\gammaρ=β+iγ of the Riemann zeta function with 0<β<10<\beta<10<β<1 and 0<γ≤T0<\gamma\le T0<γ≤T, counted with multiplicity. Then for every T≥eT\ge eT≥e,

N(T)  ≤  T2πlog⁡T2πe+78+0.112log⁡T+0.278log⁡log⁡T+2.51+0.2T.N(T)\;\le\;\frac{T}{2\pi}\log\frac{T}{2\pi e}+\frac78+0.112\log T+0.278\log\log T+2.51+\frac{0.2}{T}.N(T)≤2πT​log2πeT​+87​+0.112logT+0.278loglogT+2.51+T0.2​.

This is the upper half of Trudgian's explicit form ∣N(T)−T2πlog⁡T2πe−78∣≤0.112log⁡T+0.278log⁡log⁡T+2.510+0.2/T\bigl|N(T)-\frac{T}{2\pi}\log\frac{T}{2\pi e}-\frac78\bigr|\le 0.112\log T+0.278\log\log T+2.510+0.2/T​N(T)−2πT​log2πeT​−87​​≤0.112logT+0.278loglogT+2.510+0.2/T of the Riemann–von Mangoldt formula. Evaluated at T0=3.29×109T_0=3.29\times10^9T0​=3.29×109 it gives N(T0)<1010N(T_0)<10^{10}N(T0​)<1010, which is the zero count in Theorem 1.5 of Tao's paper; it is also the kind of bound needed for N(T0)N(T_0)N(T0​) in Tao's Proposition 7.2.

Formalization Note N(T)N(T)N(T) is the finite sum of analyticOrderNatAt riemannZeta s over the zeros sss in the region; at each such zero ζ\zetaζ is analytic and not locally zero, so this is the multiplicity. Zeros with ordinate exactly TTT are counted with full weight; since the right-hand side is continuous in TTT and NNN is right-continuous, this follows from the source bound whatever convention is used at ordinates.

Preamble
import Mathlib
Formal statement
namespace TaoFivePrimes

theorem trudgian_zero_count_upper (T : ℝ) (hT : Real.exp 1 ≤ T) :
    (∑ᶠ s ∈ {s : ℂ | 0 < s.re ∧ s.re < 1 ∧ 0 < s.im ∧ s.im ≤ T ∧ riemannZeta s = 0},
        (analyticOrderNatAt riemannZeta s : ℝ)) ≤
      T / (2 * Real.pi) * Real.log (T / (2 * Real.pi * Real.exp 1)) + 7 / 8
        + 0.112 * Real.log T + 0.278 * Real.log (Real.log T) + 2.51 + 0.2 / T := by
  sorry

end TaoFivePrimes
Source
T. Trudgian, An improved upper bound for the argument of the Riemann zeta-function on the critical line II, Journal of Number Theory 134 (2014), 280-292, Corollary 1 (explicit bound for N(T), valid for T >= e); used for the zero count in Theorem 1.5 (p. 7) of T. Tao, https://arxiv.org/abs/1201.6656.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me