toP1: the f-to-ℙ¹ bridge (meromorphic-trace, cluster 1) #
Unit: meromorphic-trace (docs/design/meromorphic-trace.md §2 D2/D3, §4.1, §5 P1). Standing
surface hypotheses throughout (CONVENTIONS.md).
toP1 f x : OnePoint ℂ—∞at poles, the limiting value along the punctured neighborhood elsewhere (D2). Total; junk elsewhere for non-meromorphicf.toP1_contMDiff(P1): forfmeromorphic everywhere,toP1 f : X → ℙ¹is holomorphic. Deviation from the design's proof plan:meromorphic-and-divisors'sMeroGermOn/OrderEvallayer (ℳ X,evalAt,holoRepr,holoRepr_contMDiffAt) — which the design doc explicitly recorded as "not yet built" at design time — is now built; we route through it (toP1 fagrees everywhere withtoP1 (mk f hf).holoRepr, since bothordAtXandlimUnderare𝓝[≠]x-germ notions andholoReprmatches any representative𝓝[≠]x-eventually at everyx), which handles the "poles/zeros are isolated" bookkeeping the design's hand-written plan struggled with, and lets us citeMeroGermOn.holoRepr_contMDiffAt/ContMDiffAt.onePointCoe(ProjectiveLine.Holomorphy, also since-landed) directly instead of re-deriving the chart-local analytic-repair argument from scratch. This is a strictly shorter, more robust proof of the same theorem; the exported statement is unchanged.toP1_not_const(D3): an everywhere-meromorphic, not-codiscretely-constantfinduces a nonconstanttoP1 f.
The canonical ℙ¹-valued lift of a raw meromorphic function: ∞ at poles, the limiting
value along the punctured neighborhood elsewhere. Total (junk elsewhere for non-meromorphic f);
the honest content is toP1_contMDiff.
Equations
- RS.MTrace.toP1 f x = if 0 ≤ RS.ordAtX f x then ↑((nhdsWithin x {x}ᶜ).limUnder f) else OnePoint.infty
Instances For
toP1_contMDiff (P1) #
Reusable holoRepr facts (for OrderMultiplicity/ArgumentPrinciple) #
f agrees with its holoRepr in toP1, everywhere (both ordAtX and limUnder are
𝓝[≠]x-germ notions, and holoRepr matches any representative there, at every x).
Wherever f's holoRepr has nonnegative order, toP1 of it is the literal coercion — a
pointwise fact (no "isolated zeros" propagation needed: holoRepr_contMDiffAt gives continuity
of the holoRepr AT that point directly).
Full-neighborhood upgrade of toP1_holoRepr_eq_coe_of_nonneg: at a regular point (finite or
⊤ order), toP1 (holoRepr) agrees with the coercion on a full neighborhood (isolated
zeros/poles).
The invChart chart-composite of toP1 (holoRepr) at a pole matches the (inverted) chart
composite of holoRepr itself, off the pole.
Nonconstancy (D3) #
The natural raw-function nonconstancy hypothesis: f is not codiscretely equal to any single
constant. (What callers holding ℳ X nonzero-ness will have once that field is in hand; stated
here germ-level so we do not need it.)
Equations
- RS.MTrace.NotEventuallyConstX f = ∀ (c : ℂ), ¬(fun (x : X) => f x - c) =ᶠ[Filter.codiscrete X] 0
Instances For
The translation: an everywhere-meromorphic f on connected X that is not codiscretely a
constant induces a nonconstant toP1 f. Both degenerate cases (toP1 f ≡ ↑c and toP1 f ≡ ∞)
are ruled out by the SAME eventuallyEq_zero_codiscrete_of_forall_ordAtX_pos engine, applied to
f - c (finite case) resp. f⁻¹ (the ∞ case, via ordAtX_inv unconditional).