Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedlemma · leanprover/lean4:v4.32.0

Kadiri.meromorphicOrderAt_eq_neg_one_of_sub_principal_isBigO_one

PrimeNumberTheoremAnd.IEANTN.KadiriEq12Foundations · PrimeNumberTheoremAnd/IEANTN/KadiriEq12Foundations.lean:598 to 631

Mathematical statement

Exact Lean statement

lemma meromorphicOrderAt_eq_neg_one_of_sub_principal_isBigO_one
    {f : ℂ → ℂ} {p c : ℂ}
    (hf : MeromorphicAt f p) (hc : c ≠ 0)
    (h : (f - fun z : ℂ => c / (z - p)) =O[𝓝[≠] p] (1 : ℂ → ℂ)) :
    meromorphicOrderAt f p = (-1 : ℤ)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma meromorphicOrderAt_eq_neg_one_of_sub_principal_isBigO_one    {f : ℂ  ℂ} {p c : ℂ}    (hf : MeromorphicAt f p) (hc : c  0)    (h : (f - fun z : ℂ => c / (z - p)) =O[𝓝[] p] (1 : ℂ  ℂ)) :    meromorphicOrderAt f p = (-1 : ) := by  let principal : ℂ := fun z => c / (z - p)  let rem : ℂ := f - principal  have hconst_mero : MeromorphicAt (fun _ : ℂ => c) p := MeromorphicAt.const c p  have hlin_mero : MeromorphicAt (fun z : ℂ => z - p) p := by fun_prop  have hprincipal_mero : MeromorphicAt principal p := hconst_mero.div hlin_mero  have hrem_mero : MeromorphicAt rem p := hf.sub hprincipal_mero  have hrem_nonneg : 0  meromorphicOrderAt rem p :=    meromorphicOrderAt_nonneg_of_isBigO_one hrem_mero (by simpa [rem, principal] using h)  have hprincipal_order : meromorphicOrderAt principal p = (-1 : ) := by    dsimp [principal]    change meromorphicOrderAt ((fun _ : ℂ => c) / fun z : ℂ => z - p) p = (-1 : )    rw [meromorphicOrderAt_div hconst_mero hlin_mero, meromorphicOrderAt_const,      if_neg hc, meromorphicOrderAt_id_sub_const]    norm_num  have hlt : meromorphicOrderAt principal p < meromorphicOrderAt rem p := by    rw [hprincipal_order]    exact lt_of_lt_of_le (WithTop.coe_lt_coe.2 (by norm_num : (-1 : ) < 0)) hrem_nonneg  have hsum_order :      meromorphicOrderAt (principal + rem) p = meromorphicOrderAt principal p :=    meromorphicOrderAt_add_eq_left_of_lt hrem_mero hlt  have hcongr : f =ᶠ[𝓝[] p] principal + rem := by    filter_upwards with z    dsimp [principal, rem]    ring  calc    meromorphicOrderAt f p = meromorphicOrderAt (principal + rem) p :=      meromorphicOrderAt_congr hcongr    _ = meromorphicOrderAt principal p := hsum_order    _ = (-1 : ) := hprincipal_order