Jensen-type bound: the number of zeros in is at most
ProvedZerosBoundLet , , and let be analytic on a neighbourhood of the closed unit disk with . Assume the zero set of in the closed unit disk, , is finite, and that for all .
Statement. The zeros of in the closed disk , counted with multiplicity, satisfy
where is the order of vanishing of at (Mathlib's analyticOrderNatAt), and the sum is over the (finite) set of zeros of of norm at most .
This is the classical Jensen-formula-style zero-counting bound: a growth bound on the slightly larger disk of radius controls the number of zeros in the disk of radius . In the module Zeta23.FromPNTPlus.StrongPNTPrefix it is a workhorse for the zero-counting side of the project: it feeds Zeta23.RvM.half_count_large and Zeta23.RvM.reZeroSet_card_le_of_growth in the Riemann–von Mangoldt counting arguments, and Zeta23.WeilEF.logDeriv_partial_fraction_disk and Zeta23.WeilEF.norm_logDeriv_Cf_le in the partial-fraction analysis of for the Weil explicit formula.
import Mathlib.Algebra.Lie.OfAssociative import Mathlib.Algebra.Order.BigOperators.GroupWithZero.Finset import Mathlib.Analysis.Analytic.Order import Mathlib.Analysis.CStarAlgebra.Classes import Mathlib.Analysis.Complex.BorelCaratheodory import Mathlib.Analysis.Complex.HasPrimitives import Mathlib.Analysis.Normed.Module.Connected import Mathlib.Data.Rat.Cast.OfScientific import Mathlib.Data.Real.StarOrdered import Mathlib.RingTheory.SimpleRing.Principal import Definitions.Def_Zeta23_FromPNTPlus_StrongPNTPrefix open Nat Filter Set Function Complex Real ComplexConjugate MeasureTheory open Classical
theorem ZerosBound {B r R : ℝ} {f : ℂ → ℂ}
(r_pos : 0 < r) (r_lt_one : r < 1) (r_lt_R : r < R) (R_lt_one : R < 1)
(hfAnalytic : AnalyticOnNhd ℂ f (Metric.closedBall (0 : ℂ) 1)) (hf0_eq_one : f 0 = 1)
(finiteZeros : (SetOfZeros 1 f).Finite) (fz_bound : ∀ z : ℂ, ‖z‖ ≤ R → ‖f z‖ ≤ B) :
∑ ρ ∈ (finiteSetOfZeros_mono r_lt_one finiteZeros).toFinset, analyticOrderNatAt f ρ ≤
1 / Real.log (R / r) * Real.log B := by sorry