working…

This commit is contained in:
Stefan Kebekus 2024-11-19 11:31:24 +01:00
parent 69b9ad6d3b
commit 81f1c6ae94
3 changed files with 53 additions and 83 deletions

View File

@ -289,7 +289,7 @@ theorem StronglyMeromorphicAt_of_makeStronglyMeromorphic
rwa [WithTop.untop_eq_iff h₂f] rwa [WithTop.untop_eq_iff h₂f]
theorem makeStronglyMeromorphic_id theorem StronglyMeromorphicAt.makeStronglyMeromorphic_id
{f : } {f : }
{z₀ : } {z₀ : }
(hf : StronglyMeromorphicAt f z₀) : (hf : StronglyMeromorphicAt f z₀) :

View File

@ -74,7 +74,7 @@ theorem makeStronglyMeromorphicOn_changeDiscrete
unfold MeromorphicOn.makeStronglyMeromorphicOn unfold MeromorphicOn.makeStronglyMeromorphicOn
by_cases h₂v : v ∈ U by_cases h₂v : v ∈ U
· simp [h₂v] · simp [h₂v]
rw [← makeStronglyMeromorphic_id] rw [← StronglyMeromorphicAt.makeStronglyMeromorphic_id]
exact AnalyticAt.stronglyMeromorphicAt (h₂V v hv) exact AnalyticAt.stronglyMeromorphicAt (h₂V v hv)
· simp [h₂v] · simp [h₂v]

View File

@ -92,90 +92,60 @@ theorem MeromorphicOn.decompose₁
· constructor · constructor
· exact isOpen_compl_singleton · exact isOpen_compl_singleton
· exact h₁z · exact h₁z
have h₃g : (h₁g z₀ hz₀).order = 0 := by
unfold g
let B := m₂ (h₁g₁ z₀ hz₀)
let A := (h₁g₁ z₀ hz₀).order_congr B
rw [← A]
rw [h₂g₁]
have h₄g : AnalyticAt g z₀ := by
apply h₂g.analytic
rw [h₃g]
use g use g
constructor constructor
· exact h₁g · exact h₁g
· constructor · constructor
· apply h₂g.analytic
sorry
· constructor
· sorry
· sorry
theorem MeromorphicOn.decompose
{f : }
{U : Set }
(h₁U : IsConnected U)
(h₂U : IsCompact U)
(h₁f : MeromorphicOn f U)
(h₂f : ∃ z₀ ∈ U, f z₀ ≠ 0) :
∃ g : , (AnalyticOnNhd g U)
∧ (∀ z ∈ U, g z ≠ 0)
∧ (Set.EqOn h₁f.makeStronglyMeromorphicOn ((∏ᶠ p, fun z ↦ (z - p) ^ (h₁f.divisor p)) * g) U) := by
let g₁ : := f * (fun z ↦ ∏ᶠ p, (z - p) ^ (h₁f.divisor p))
have h₁g₁ : MeromorphicOn g₁ U := by
sorry
let g := h₁g₁.makeStronglyMeromorphicOn
have h₁g : MeromorphicOn g U := by
sorry
have h₂g : ∀ z : U, (h₁g z.1 z.2).order = 0 := by
sorry
have h₃g : StronglyMeromorphicOn g U := by
sorry
have h₄g : AnalyticOnNhd g U := by
intro z hz
apply StronglyMeromorphicAt.analytic (h₃g z hz)
rw [h₂g ⟨z, hz⟩]
use g
constructor
· exact h₄g · exact h₄g
· constructor · constructor
· intro z hz · exact (h₂g.order_eq_zero_iff).mp h₃g
rw [← (h₄g z hz).order_eq_zero_iff] · funext z
have A := (h₄g z hz).meromorphicAt_order by_cases hz : z = z₀
rw [h₂g ⟨z, hz⟩] at A · rw [hz]
have t₀ : (h₄g z hz).order ≠ := by simp
by_contra hC by_cases h : h₁f.divisor z₀ = 0
rw [hC] at A · simp [h]
tauto have h₂h₁ : h₁ = 1 := by
have t₁ : ∃ n : , (h₄g z hz).order = n := by funext w
exact Option.ne_none_iff_exists'.mp t₀ unfold h₁
obtain ⟨n, hn⟩ := t₁ simp [h]
rw [hn] at A have h₃g₁ : g₁ = f := by
apply WithTopCoe unfold g₁
rw [eq_comm] rw [h₂h₁]
rw [hn] simp
exact A have h₄g₁ : StronglyMeromorphicAt g₁ z₀ := by
· intro z hz rwa [h₃g₁]
have t₀ : ∀ᶠ x in 𝓝[≠] z, AnalyticAt f x := by let A := h₄g₁.makeStronglyMeromorphic_id
sorry unfold g
have t₂ : ∀ᶠ x in 𝓝[≠] z, h₁f.divisor z = 0 := by rw [← A, h₃g₁]
sorry · have : (0 : ) ^ h₁f.divisor z₀ = (0 : ) := by
have t₁ : ∀ᶠ x in 𝓝[≠] z, AnalyticAt (fun z => ∏ᶠ (p : ), (z - p) ^ h₁f.divisor p * g z) x := by exact zero_zpow (h₁f.divisor z₀) h
sorry rw [this]
apply Filter.EventuallyEq.eq_of_nhds simp
apply StronglyMeromorphicAt.localIdentity let A := h₂f.order_eq_zero_iff.not
· exact StronglyMeromorphicOn_of_makeStronglyMeromorphic h₁f z hz simp at A
· right rw [← A]
use h₁f.divisor z unfold MeromorphicOn.divisor at h
use (∏ᶠ p : ({z}ᶜ : Set ), (fun x ↦ (x - p.1) ^ h₁f.divisor p.1)) * g simp [hz₀] at h
constructor exact h.1
· apply AnalyticAt.mul₁ · simp
· apply analyticAt_finprod let B := m₁ (h₁g₁ z₀ hz₀) z hz
intro w unfold g
rw [← B]
unfold g₁ h₁
sorry simp [hz]
· apply (h₃g z hz).analytic rw [mul_assoc]
rw [h₂g ⟨z, hz⟩] rw [inv_mul_cancel₀]
· constructor simp
· sorry apply zpow_ne_zero
· sorry rwa [sub_ne_zero]
sorry