Working…

This commit is contained in:
Stefan Kebekus
2024-10-30 16:53:32 +01:00
parent a6defe8296
commit 279dcd32b9
2 changed files with 104 additions and 1 deletions

View File

@@ -84,6 +84,44 @@ theorem AnalyticAt.stronglyMeromorphicAt
tauto
/- Strong meromorphic depends only on germ -/
theorem stronglyMeromorphicAt_congr
{f g : }
{z₀ : }
(hfg : f =[𝓝 z₀] g) :
StronglyMeromorphicAt f z₀ StronglyMeromorphicAt g z₀ := by
unfold StronglyMeromorphicAt
constructor
· intro h
rcases h with h|h
· left
exact Filter.EventuallyEq.rw h (fun x => Eq (g x)) (id (Filter.EventuallyEq.symm hfg))
· obtain n, h, h₁h, h₂h, h₃h := h
right
use n
use h
constructor
· assumption
· constructor
· assumption
· apply Filter.EventuallyEq.trans hfg.symm
assumption
· intro h
rcases h with h|h
· left
exact Filter.EventuallyEq.rw h (fun x => Eq (f x)) hfg
· obtain n, h, h₁h, h₂h, h₃h := h
right
use n
use h
constructor
· assumption
· constructor
· assumption
· apply Filter.EventuallyEq.trans hfg
assumption
/- Make strongly MeromorphicAt -/
noncomputable def MeromorphicAt.makeStronglyMeromorphicAt
{f : }

View File

@@ -45,6 +45,32 @@ theorem AnalyticOn.stronglyMeromorphicOn
exact h₁f z hz
/- Strongly meromorphic functions on compact, preconnected sets are quotients of analytic functions -/
theorem StronglyMeromorphicOn_finite
{f : }
{U : Set }
(h₁U : IsCompact U)
(h₂U : IsPreconnected U)
(h₁f : StronglyMeromorphicOn f U)
(h₂f : z U, f z 0) :
Set.Finite {z U | f z = 0} := by
sorry
/- Strongly meromorphic functions on compact, preconnected sets are quotients of analytic functions -/
theorem StronglyMeromorphicOn_quotient
{f : }
{U : Set }
(h₁U : IsCompact U)
(h₂U : IsPreconnected U)
(h₁f : StronglyMeromorphicOn f U)
(h₂f : z U, f z 0) :
a b : , (AnalyticOnNhd a U) (AnalyticOnNhd b U) ( z U, a z 0 b z 0) f = a / b := by
sorry
/- Make strongly MeromorphicAt -/
noncomputable def MeromorphicOn.makeStronglyMeromorphicOn
{f : }
@@ -57,9 +83,48 @@ noncomputable def MeromorphicOn.makeStronglyMeromorphicOn
· exact f z
theorem makeStronglyMeromorphicOn_changeDiscrete
{f : }
{U : Set }
{z₀ : }
(hf : MeromorphicOn f U)
(hz₀ : z₀ U) :
hf.makeStronglyMeromorphicOn =[𝓝[] z₀] f := by
apply Filter.eventually_iff_exists_mem.2
let A := (hf z₀ hz₀).eventually_analyticAt
obtain V, h₁V, h₂V := Filter.eventually_iff_exists_mem.1 A
use V
constructor
· assumption
· intro v hv
unfold MeromorphicOn.makeStronglyMeromorphicOn
by_cases h₂v : v U
· simp [h₂v]
rw [ makeStronglyMeromorphic_id]
exact AnalyticAt.stronglyMeromorphicAt (h₂V v hv)
· simp [h₂v]
theorem makeStronglyMeromorphicOn_changeDiscrete'
{f : }
{U : Set }
{z₀ : }
(hf : MeromorphicOn f U)
(hz₀ : z₀ U) :
hf.makeStronglyMeromorphicOn =[𝓝 z₀] (hf z₀ hz₀).makeStronglyMeromorphicAt := by
apply Mnhds
let A := makeStronglyMeromorphicOn_changeDiscrete hf hz₀
apply Filter.EventuallyEq.trans A
exact m₂ (hf z₀ hz₀)
unfold MeromorphicOn.makeStronglyMeromorphicOn
simp [hz₀]
theorem StronglyMeromorphicOn_of_makeStronglyMeromorphicOn
{f : }
{U : Set }
(hf : MeromorphicOn f U) :
StronglyMeromorphicOn hf.makeStronglyMeromorphicOn U := by
sorry
intro z₀ hz₀
rw [stronglyMeromorphicAt_congr (makeStronglyMeromorphicOn_changeDiscrete' hf hz₀)]
exact StronglyMeromorphicAt_of_makeStronglyMeromorphic (hf z₀ hz₀)