Update stronglyMeromorphic.lean

This commit is contained in:
Stefan Kebekus 2024-10-23 13:03:41 +02:00
parent e1b948ad2c
commit d80894ea6f
1 changed files with 47 additions and 50 deletions

View File

@ -3,6 +3,9 @@ import Nevanlinna.analyticAt
import Nevanlinna.mathlibAddOn
open Topology
/- Strongly MeromorphicAt -/
def StronglyMeromorphicAt
(f : )
@ -108,22 +111,28 @@ lemma m₂
{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
exact fun x a => m₁ hf x a
open Topology
lemma Mnhds
{f g : }
{z₀ : }
(h₁ : ∀ᶠ (z : ) in nhdsWithin z₀ {z₀}ᶜ, f z = g z)
(h₁ : f =ᶠ[𝓝[≠] z₀] g)
(h₂ : f z₀ = g z₀) :
∀ᶠ (z : ) in nhds z₀, f z = g z := by
rw [eventually_nhds_iff]
rw [eventually_nhdsWithin_iff] at h₁
sorry
f =ᶠ[𝓝 z₀] g := by
apply eventually_nhds_iff.2
obtain ⟨t, h₁t, h₂t⟩ := eventually_nhds_iff.1 (eventually_nhdsWithin_iff.1 h₁)
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
{f : }
@ -132,51 +141,39 @@ theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
StronglyMeromorphicAt hf.makeStronglyMeromorphicAt z₀ := by
by_cases h₂f : hf.order =
· rw [MeromorphicAt.order_eq_top_iff] at h₂f
let Z : := fun z ↦ 0
have : hf.makeStronglyMeromorphicAt =ᶠ[𝓝 z₀] 0 := by
--unfold Filter.EventuallyEq
· have : hf.makeStronglyMeromorphicAt =ᶠ[𝓝 z₀] 0 := by
apply Mnhds
· apply eventually_nhdsWithin_of_forall
intro x hx
sorry
sorry
· apply Filter.EventuallyEq.trans (Filter.EventuallyEq.symm (m₂ hf))
exact (MeromorphicAt.order_eq_top_iff hf).1 h₂f
· unfold MeromorphicAt.makeStronglyMeromorphicAt
simp [h₂f]
apply AnalyticAt.stronglyMeromorphicAt
rw [analyticAt_congr this]
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]
by_cases h₂f : hf.order = 0
· apply AnalyticAt.stronglyMeromorphicAt
let A := 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
sorry
· simp [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
apply zero_zpow n
dsimp [n]
rwa [WithTop.untop_eq_iff h₂f]