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))
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 -/
theorem StronglyMeromorphicAt.meromorphicAt
@@ -125,6 +170,35 @@ theorem stronglyMeromorphicAt_congr
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
{f : }
{z₀ : }

View File

@@ -14,10 +14,10 @@ theorem MeromorphicOn.decompose₁
{f : }
{U : Set }
{z₀ : }
(hz₀ : z₀ U)
(h₁f : MeromorphicOn f U)
(h₂f : StronglyMeromorphicAt f z₀)
(h₃f : h₂f.meromorphicAt.order ) :
(h₃f : h₂f.meromorphicAt.order )
(hz₀ : z₀ U) :
g : , (MeromorphicOn g U)
(AnalyticAt g z₀)
(g z₀ 0)
@@ -146,14 +146,42 @@ theorem MeromorphicOn.decompose₁
theorem MeromorphicOn.decompose₂
{f : }
{U : Set }
{P : Finset }
(hP : P.toSet U)
(hf : MeromorphicOn f U)
(h₂f : hp : p P, StronglyMeromorphicAt f p)
(h₃f : hp : p P, (h₂f hp).meromorphicAt.order ) :
g : , (MeromorphicOn g U)
( p P, AnalyticAt g p)
( p P, g p 0)
(f = g * p P, fun z (z - p) ^ (h₁f.divisor p)) := by
{P : Finset U}
(hf : StronglyMeromorphicOn f 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)) := 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