Update stronglyMeromorphic.lean
This commit is contained in:
parent
e1b948ad2c
commit
d80894ea6f
|
@ -3,6 +3,9 @@ import Nevanlinna.analyticAt
|
||||||
import Nevanlinna.mathlibAddOn
|
import Nevanlinna.mathlibAddOn
|
||||||
|
|
||||||
|
|
||||||
|
open Topology
|
||||||
|
|
||||||
|
|
||||||
/- Strongly MeromorphicAt -/
|
/- Strongly MeromorphicAt -/
|
||||||
def StronglyMeromorphicAt
|
def StronglyMeromorphicAt
|
||||||
(f : ℂ → ℂ)
|
(f : ℂ → ℂ)
|
||||||
|
@ -108,22 +111,28 @@ lemma m₂
|
||||||
{f : ℂ → ℂ}
|
{f : ℂ → ℂ}
|
||||||
{z₀ : ℂ}
|
{z₀ : ℂ}
|
||||||
(hf : MeromorphicAt f z₀) :
|
(hf : MeromorphicAt f z₀) :
|
||||||
∀ᶠ (z : ℂ) in nhdsWithin z₀ {z₀}ᶜ, f z = hf.makeStronglyMeromorphicAt z := by
|
f =ᶠ[𝓝[≠] z₀] hf.makeStronglyMeromorphicAt := by
|
||||||
apply eventually_nhdsWithin_of_forall
|
apply eventually_nhdsWithin_of_forall
|
||||||
exact fun x a => m₁ hf x a
|
exact fun x a => m₁ hf x a
|
||||||
|
|
||||||
|
|
||||||
open Topology
|
|
||||||
|
|
||||||
lemma Mnhds
|
lemma Mnhds
|
||||||
{f g : ℂ → ℂ}
|
{f g : ℂ → ℂ}
|
||||||
{z₀ : ℂ}
|
{z₀ : ℂ}
|
||||||
(h₁ : ∀ᶠ (z : ℂ) in nhdsWithin z₀ {z₀}ᶜ, f z = g z)
|
(h₁ : f =ᶠ[𝓝[≠] z₀] g)
|
||||||
(h₂ : f z₀ = g z₀) :
|
(h₂ : f z₀ = g z₀) :
|
||||||
∀ᶠ (z : ℂ) in nhds z₀, f z = g z := by
|
f =ᶠ[𝓝 z₀] g := by
|
||||||
rw [eventually_nhds_iff]
|
apply eventually_nhds_iff.2
|
||||||
rw [eventually_nhdsWithin_iff] at h₁
|
obtain ⟨t, h₁t, h₂t⟩ := eventually_nhds_iff.1 (eventually_nhdsWithin_iff.1 h₁)
|
||||||
sorry
|
use t
|
||||||
|
constructor
|
||||||
|
· intro y hy
|
||||||
|
by_cases h₂y : y ∈ ({z₀}ᶜ : Set ℂ)
|
||||||
|
· exact h₁t y hy h₂y
|
||||||
|
· simp at h₂y
|
||||||
|
rwa [h₂y]
|
||||||
|
· exact h₂t
|
||||||
|
|
||||||
|
|
||||||
theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
|
theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
|
||||||
{f : ℂ → ℂ}
|
{f : ℂ → ℂ}
|
||||||
|
@ -132,51 +141,39 @@ theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
|
||||||
StronglyMeromorphicAt hf.makeStronglyMeromorphicAt z₀ := by
|
StronglyMeromorphicAt hf.makeStronglyMeromorphicAt z₀ := by
|
||||||
|
|
||||||
by_cases h₂f : hf.order = ⊤
|
by_cases h₂f : hf.order = ⊤
|
||||||
· rw [MeromorphicAt.order_eq_top_iff] at h₂f
|
· have : hf.makeStronglyMeromorphicAt =ᶠ[𝓝 z₀] 0 := by
|
||||||
let Z : ℂ → ℂ := fun z ↦ 0
|
|
||||||
have : hf.makeStronglyMeromorphicAt =ᶠ[𝓝 z₀] 0 := by
|
|
||||||
--unfold Filter.EventuallyEq
|
|
||||||
apply Mnhds
|
apply Mnhds
|
||||||
· apply eventually_nhdsWithin_of_forall
|
· apply Filter.EventuallyEq.trans (Filter.EventuallyEq.symm (m₂ hf))
|
||||||
intro x hx
|
exact (MeromorphicAt.order_eq_top_iff hf).1 h₂f
|
||||||
|
· unfold MeromorphicAt.makeStronglyMeromorphicAt
|
||||||
sorry
|
simp [h₂f]
|
||||||
|
|
||||||
|
|
||||||
sorry
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
apply AnalyticAt.stronglyMeromorphicAt
|
apply AnalyticAt.stronglyMeromorphicAt
|
||||||
rw [analyticAt_congr this]
|
rw [analyticAt_congr this]
|
||||||
apply analyticAt_const
|
apply analyticAt_const
|
||||||
|
· let n := hf.order.untop h₂f
|
||||||
|
have : hf.order = n := by
|
||||||
|
exact Eq.symm (WithTop.coe_untop hf.order h₂f)
|
||||||
|
rw [hf.order_eq_int_iff] at this
|
||||||
|
obtain ⟨g, h₁g, h₂g, h₃g⟩ := this
|
||||||
|
right
|
||||||
|
use n
|
||||||
|
use g
|
||||||
|
constructor
|
||||||
|
· assumption
|
||||||
|
· constructor
|
||||||
|
· assumption
|
||||||
|
· apply Mnhds
|
||||||
|
· apply Filter.EventuallyEq.trans (Filter.EventuallyEq.symm (m₂ hf))
|
||||||
|
exact h₃g
|
||||||
|
· unfold MeromorphicAt.makeStronglyMeromorphicAt
|
||||||
|
simp
|
||||||
|
by_cases h₃f : hf.order = 0
|
||||||
|
· simp [h₃f]
|
||||||
|
|
||||||
|
sorry
|
||||||
|
· simp [h₃f]
|
||||||
by_cases h₂f : hf.order = 0
|
left
|
||||||
· apply AnalyticAt.stronglyMeromorphicAt
|
apply zero_zpow n
|
||||||
|
dsimp [n]
|
||||||
let A := h₂f
|
rwa [WithTop.untop_eq_iff h₂f]
|
||||||
rw [(by rfl : (0 : WithTop ℤ) = (0 : ℤ)), hf.order_eq_int_iff] at A
|
|
||||||
simp at A
|
|
||||||
have : hf.makeStronglyMeromorphicAt = Classical.choose A := by
|
|
||||||
simp [MeromorphicAt.makeStronglyMeromorphicAt, h₂f]
|
|
||||||
let B := Classical.choose_spec A
|
|
||||||
|
|
||||||
rw [this]
|
|
||||||
tauto
|
|
||||||
· by_cases h₃f : hf.order = ⊤
|
|
||||||
· rw [MeromorphicAt.order_eq_top_iff] at h₃f
|
|
||||||
left
|
|
||||||
|
|
||||||
sorry
|
|
||||||
· sorry
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
theorem makeStronglyMeromorphic_eventuallyEq
|
|
||||||
{f : ℂ → ℂ}
|
|
||||||
{z₀ : ℂ}
|
|
||||||
(hf : MeromorphicAt f z₀) :
|
|
||||||
∀ᶠ (z : ℂ) in nhdsWithin z₀ {z₀}ᶜ, f z = hf.makeStronglyMeromorphicAt z := by
|
|
||||||
sorry
|
|
||||||
|
|
Loading…
Reference in New Issue