diff --git a/Nevanlinna/meromorphicOn_divisor.lean b/Nevanlinna/meromorphicOn_divisor.lean index 9429fa8..55e97f6 100644 --- a/Nevanlinna/meromorphicOn_divisor.lean +++ b/Nevanlinna/meromorphicOn_divisor.lean @@ -224,6 +224,55 @@ theorem MeromorphicOn.divisor_add_const₁ tauto +theorem MeromorphicOn.divisor_add_const₂ + {f : ℂ → ℂ} + {U : Set ℂ} + {z : ℂ} + (hf : MeromorphicOn f U) + (a : ℂ) : + hf.divisor z < 0 → (hf.add (MeromorphicOn.const a)).divisor z < 0 := by + intro h + + by_cases hz : z ∉ U + · have : hf.divisor z = 0 := by + unfold MeromorphicOn.divisor + simp [hz] + rw [this] at h + tauto + + simp at hz + unfold MeromorphicOn.divisor + simp [hz] + unfold MeromorphicOn.divisor at h + simp [hz] at h + + have : (hf z hz).order = (((hf.add (MeromorphicOn.const a))) z hz).order := by + have t₀ : (hf z hz).order < (0 : ℤ) := by + by_contra hCon + simp only [not_lt] at hCon + rw [←WithTop.le_untop'_iff (b := 0)] at hCon + exact Lean.Omega.Int.le_lt_asymm hCon h + tauto + rw [← MeromorphicAt.order_add_of_ne_orders (hf z hz) (MeromorphicAt.const a z)] + simp + + by_cases ha: (MeromorphicAt.const a z).order = ⊤ + · simp [ha] + · calc (hf z hz).order + _ ≤ 0 := by exact le_of_lt t₀ + _ ≤ (MeromorphicAt.const a z).order := by + apply AnalyticAt.meromorphicAt_order_nonneg + exact analyticAt_const + + apply ne_of_lt + calc (hf z hz).order + _ < 0 := by exact t₀ + _ ≤ (MeromorphicAt.const a z).order := by + apply AnalyticAt.meromorphicAt_order_nonneg + exact analyticAt_const + rwa [this] at h + + theorem MeromorphicOn.divisor_of_makeStronglyMeromorphicOn {f : ℂ → ℂ} {U : Set ℂ}