Documentation

LeanPool.JacobianDiffgeo.ResidueTheorem.RationalOnP1

residue-theorem: the ℙ¹ base case — atoms (file 1/1, PARTIAL DELIVERY) #

Unit: residue-theorem (docs/design/residue-theorem.md §6, docs/design/form-trace-tower.md §RationalOnP1). Target headline: ∑ᶠ p, θ.resAt p = 0 for θ : MForm (OnePoint ℂ), as the genus-0 base case feeding the general-X reduction via a nonconstant map to ℙ¹ (design §6).

Status: the headline theorem is NOT proved here — read this note before building on this file. What follows is a complete (no open goals anywhere), independently useful collection of atoms toward it, plus an honest account of the one remaining gap and how to close it. See Jacobian/ ResidueTheorem.lean (unit root) for the full write-up of what is/isn't delivered and why.

What IS built, zero sorries #

What is NOT built: the assembly, and why (read before attempting it) #

The intended proof: extract θ's finite-chart coefficient R, subtract the finite sum of its principal parts at its finitely many finite poles (RS.principalPartAt, already built) to get a remainder R_mid, apply the Liouville-free fact above to conclude the remainder's residue at vanishes, then telescope (the tail's own residue at is exactly minus the sum of residues it reproduces at the finite poles it was built to match, by resAt_neg_sq_inv_mul_sub_inv_zpow).

The blocker, found late and not resolved in the time available: resAt_neg_sq_inv_mul_comp_inv_eq_zero needs R_mid genuinely Differentiable — but R_mid := R - R_tail is built from MeromorphicAt data, whose junk convention at a pole/removable point does not force the value there to match the analytic-repair limit (MeromorphicAt f x with witness order n > 0 puts no constraint on f x at all, since it is multiplied by (x - x) ^ n = 0). So R_mid, built by bare pointwise subtraction, may fail to be continuous at the finitely many points of θ's pole set even though its order is ≥ 0 there (checked and proved separately, via MeromorphicAt.orderAt_sub_ principalPartAt_nonneg + a Finset.analyticAt_fun_sum argument — that part of the assembly DID work, it is only the final "hence Differentiable, hence apply the Liouville-free fact" step that does not follow as stated). Two fixes, either workable, neither attempted: (a) weaken resAt_neg_sq_inv_mul_comp_inv_eq_zero to take an explicit radius R₀ with R_mid differentiable only on closedBall 0 R₀ \ {0} for R₀ small enough to exclude the (finite) pole set — the circle-integral argument only ever needs one such disk, and resAt at 0 doesn't care which; or (b) repair R_mid first (canonical-forms' MeroGermOn.holoRepr-style construction, already used elsewhere in this project, e.g. MForm.d) to an honestly continuous representative before invoking Cauchy's theorem. Route (a) is probably the smaller patch — the Set.Finite/Metric "there is a positive radius smaller than the nearest nonzero pole" lemma is routine, and every other piece of the assembly (the finite-pole-sum construction, the order-≥0 argument, the θ.coeffAt ∞ transition formula, the finite pole set extraction from θ.divisor) was fully worked out and test-compiled during this build and is recorded in this design's build notes for the next attempt; none of it is included here as code because it was written against the now-known-insufficient Differentiable ℂ R_mid hypothesis and would need re-threading through whichever fix is chosen.

chartAt's target is univ at every point of ℙ¹ (both charts have target univ).

noncomputable def RS.P1.formOfCoeFn (R : ) (hR : MeromorphicOn R Set.univ) (hR' : MeromorphicOn (fun (w : ) => -(w ^ 2)⁻¹ * R w⁻¹) Set.univ) :

The chart-coefficient family assembled from a "finite-chart" function R, forced to be a genuine MFormData (OnePoint ℂ) by requiring its invChart reading (the transition-rule image) to also be meromorphic. The two-chart compat check is a single "apply the transition rule twice returns to the start" computation, independent of what R is.

Equations
Instances For
    theorem RS.P1.coeffAt_coe_eq_coeffAt_coe (θ : MFormData (OnePoint )) (a b : ) :
    θ.coeffAt a = θ.coeffAt b

    The coeChart reading of an MFormData (OnePoint ℂ) is the same function for every finite basepoint (ℙ¹'s finite points all share the identical coeChart, and compat with the identity transition forces literal equality of the raw functions, not just a germ agreement).

    The Liouville-free "residue at infinity of an entire function vanishes" fact #

    theorem RS.P1.circleIntegral_inv_eq_neg (R_mid : ) {ρ : } ( : 0 < ρ) :
    (w : ) in C(0, ρ), -(w ^ 2)⁻¹ * R_mid w⁻¹ = - (z : ) in C(0, ρ⁻¹), R_mid z

    Circle integral under z ↦ z⁻¹ reindexing: reading the same integrand through the inversion at reciprocal radius reverses orientation (a -1 sign), the classical "residue at infinity" substitution, via circleMap_zero_inv + a period-shift of the parametrizing integral.

    theorem RS.P1.resAt_neg_sq_inv_mul_comp_inv_eq_zero {R_mid : } (hdiff : Differentiable R_mid) (hg : MeromorphicAt (fun (w : ) => -(w ^ 2)⁻¹ * R_mid w⁻¹) 0) :
    resAt (fun (w : ) => -(w ^ 2)⁻¹ * R_mid w⁻¹) 0 = 0

    The Liouville-free key fact. The residue "at infinity" (i.e. the residue at 0 of the invChart-transported reading -(w²)⁻¹ R_mid w⁻¹) of an ENTIRE R_mid always vanishes: Cauchy's theorem gives R_mid's own circle integral 0 at every radius, and circleIntegral_inv_eq_neg transports this to the transported reading's circle integral at every (reciprocal) radius, hence its residue is 0. No polynomial-growth/degree bookkeeping needed anywhere.

    The finite-pole/z⁻¹ compatibility of principalPartAt's monomials #

    theorem RS.P1.meromorphicAt_neg_sq_inv_mul_sub_inv_zpow (a : ) (k : ) :
    MeromorphicAt (fun (w : ) => -(w ^ 2)⁻¹ * (w⁻¹ - a) ^ k) 0

    Each monomial (w⁻¹ - a) ^ k composed with the inversion, weighted by the dz ↦ dw factor -(w²)⁻¹, is meromorphic at 0 (the "companion pole at " bookkeeping): the closed form -(1 - a w) ^ k * w ^ (-k - 2) shows it directly, for any a : ℂ, k : ℤ.

    theorem RS.P1.resAt_neg_sq_inv_mul_sub_inv_zpow (a : ) {k : } (hk : k < 0) :
    resAt (fun (w : ) => -(w ^ 2)⁻¹ * (w⁻¹ - a) ^ k) 0 = if k = -1 then -1 else 0

    The residue at 0 of the transported monomial -(w²)⁻¹ (w⁻¹ - a) ^ k, for k < 0 (the only exponents RS.principalPartAt ever produces): -1 for the simple pole k = -1 (the "companion at "), 0 otherwise — the elementary case split.