meromorphic-trace: the argument principle and the fibre trace of functions (namespace RS.MTrace) #
API summary (see docs/design/meromorphic-trace.md). Standing surface hypotheses throughout
(CONVENTIONS.md); f g : X → ℂ, h : ℂ → ℂ for the planar atom.
toP1(ToP1.lean):toP1 f : X → OnePoint ℂlifts a raw meromorphicfto a holomorphic map intoℙ¹(∞at poles, the punctured limit elsewhere);toP1_contMDiffis the honest holomorphy proof, routed throughmeromorphic-and-divisors'sMeroGermOn.holoRepr(built after this unit's design was frozen, so the proof is shorter than originally planned — see the file's deviation note).NotEventuallyConstX/toP1_not_const(D3) translate raw-f-side nonconstancy intotoP1 f's. ReusableholoRepr/toP1facts are exported forOrderMultiplicity.lean's andArgumentPrinciple.lean's own use.OrderMultiplicity.lean:multiplicity_toP1_of_ordAtX_pos/_neg— the order↔multiplicity bridges at zeros/poles off(CC4's multiplicity oftoP1 f, read incoeChart/invChart, equalsf's vanishing order/pole order). The design's third claimed lemma (ordAtX f x = 0 → multiplicity (toP1 f) x = 1) is mathematically false (f = 1 + z²at0: order0, multiplicity2) and is not proved — see the file's deviation note; it is flagged in the design itself as non-essential.ArgumentPrinciple.lean: THE argument principle,finsum_ordAtX_eq_zero— forfmeromorphic everywhere and nonconstant on compact connectedX,∑ᶠ x, (ordAtX f x).untop₀ = 0(zeros cancel poles), viafiberMultSum_eq_degreeat0/∞onℙ¹(mapping-degree's counting engine — not the residue theorem/Stokes, per the design's routing warning).sum_ordAtX_eq_zero_of_finiteis theFinsetform;finsum_ordAtX_eq_zero'takes the rawNotEventuallyConstXhypothesis. This is the engineproper-map-degreeneeds fordeg(divisor f) = 0— see the downstream note below for the exact repackaging.PlanarTrace.lean(pure planar, independent of the above):traceZk h k w, the trace ofhalongz ↦ z ^ katw.analyticAt_traceZk(analyticity away from0, via local root branches, no monodromy),meromorphicAt_traceZk(meromorphy at0, via a norm/zpowgrowth bound + Riemann's removable-singularity theorem, the unit's hardest theorem),traceZk_zpow(closed form for monomial traces — the geometric-sum collapse, computed on the abstract root set, purely algebraically), andlaurentCoeffAt_traceZk(P6, the Laurent-coefficient formulalaurentCoeffAt (traceZk h k) 0 m = k · laurentCoeffAt h 0 (k·m)), provedtsum-free: exact finite Taylor remainder of the unit factor with the cutoff chosen so the remainder exponent is an exact multiple ofk(so the remainder trace factors EXACTLY asw^{s'} · traceZk r k w, no second growth bound),traceZk_zpowon the finitely many monomials, and residue-calculus's presentation-independentlaurentCoeffAt_of_eventuallyEq. Zero sorries.FunctionTrace.lean:trace F h y₀(Tr_F h, D7), the surface-level fibre trace, defined totally via anif-dispatch onNonempty (FiberStack F y₀).trace_of_forall_eq(the constant-Fjunk guard) is proved in full, including the case the design worried might need to stay an "open sub-case" (resolved via a short infiniteness-of-Xargument). Well-definedness (design risk R1) is resolved:trace_eq_finsumidentifiestrace F h y₀with the naive fibre sum∑ᶠ x ∈ F⁻¹{y₀}, h xwhenever ANY stack exists (so theClassical.choiceof stack is immaterial), viasum_traceZk_stack, theh-weighted planar-to-fibre reindexing along the adapted-chart bijection (mapping-degree'sbijOn_epattern), valid over the stack's whole neighborhoodS.V.trace_eq_finsum'(every point, holomorphic nonconstantF),trace_eq_stack_sum(readtracethrough an arbitrary stack onS.V— form-trace-tower's consumption shape),trace_of_regular(the design's sanity anchor), andmeromorphicAtX_trace(P7, the design's centerpiece:Tr_F hisMeromorphicAtXeverywhere onY, via the stack formula + P5 + CC3 chart invariance) are all proved.
Downstream notes #
- proper-map-degree needs
deg(divisor f) = 0: takefinsum_ordAtX_eq_zero/sum_ordAtX_eq_zero_of_finiteand repackage(ordAtX f x).untop₀asdivisor fvalues (their ownDivisor/degreebookkeeping) — the finsum/Finset-sum identity here is exactlyDivisor.degree's shape (Function.locallyFinsuppWithin.degree), so the repackaging is a rewrite, not a re-derivation. - form-trace-tower needs the planar trace atom + its Laurent behavior, and
Tr_F has a black box: ALL of it is now ready —traceZk,analyticAt_traceZk,meromorphicAt_traceZk,traceZk_zpow,laurentCoeffAt_traceZk(P6, was the one blocked lemma; now proved);RS.MTrace.trace,trace_of_forall_eq,trace_eq_finsum/trace_eq_finsum',trace_eq_stack_sum(the "fix one stack, readtracethrough it neary₀" shape itsresAtP1_trace_eq_sumplan step 1 consumes),trace_of_regular, andmeromorphicAtX_trace(needed forTr_F(h·ω)'s own meromorphy). - laurent-tails (CC8): no direct edge (per the design, nothing here is laurent-tails-facing
beyond what
residue-calculus/form-trace-toweralready mediate).