This commit is contained in:
Stefan Kebekus 2024-11-19 13:20:19 +01:00
parent 32f0bdf6e1
commit 513c122036
2 changed files with 114 additions and 12 deletions

View File

@ -15,6 +15,51 @@ def StronglyMeromorphicAt
(∀ᶠ (z : ) in nhds z₀, f z = 0) (∃ (n : ), ∃ g : , (AnalyticAt g z₀) ∧ (g z₀ ≠ 0) ∧ (∀ᶠ (z : ) in nhds z₀, f z = (z - z₀) ^ n • g z)) (∀ᶠ (z : ) in nhds z₀, f z = 0) (∃ (n : ), ∃ g : , (AnalyticAt g z₀) ∧ (g z₀ ≠ 0) ∧ (∀ᶠ (z : ) in nhds z₀, f z = (z - z₀) ^ n • g z))
lemma stronglyMeromorphicAt_of_mul_analytic'
{f g : }
{z₀ : }
(h₁g : AnalyticAt g z₀)
(h₂g : g z₀ ≠ 0) :
StronglyMeromorphicAt f z₀ → StronglyMeromorphicAt (f * g) z₀ := by
intro hf
--unfold StronglyMeromorphicAt at hf
rcases hf with h₁f|h₁f
· left
rw [eventually_nhds_iff] at h₁f
obtain ⟨t, ht⟩ := h₁f
rw [eventually_nhds_iff]
use t
constructor
· intro y hy
simp
left
exact ht.1 y hy
· exact ht.2
· right
obtain ⟨n, g_f, h₁g_f, h₂g_f, h₃g_f⟩ := h₁f
use n
use g * g_f
constructor
· apply AnalyticAt.mul
exact h₁g
exact h₁g_f
· constructor
· simp
exact ⟨h₂g, h₂g_f⟩
· rw [eventually_nhds_iff] at h₃g_f
obtain ⟨t, ht⟩ := h₃g_f
rw [eventually_nhds_iff]
use t
constructor
· intro y hy
simp
rw [ht.1]
simp
ring
exact hy
· exact ht.2
/- Strongly MeromorphicAt is Meromorphic -/ /- Strongly MeromorphicAt is Meromorphic -/
theorem StronglyMeromorphicAt.meromorphicAt theorem StronglyMeromorphicAt.meromorphicAt
@ -125,6 +170,35 @@ theorem stronglyMeromorphicAt_congr
assumption assumption
theorem stronglyMeromorphicAt_of_mul_analytic
{f g : }
{z₀ : }
(h₁g : AnalyticAt g z₀)
(h₂g : g z₀ ≠ 0) :
StronglyMeromorphicAt f z₀ ↔ StronglyMeromorphicAt (f * g) z₀ := by
constructor
· apply stronglyMeromorphicAt_of_mul_analytic' h₁g h₂g
· intro hprod
let g' := fun z ↦ (g z)⁻¹
have h₁g' := h₁g.inv h₂g
have h₂g' : g' z₀ ≠ 0 := by
exact inv_ne_zero h₂g
let B := stronglyMeromorphicAt_of_mul_analytic' h₁g' h₂g' (f := f * g) hprod
have : f =ᶠ[𝓝 z₀] f * g * fun x => (g x)⁻¹ := by
unfold Filter.EventuallyEq
apply Filter.eventually_iff_exists_mem.mpr
use g⁻¹' {0}ᶜ
constructor
· apply ContinuousAt.preimage_mem_nhds
exact AnalyticAt.continuousAt h₁g
exact compl_singleton_mem_nhds_iff.mpr h₂g
· intro y hy
simp at hy
simp [hy]
rwa [stronglyMeromorphicAt_congr this]
theorem StronglyMeromorphicAt.order_eq_zero_iff theorem StronglyMeromorphicAt.order_eq_zero_iff
{f : } {f : }
{z₀ : } {z₀ : }

View File

@ -14,10 +14,10 @@ theorem MeromorphicOn.decompose₁
{f : } {f : }
{U : Set } {U : Set }
{z₀ : } {z₀ : }
(hz₀ : z₀ ∈ U)
(h₁f : MeromorphicOn f U) (h₁f : MeromorphicOn f U)
(h₂f : StronglyMeromorphicAt f z₀) (h₂f : StronglyMeromorphicAt f z₀)
(h₃f : h₂f.meromorphicAt.order ≠ ) : (h₃f : h₂f.meromorphicAt.order ≠ )
(hz₀ : z₀ ∈ U) :
∃ g : , (MeromorphicOn g U) ∃ g : , (MeromorphicOn g U)
∧ (AnalyticAt g z₀) ∧ (AnalyticAt g z₀)
∧ (g z₀ ≠ 0) ∧ (g z₀ ≠ 0)
@ -146,14 +146,42 @@ theorem MeromorphicOn.decompose₁
theorem MeromorphicOn.decompose₂ theorem MeromorphicOn.decompose₂
{f : } {f : }
{U : Set } {U : Set }
{P : Finset } {P : Finset U}
(hP : P.toSet ⊆ U) (hf : StronglyMeromorphicOn f U) :
(h₁f : MeromorphicOn f U) (∀ p ∈ P, (hf p p.2).meromorphicAt.order ≠ ) →
(h₂f : ∀ hp : p ∈ P, StronglyMeromorphicAt f p) ∃ g : , (MeromorphicOn g U)
(h₃f : ∀ hp : p ∈ P, (h₂f hp).meromorphicAt.order ≠ ) : ∧ (∀ p : P, AnalyticAt g p)
∃ g : , (MeromorphicOn g U) ∧ (∀ p : P, g p ≠ 0)
∧ (∀ p ∈ P, AnalyticAt g p) ∧ (f = g * ∏ p : P, fun z ↦ (z - p.1.1) ^ (hf.meromorphicOn.divisor p.1.1)) := by
∧ (∀ p ∈ P, g p ≠ 0)
∧ (f = g * ∏ p ∈ P, fun z ↦ (z - p) ^ (h₁f.divisor p)) := by
sorry apply Finset.induction (p := fun (P : Finset U) ↦
(∀ p ∈ P, (hf p p.2).meromorphicAt.order ≠ ) →
∃ g : , (MeromorphicOn g U)
∧ (∀ p : P, AnalyticAt g p)
∧ (∀ p : P, g p ≠ 0)
∧ (f = g * ∏ p : P, fun z ↦ (z - p.1.1) ^ (hf.meromorphicOn.divisor p.1.1)))
-- case empty
simp
exact hf.meromorphicOn
-- case insert
intro u P hu iHyp
intro hOrder
obtain ⟨g₀, h₁g₀, h₂g₀, h₃g₀, h₄g₀⟩ := iHyp (fun p hp ↦ hOrder p (Finset.mem_insert_of_mem hp))
have h₅g₀ : StronglyMeromorphicAt g₀ u := by
sorry
have h₆g₀ : (h₁g₀ u u.2).order ≠ := by
sorry
obtain ⟨g, h₁g, h₂g, h₃g, h₄g⟩ := h₁g₀.decompose₁ h₅g₀ h₆g₀ u.2
use g
· constructor
· exact h₁g
· constructor
· sorry
· constructor
· sorry
· sorry