Siegel's theorem, second form: no real zero of in (Davenport §21)
ProvedDavenport.siegel_zeroSiegel's theorem, second form (Davenport §21): for any there exists such that, if is a real primitive character to the modulus , then
equivalently, any real zero of satisfies . Formally, for every there is such that for all , all quadratic non-principal primitive mod and all real , . The constant is ineffective. This is the form used in §22 to absorb the exceptional term of the §20 estimate.
import Definitions.Def_Davenport_siegelWalfisz import Mathlib.NumberTheory.LSeries.DirichletContinuation import Mathlib.NumberTheory.DirichletCharacter.Basic import Mathlib.NumberTheory.ArithmeticFunction.VonMangoldt import Mathlib.NumberTheory.Chebyshev import Mathlib.Analysis.SpecialFunctions.Pow.Real import Mathlib.Analysis.SpecialFunctions.Pow.Complex import Mathlib.Analysis.SpecialFunctions.Log.Basic import Mathlib.Analysis.SpecialFunctions.Exp import Mathlib.Analysis.SpecialFunctions.Sqrt import Mathlib.Algebra.BigOperators.Finprod import Mathlib.Data.Nat.Totient open Finset DirichletCharacter Vino
namespace Davenport
theorem siegel_zero (ε : ℝ) (hε : 0 < ε) :
∃ C : ℝ, 0 < C ∧
∀ (q : ℕ) [NeZero q] (χ : DirichletCharacter ℂ q),
χ.IsQuadratic → χ ≠ 1 → χ.IsPrimitive →
∀ σ : ℝ, 1 - C * (q : ℝ) ^ (-ε) < σ →
DirichletCharacter.LFunction χ (σ : ℂ) ≠ 0 := by sorry
end DavenportRead-back
What the Lean code literally says, in plain math · claude-opus-4-8
Read-back: Davenport.siegel_zero
Statement. Let be a real number, and assume . The theorem asserts that there exists a real number such that both of the following hold: , and for every natural number that is nonzero (the typeclass hypothesis NeZero q, i.e. ) and every Dirichlet character modulo with values in — that is, a multiplicative character on taking complex values, extended by on the non-units — if
- is quadratic (every value of is , or ), and
- is not the trivial (principal) character modulo , and
- is primitive (its conductor equals ),
then for every real number satisfying the strict inequality
(here is the real power , which for lies in ), one has
where denotes Mathlib's analytically continued Dirichlet -function of and is regarded as the complex number . The inequality is an inequality of complex numbers.
Quantifier order. The three quantifier layers are, in order: (with ) is fixed first; then is produced, depending only on ; then , and are all universally quantified after . So the single constant must work simultaneously for every modulus , every quadratic non-trivial primitive character mod , and every real in the stated range. The constant is asserted only to exist; no formula, bound, or computability for it is claimed, and no relationship between and is stated beyond . The three character hypotheses are stated as a chain of implications (quadratic, then non-trivial, then primitive) and are all required together.
What the region of includes. The constraint on is a lower bound only; there is no upper bound. In particular the conclusion is asserted for:
- (nonvanishing of is part of the claim, since whenever and );
- every , including arbitrarily large ;
- if the witness happens to satisfy , then for those with the threshold is , so the range of sweeps down through and into negative reals for those moduli; if instead , the threshold is always for all , and no non-positive is covered.
What is not claimed. ranges only over real numbers; the statement says nothing about zeros of at complex with nonzero imaginary part, and nothing about characters that are non-quadratic, imprimitive, or trivial, nor about . It does not assert that at most one exceptional character/zero exists, nor any quantitative lower bound on — only non-vanishing.
Degenerate cases. The hypotheses on are unsatisfiable for some moduli, making the inner claim vacuous there: for and the unit group of is trivial, so the only Dirichlet character mod is the trivial one and the hypothesis fails; more generally, for any admitting no primitive quadratic character (e.g. ) the hypotheses are never met. The hypotheses are satisfiable for other moduli (e.g. the quadratic character mod ), so the statement is not vacuous overall. Note also that is an arbitrary positive real with no upper restriction: for large the factor is small and the asserted region is a thin strip to the right of , while for small the region is wider; the theorem asserts the existence of a suitable separately for each such .
Definitions from the bundle. None of the auxiliary definitions carried by the imported dependency files — over an arithmetic progression, the region boundary , membership in that region, the notion of an exceptional set, the Gauss sum, or the von Mangoldt character sum — appear anywhere in this statement. The only non-Mathlib-primitive notions used are IsQuadratic, IsPrimitive, and the analytically continued LFunction, all from Mathlib.
Proof status. The declaration's proof is sorry; no proof is supplied.
Confirmed by the mission captain (proposal self-audit).