nevanlinna/Nevanlinna/stronglyMeromorphic.lean

70 lines
1.8 KiB
Plaintext
Raw Normal View History

2024-10-08 09:35:17 +02:00
import Mathlib.Analysis.Analytic.Meromorphic
import Nevanlinna.analyticAt
2024-10-08 15:39:19 +02:00
/- Strongly MeromorphicAt -/
2024-10-08 09:35:17 +02:00
def StronglyMeromorphicAt
(f : )
(z₀ : ) :=
2024-10-08 15:39:19 +02:00
(∀ᶠ (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))
2024-10-08 09:35:17 +02:00
2024-10-08 15:39:19 +02:00
/- Strongly MeromorphicAt is Meromorphic -/
theorem StronglyMeromorphicAt.meromorphicAt
{f : }
{z₀ : }
(hf : StronglyMeromorphicAt f z₀) :
MeromorphicAt f z₀ := by
rcases hf with h|h
· use 0; simp
rw [analyticAt_congr h]
exact analyticAt_const
· obtain ⟨n, g, h₁g, h₂g, h₃g⟩ := h
have : MeromorphicAt (fun z ↦ (z - z₀) ^ n • g z) z₀ := by
simp
apply MeromorphicAt.mul
apply MeromorphicAt.zpow
apply MeromorphicAt.sub
sorry
apply MeromorphicAt.congr this
rw [Filter.eventuallyEq_comm]
exact Filter.EventuallyEq.filter_mono h₃g nhdsWithin_le_nhds
/- Strongly MeromorphicAt of positive order is analytic -/
theorem StronglyMeromorphicAt.analytic
{f : }
{z₀ : }
(h₁f : StronglyMeromorphicAt f z₀)
(h₂f : 0 ≤ h₁f.meromorphicAt.order):
AnalyticAt f z₀ := by
sorry
/- Make strongly MeromorphicAt -/
def MeromorphicAt.makeStronglyMeromorphicAt
2024-10-08 09:35:17 +02:00
{f : }
{z₀ : }
(hf : MeromorphicAt f z₀) :
:= by
exact 0
2024-10-08 15:39:19 +02:00
theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
2024-10-08 09:35:17 +02:00
{f : }
{z₀ : }
(hf : MeromorphicAt f z₀) :
StronglyMeromorphicAt hf.makeStronglyMeromorphic z₀ := by
sorry
2024-10-08 15:39:19 +02:00
theorem makeStronglyMeromorphic_eventuallyEq
{f : }
{z₀ : }
(hf : MeromorphicAt f z₀) :
∀ᶠ (z : ) in nhdsWithin z₀ {z₀}ᶜ, f z = hf.makeStronglyMeromorphicAt z := by
sorry