Update holomorphic_zero.lean

This commit is contained in:
Stefan Kebekus 2024-08-16 17:12:36 +02:00
parent 9d4657fb81
commit d0cd033d5c
1 changed files with 31 additions and 4 deletions

View File

@ -6,10 +6,9 @@ noncomputable def zeroDivisor
(f : ) : (f : ) :
:= by := by
intro z intro z
if hf : AnalyticAt f z then by_cases hf : AnalyticAt f z
exact hf.order.toNat · exact hf.order.toNat
else · exact 0
exact 0
theorem analyticAtZeroDivisorSupport theorem analyticAtZeroDivisorSupport
@ -17,6 +16,7 @@ theorem analyticAtZeroDivisorSupport
{z : } {z : }
(h : z ∈ Function.support (zeroDivisor f)) : (h : z ∈ Function.support (zeroDivisor f)) :
AnalyticAt f z := by AnalyticAt f z := by
by_contra h₁f by_contra h₁f
simp at h simp at h
dsimp [zeroDivisor] at h dsimp [zeroDivisor] at h
@ -28,6 +28,7 @@ theorem zeroDivisor_eq_ord_AtZeroDivisorSupport
{z : } {z : }
(h : z ∈ Function.support (zeroDivisor f)) : (h : z ∈ Function.support (zeroDivisor f)) :
zeroDivisor f z = (analyticAtZeroDivisorSupport h).order.toNat := by zeroDivisor f z = (analyticAtZeroDivisorSupport h).order.toNat := by
unfold zeroDivisor unfold zeroDivisor
simp [analyticAtZeroDivisorSupport h] simp [analyticAtZeroDivisorSupport h]
@ -88,6 +89,32 @@ theorem zeroDivisor_zeroSet
exact h exact h
theorem zeroDivisor_support_iff
{f : }
{z₀ : } :
z₀ ∈ Function.support (zeroDivisor f) ↔
f z₀ = 0 ∧
AnalyticAt f z₀ ∧
∃ (g : ), AnalyticAt g z₀ ∧ g z₀ ≠ 0 ∧ ∀ᶠ (z : ) in nhds z₀, f z = (z - z₀) ^ (zeroDivisor f z₀) • g z := by
constructor
· intro hz
constructor
· exact zeroDivisor_zeroSet hz
· constructor
· exact analyticAtZeroDivisorSupport hz
· exact zeroDivisor_localDescription hz
· intro ⟨h₁, h₂, h₃⟩
have : zeroDivisor f z₀ = (h₂.order).toNat := by
unfold zeroDivisor
simp [h₂]
simp [this]
simp [(h₂.order_eq_nat_iff (zeroDivisor f z₀)).2 h₃]
obtain ⟨g, h₁g, h₂g, h₃g⟩ := h₃
rw [Filter.Eventually.self_of_nhds h₃g] at h₁
simp [h₂g] at h₁
assumption
theorem discreteZeros theorem discreteZeros
{f : } : {f : } :
DiscreteTopology (Function.support (zeroDivisor f)) := by DiscreteTopology (Function.support (zeroDivisor f)) := by