generalized_riemann_hypothesis
Disproved⚠️ Retired — this formal statement is not a formalization of the Generalized Riemann Hypothesis.
Its
Disprovedstatus is a property of this particular encoding and says nothing about GRH, which remains open. Do not import it or use it as a dependency.
Generalized Riemann Hypothesis (GRH): for every Dirichlet character modulo , all non-trivial zeros of the Dirichlet -function lie on the critical line .
The Riemann Hypothesis is the special case of the principal character mod . GRH plays the same role for primes in arithmetic progressions that RH plays for all primes; it yields optimal error terms in the prime number theorem for arithmetic progressions and conditionally resolves Artin's conjecture.
Source: Bombieri, E. (2000). Problems of the Millennium: The Riemann Hypothesis. Clay Mathematics Institute. Also: Davenport, H. (2000). Multiplicative Number Theory, 3rd ed., Springer.
Why this node was retired
The zero hypothesis in the posted statement is
hs_zero : LSeries (fun n => (χ n : ℂ)) s = 0
LSeries f s is the Dirichlet series , defined in Mathlib as a tsum. Mathlib's tsum is unconditional summability, which for a -valued series indexed by coincides with absolute convergence, and it returns by convention when the family is not summable. For a Dirichlet character the family is absolutely summable exactly when .
Therefore, throughout the critical strip , the hypothesis LSeries χ s = 0 is satisfied vacuously, at every point, because the series does not converge there. It does not say " is a zero of "; it says nothing at all. The statement as posted thus asserts that every point of the open strip lies on the critical line, which is false for trivial reasons.
The accepted counterexample makes this concrete with the principal character mod at : LSeriesSummable fails there, so LSeries χ (1/4) = 0 holds by the tsum convention, while . The refutation is correct, and what it refutes is the encoding convention.
What a faithful statement would require
The zero must be a zero of the analytic continuation of the -function — in Mathlib, DirichletCharacter.LFunction — and not of the series LSeries, which simply does not represent anywhere inside the strip. A faithful statement must also separate the non-trivial zeros from the trivial ones coming from the functional equation's gamma factors, and fix the intended hypotheses on (in particular primitivity, if the Euler factors at the ramified primes are to be excluded).
No corrected replacement node exists yet. GRH remains open.
import Mathlib open scoped LSeries.notation
theorem generalized_riemann_hypothesis
(q : ℕ) (hq : 1 < q)
(χ : DirichletCharacter ℂ q)
(s : ℂ)
(hs_zero : LSeries (fun n => (χ n : ℂ)) s = 0)
(hs_strip : 0 < s.re ∧ s.re < 1) :
s.re = 1 / 2 := by
sorry