Explicit two-sided bound for under zero-freeness
ProvedQRHLittlewood.littlewood_two_sided_explicitLet and let be a primitive real Dirichlet character modulo such that for every complex with . Then
so that and .
Formalization Note is the principal complex logarithm; for a real character is a positive real number, so this is the real logarithm.
import Mathlib.NumberTheory.Harmonic.EulerMascheroni import Mathlib.NumberTheory.LSeries.DirichletContinuation open Real
namespace QRHLittlewood
theorem littlewood_two_sided_explicit (q : ℕ) [NeZero q] (hq : (10 : ℝ) ^ 100 ≤ q)
(χ : DirichletCharacter ℂ q) (hprim : χ.IsPrimitive) (hreal : ∀ a : ZMod q, (χ a).im = 0)
(hH : ∀ s : ℂ, 7 / 8 < s.re → DirichletCharacter.LFunction χ s ≠ 0) :
‖Complex.log (DirichletCharacter.LFunction χ 1)‖ ≤
Real.log (Real.log (Real.log q)) + 32914 / 10000 := by sorry
end QRHLittlewoodRead-back
What the Lean code literally says, in plain math · claude-opus-5-5
Statement. Let be a natural number with and . Let be a -valued Dirichlet character modulo such that
- is primitive (its conductor equals );
- is real-valued: for all ;
- for every complex with .
Then
where exactly, is the natural logarithm, and is the principal branch of the complex logarithm, with (and Mathlib's convention ). The absolute value is the complex modulus, so the left side equals .
Here is Mathlib's Dirichlet -function: the unique meromorphic continuation to all of of (built from Hurwitz zeta functions); it is a total function , and at a pole (only possible at for the trivial character) it returns a fixed finite junk value. "Primitive" means the conductor of (the least through which factors) equals . "Real-valued" means for every residue class , including non-units (where anyway).
Edge cases.
- For , , so the right side is a positive, genuine value.
- As in the companion statements, plus primitivity excludes the trivial character, so is primitive quadratic and is a genuine value; the statement is vacuous for moduli with no primitive real character. Hypothesis 3 is a conditional zero-free half-plane assumption for this .
- The bound is two-sided in : it gives both and with . It also bounds the argument: if were a negative real number, the left side would include the term under the square root. The statement does not itself assert that is positive or real.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.