Documentation

LeanPool.LeanModularForms.GeneralizedResidueTheory.HomologicalCauchy.Meromorphic

Meromorphic Contour Integral Vanishing (Null-Homologous) #

Extensions of the null-homologous Cauchy theorem to meromorphic functions. The key results show that contour integrals of meromorphic functions with zero residues vanish along null-homologous curves.

Main results #

theorem contourIntegral_eq_zero_of_meromorphic_residue_zero_nh (f : ) (s : ) (hf : MeromorphicAt f s) (hres : residueAt f s = 0) (U : Set ) (hU : IsOpen U) (hf_diff : DifferentiableOn f (U \ {s})) (hs_in_U : s U) (γ : PiecewiseC1Immersion) (h_null : IsNullHomologous γ U) (hγ_avoids : tSet.Icc γ.a γ.b, γ.toFun t s) :
(t : ) in γ.a..γ.b, f (γ.toFun t) * deriv γ.toFun t = 0

Null-homologous version: contour integral of meromorphic function with zero residue vanishes when the curve is null-homologous and avoids the singularity.

theorem contourIntegral_eq_zero_of_meromorphic_residue_zero_finset_nh (S : Finset ) (f : ) (hf_mero : sS, MeromorphicAt f s) (hres : sS, residueAt f s = 0) (U : Set ) (hU : IsOpen U) (hf_diff : DifferentiableOn f (U \ S)) (γ : PiecewiseC1Immersion) (h_null : IsNullHomologous γ U) (hγ_avoids : sS, tSet.Icc γ.a γ.b, γ.toFun t s) :
(t : ) in γ.a..γ.b, f (γ.toFun t) * deriv γ.toFun t = 0

Finset version: induction on |S| using the single-pole version.

L5: Assembly — conditions (A')+(B) imply higher-order cancellation #

The main result: combine per-term vanishing over all Laurent terms and all crossing points to show the global PV difference tends to 0.

Note: This uses SatisfiesConditionA' (variable-order flatness matching the pole order) rather than SatisfiesConditionA (order 1 only). The paper's Theorem 3.3 requires flatness of the pole order, which is stronger than flatness of order 1 for higher-order poles.

theorem conditionsAB_imply_higherOrderCancel_nh (U : Set ) (hU : IsOpen U) (S0 : Finset ) (f : ) (hf : DifferentiableOn f (U \ S0)) (γ : PiecewiseC1Immersion) (h_null : IsNullHomologous γ U) (hMero : sS0, MeromorphicAt f s) (hCondA : SatisfiesConditionA' γ S0 fun (s : ) => poleOrderAt f s) (hCondB : SatisfiesConditionB γ f S0) (hγ_meas : Measurable γ.toFun) (h_no_endpt : sS0, γ.toFun γ.a s γ.toFun γ.b s) (h_unique_cross : sS0, t₁Set.Icc γ.a γ.b, t₂Set.Icc γ.a γ.b, γ.toFun t₁ = sγ.toFun t₂ = st₁ = t₂) (hS0_in_U : sS0, s U) :
Filter.Tendsto (fun (ε : ) => ( (t : ) in γ.a..γ.b, cauchyPrincipalValueIntegrandOn S0 f γ.toFun ε t) - (t : ) in γ.a..γ.b, cauchyPrincipalValueIntegrandOn S0 (fun (z : ) => sS0, residueAt f s / (z - s)) γ.toFun ε t) (nhdsWithin 0 (Set.Ioi 0)) (nhds 0)

Null-homologous version of conditionsAB_imply_higherOrderCancel.

theorem pv_res_tendsto_of_immersion_nullHomologous (U S : Set ) (hS_discrete : sS, ε > 0, s'S, s' sε s' - s) (hS_closed : IsClosed S) (S0 : Finset ) (hS0_subset : sS0, s S) (f : ) (γ : PiecewiseC1Immersion) (h_null : IsNullHomologous γ U) (hS_on_curve : tSet.Icc γ.a γ.b, γ.toFun t Sγ.toFun t S0) (_hγ_meas : Measurable γ.toFun) (h_no_endpt_cross : sS0, γ.toFun γ.a s γ.toFun γ.b s) (h_unique_cross : sS0, t₁Set.Icc γ.a γ.b, t₂Set.Icc γ.a γ.b, γ.toFun t₁ = sγ.toFun t₂ = st₁ = t₂) :
Filter.Tendsto (fun (ε : ) => (t : ) in γ.a..γ.b, cauchyPrincipalValueIntegrandOn S0 (fun (z : ) => sS0, residueAt f s / (z - s)) γ.toFun ε t) (nhdsWithin 0 (Set.Ioi 0)) (nhds (2 * Real.pi * Complex.I * sS0, generalizedWindingNumber' γ.toFun γ.a γ.b s * residueAt f s))