Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedlemma · leanprover/lean4:v4.32.0

Complex.Hadamard.weierstrassFactor_div_ne_zero_on_ball_of_val_ne

PrimeNumberTheoremAnd.Mathlib.Analysis.Complex.DivisorUnits · PrimeNumberTheoremAnd/Mathlib/Analysis/Complex/DivisorUnits.lean:38 to 60

Mathematical statement

Exact Lean statement

lemma weierstrassFactor_div_ne_zero_on_ball_of_val_ne
    (m : ℕ) {f : ℂ → ℂ} {z₀ : ℂ} {ε : ℝ}
    (hball : Metric.ball z₀ ε ∩ (MeromorphicOn.divisor f (Set.univ : Set ℂ)).support = {z₀})
    (p : divisorZeroIndex₀ f (Set.univ : Set ℂ)) (hp : divisorZeroIndex₀_val p ≠ z₀) :
    ∀ z ∈ Metric.ball z₀ ε, weierstrassFactor m (z / divisorZeroIndex₀_val p) ≠ 0

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma weierstrassFactor_div_ne_zero_on_ball_of_val_ne    (m : ) {f : ℂ  ℂ} {z₀ : ℂ} {ε : }    (hball : Metric.ball z₀ ε ∩ (MeromorphicOn.divisor f (Set.univ : Set ℂ)).support = {z₀})    (p : divisorZeroIndex₀ f (Set.univ : Set ℂ)) (hp : divisorZeroIndex₀_val p  z₀) :     z  Metric.ball z₀ ε, weierstrassFactor m (z / divisorZeroIndex₀_val p)  0 := by  intro z hzball h0  have hz_eq : z = divisorZeroIndex₀_val p := by    have hdiv1 : z / divisorZeroIndex₀_val p = 1 := by      simpa [weierstrassFactor_eq_zero_iff (m := m)] using h0    have ha : divisorZeroIndex₀_val p  0 := divisorZeroIndex₀_val_ne_zero p    exact (div_eq_one_iff_eq ha).1 hdiv1  have hz_support : z  (MeromorphicOn.divisor f (Set.univ : Set ℂ)).support := by    simp [hz_eq]  have hz0 : z = z₀ := by    have : z  Metric.ball z₀ ε ∩ (MeromorphicOn.divisor f (Set.univ : Set ℂ)).support :=      hzball, hz_support    simp [hball] at this    simpa using this  have : divisorZeroIndex₀_val p = z₀ := by    calc      divisorZeroIndex₀_val p = z := by simp [hz_eq]      _ = z₀ := hz0  exact hp this