Documentation

LeanPool.JacobianDiffgeo.Meromorphic.Predicates

Meromorphic predicates and orders on a Riemann surface (CC3, chart layer) #

Unit: meromorphic-and-divisors (docs/design/meromorphic-and-divisors.md §4.1).

def RS.MeromorphicAtX {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (f : X) (x : X) :

CC3 (frozen): meromorphy of the standard-chart composite. Junk-robust.

Equations
Instances For
    def RS.MeromorphicOnX {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (f : X) (U : Set X) :

    Relative CC3 predicate; the frozen global one is MeromorphicOnX f Set.univ.

    Equations
    Instances For
      noncomputable def RS.ordAtX {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (f : X) (x : X) :

      CC3 (frozen): the order at x, WithTop-valued, junk 0 off meromorphy.

      Equations
      Instances For
        theorem RS.ordAtX_def {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (f : X) (x : X) :

        The chart-transport workhorse #

        theorem RS.eventually_nhdsNE_iff_comp_chart {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {p : XProp} {x : X} :
        (∀ᶠ (y : X) in nhdsWithin x {x}, p y) ∀ᶠ (z : ) in nhdsWithin ((chartAt x) x) {(chartAt x) x}, p ((chartAt x).symm z)

        Transport an eventual (punctured-neighborhood) property of f near x through the standard chart at x, and back. Every 𝓝[≠]-transport proof in this unit reduces to this one lemma.

        theorem RS.eventually_nhdsNE_comp_chart_apply_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {q : Prop} {x : X} :
        (∀ᶠ (y : X) in nhdsWithin x {x}, q ((chartAt x) y)) ∀ᶠ (z : ) in nhdsWithin ((chartAt x) x) {(chartAt x) x}, q z

        Simpler companion transport (no correction needed): a property q of the chart-image c y transports directly by pulling back along c.

        theorem RS.frequently_nhdsNE_iff_comp_chart {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {p : XProp} {x : X} :
        (∃ᶠ (y : X) in nhdsWithin x {x}, p y) ∃ᶠ (z : ) in nhdsWithin ((chartAt x) x) {(chartAt x) x}, p ((chartAt x).symm z)

        Frequently version of eventually_nhdsNE_iff_comp_chart.

        Specialization of eventually_nhdsNE_iff_comp_chart to EventuallyEq: agreement of f, g near x transports to agreement of their chart composites near chartAtx x.

        theorem RS.tendsto_nhdsNE_comp_chart_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} {l : Filter } :

        Tendsto version of the chart-transport workhorse.

        MeromorphicAtX: congruence and arithmetic #

        theorem RS.MeromorphicAtX.congr {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (h : f =ᶠ[nhdsWithin x {x}] g) :
        theorem RS.ordAtX_congr {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (h : f =ᶠ[nhdsWithin x {x}] g) :
        ordAtX f x = ordAtX g x

        Meromorphy-free: ordAtX respects 𝓝[≠]-agreement of arbitrary functions.

        theorem RS.meromorphicAtX_const {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {x : X} (c : ) :
        MeromorphicAtX (fun (x : X) => c) x
        theorem RS.MeromorphicAtX.add {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) :
        theorem RS.MeromorphicAtX.mul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) :
        theorem RS.MeromorphicAtX.neg {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) :
        theorem RS.MeromorphicAtX.sub {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) :
        theorem RS.MeromorphicAtX.smul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (c : ) (hf : MeromorphicAtX f x) :
        theorem RS.MeromorphicAtX.inv {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) :
        theorem RS.MeromorphicAtX.pow {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) (n : ) :
        theorem RS.MeromorphicAtX.zpow {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) (n : ) :

        MeromorphicOnX: pointwise lifting #

        theorem RS.MeromorphicOnX.add {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {U : Set X} (hf : MeromorphicOnX f U) (hg : MeromorphicOnX g U) :
        theorem RS.MeromorphicOnX.mul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {U : Set X} (hf : MeromorphicOnX f U) (hg : MeromorphicOnX g U) :
        theorem RS.MeromorphicOnX.neg {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {U : Set X} (hf : MeromorphicOnX f U) :
        theorem RS.MeromorphicOnX.sub {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {U : Set X} (hf : MeromorphicOnX f U) (hg : MeromorphicOnX g U) :
        theorem RS.MeromorphicOnX.smul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {U : Set X} (c : ) (hf : MeromorphicOnX f U) :
        theorem RS.MeromorphicOnX.inv {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {U : Set X} (hf : MeromorphicOnX f U) :
        theorem RS.meromorphicOnX_const {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (c : ) (U : Set X) :
        MeromorphicOnX (fun (x : X) => c) U

        Classification of the order (no chart invariance needed) #

        theorem RS.ordAtX_eq_top_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} :
        theorem RS.ordAtX_ne_top_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) :
        ordAtX f x ∀ᶠ (z : X) in nhdsWithin x {x}, f z 0
        theorem RS.MeromorphicAtX.frequently_zero_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) :
        (∃ᶠ (z : X) in nhdsWithin x {x}, f z = 0) f =ᶠ[nhdsWithin x {x}] 0
        theorem RS.tendsto_nhds_iff_ordAtX_nonneg {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} (hf : MeromorphicAtX f x) :
        (∃ (c : ), Filter.Tendsto f (nhdsWithin x {x}) (nhds c)) 0 ordAtX f x

        Order arithmetic (chart composites are literal +,*,⁻¹ of chart composites) #

        theorem RS.ordAtX_add {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) :
        min (ordAtX f x) (ordAtX g x) ordAtX (f + g) x
        theorem RS.ordAtX_add_of_ne {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) (h : ordAtX f x ordAtX g x) :
        ordAtX (f + g) x = min (ordAtX f x) (ordAtX g x)
        theorem RS.ordAtX_mul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f g : X} {x : X} (hf : MeromorphicAtX f x) (hg : MeromorphicAtX g x) :
        ordAtX (f * g) x = ordAtX f x + ordAtX g x
        theorem RS.ordAtX_inv {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} :
        theorem RS.ordAtX_neg {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} :
        ordAtX (-f) x = ordAtX f x
        theorem RS.ordAtX_smul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} {c : } (hc : c 0) :
        ordAtX (c f) x = ordAtX f x
        theorem RS.ordAtX_const {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {x : X} {c : } :
        ordAtX (fun (x : X) => c) x = if c = 0 then else 0
        theorem RS.ordAtX_zero {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {x : X} :
        theorem RS.ordAtX_one {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {x : X} :
        ordAtX 1 x = 0
        theorem RS.eventually_ordAtX_eq_top {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} [T1Space X] (h : ordAtX f x = ) :
        ∀ᶠ (y : X) in nhds x, ordAtX f y =

        No chart invariance needed: S = {x | ordAtX f x = ⊤} is open (the analogue of the identity theorem's "S open" step, specialized to a single point).

        Chart invariance #

        Meromorphy at x may be read in ANY maximal-atlas chart whose source contains x.

        CC3 chart invariance: the order at x may be read in ANY maximal-atlas chart whose source contains x.

        MeromorphicAtX propagates to nearby points (read in the same chart, then converted by chart invariance).

        theorem RS.eventually_ordAtX_eq_zero {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {f : X} {x : X} [IsManifold (modelWithCornersSelf ) X] (hf : MeromorphicAtX f x) (h : ordAtX f x ) :
        ∀ᶠ (y : X) in nhdsWithin x {x}, ordAtX f y = 0

        ordAtX is eventually 0 away from a point where it is finite (read in the same chart, then converted by chart invariance). Feeds the local finiteness of divisors.

        CC4 compatibility #