AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0
Complex.canonicalProduct_ne_zero
PrimeNumberTheoremAnd.Mathlib.Analysis.Complex.CanonicalProduct · PrimeNumberTheoremAnd/Mathlib/Analysis/Complex/CanonicalProduct.lean:173 to 190
Source documentation
Away from the prescribed zero set Set.range a, the canonical product is nonzero.
Exact Lean statement
theorem canonicalProduct_ne_zero {m : ℕ} {a : ℕ → ℂ}
(h_sum : Summable (fun n : ℕ => ‖a n‖⁻¹ ^ (m + 1))) (h_nonzero : ∀ n, a n ≠ 0)
{z : ℂ} (hz : z ∉ Set.range a) :
canonicalProduct m a z ≠ 0Complete declaration
Lean source
Full Lean sourceLean 4
theorem canonicalProduct_ne_zero {m : ℕ} {a : ℕ → ℂ} (h_sum : Summable (fun n : ℕ => ‖a n‖⁻¹ ^ (m + 1))) (h_nonzero : ∀ n, a n ≠ 0) {z : ℂ} (hz : z ∉ Set.range a) : canonicalProduct m a z ≠ 0 := by let f : ℕ → ℂ := fun n ↦ weierstrassFactor m (z / a n) - 1 have hfn : ∀ n, 1 + f n ≠ 0 := by intro n have hza : z ≠ a n := by intro hza exact hz ⟨n, hza.symm⟩ simpa [f] using (weierstrassFactor_div_ne_zero_iff (m := m) (a := a n) (z := z) (h_nonzero n)).2 hza have hnormsumm : Summable (fun n : ℕ ↦ ‖weierstrassFactor m (z / a n) - 1‖) := summable_norm_weierstrassFactor_div_sub_one_of_summable_inv_pow (m := m) (a := a) h_sum h_nonzero z simpa [canonicalProduct, f] using (tprod_one_add_ne_zero_of_summable (f := f) hfn hnormsumm)