Documentation

LeanPool.JacobianDiffgeo.CanonicalForms.Quotient

MForm X: meromorphic 1-forms as germ classes of chart-coefficient families (D1/D2/D4–D6) #

Unit: canonical-forms (docs/design/canonical-forms.md, representational revision). This file is the CC3-pattern fix for the raw-representation flaw documented in the previous unit root: raw MFormData equality is too fine (meromorphic coefficients carry junk at poles, so "ord = ⊤ everywhere" does NOT force raw equality with 0). Exactly as X quotients raw meromorphic functions by codiscrete agreement (Jacobian/Meromorphic/GermSpace.lean), we set

Codiscrete/germ agreement of raw chart-coefficient families: the preferred-chart coefficients agree on a punctured neighborhood of every chart center (CC3 pattern; see the module docstring for why this is the right granularity).

Equations
Instances For
    theorem RS.MFormData.eqv_trans {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {θ η ζ : MFormData X} (h₁ : θ.Eqv η) (h₂ : η.Eqv ζ) :
    θ.Eqv ζ

    D1 (revised): a meromorphic 1-form on X — the quotient of raw chart-coefficient families (MFormData X) by codiscrete/germ agreement, the same CC3 quotient pattern as X.

    Equations
    Instances For

      The class of a raw chart-coefficient family.

      Equations
      Instances For
        theorem RS.MForm.ind {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {motive : MForm XProp} (h : ∀ (θ : MFormData X), motive (mk θ)) (Θ : MForm X) :
        motive Θ
        theorem RS.MForm.sound {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {θ η : MFormData X} (h : θ.Eqv η) :
        mk θ = mk η

        -algebra structure, descended pointwise #

        @[instance_reducible]
        Equations
        @[instance_reducible]
        Equations
        @[instance_reducible]
        Equations
        @[instance_reducible]
        Equations
        @[instance_reducible]
        Equations
        @[simp]
        theorem RS.MForm.mk_add {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (θ η : MFormData X) :
        mk θ + mk η = mk (θ + η)
        @[simp]
        theorem RS.MForm.mk_sub {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (θ η : MFormData X) :
        mk θ - mk η = mk (θ - η)
        @[simp]
        theorem RS.MForm.mk_smul {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (c : ) (θ : MFormData X) :
        c mk θ = mk (c θ)
        @[instance_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[instance_reducible]
        Equations
        noncomputable def RS.MForm.ofCoeffs {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {ι : Type u_2} (D : MFormCoeffData X ι) :

        D3 on classes: assemble a meromorphic 1-form from compatible covering-chart-family data (MFormCoeffData, mirrors Form1CoeffData); the class of the raw assembly.

        Equations
        Instances For

          ord, resAt, laurentCoeffAt (D4), lifted #

          noncomputable def RS.MForm.ord {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (Θ : MForm X) (x : X) :

          D4: the order of a meromorphic 1-form at x (read via the preferred chart at x; descends because meromorphicOrderAt is a germ functional).

          Equations
          Instances For
            @[simp]
            theorem RS.MForm.ord_mk {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (θ : MFormData X) (x : X) :
            (mk θ).ord x = θ.ord x
            noncomputable def RS.MForm.resAt {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (Θ : MForm X) (x : X) :

            D4: the residue of a meromorphic 1-form at x.

            Equations
            Instances For
              @[simp]
              theorem RS.MForm.resAt_mk {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (θ : MFormData X) (x : X) :
              (mk θ).resAt x = θ.resAt x
              noncomputable def RS.MForm.laurentCoeffAt {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] (Θ : MForm X) (x : X) (k : ) :

              The k-th Laurent coefficient of a meromorphic 1-form at x, read in the preferred chart (consumed by MLFormData.Realizes, D13).

              Equations
              Instances For

                Order propagation and the divisor (D6), lifted #

                theorem RS.MForm.eventually_ord_eq_top {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] [T1Space X] {Θ : MForm X} {x : X} (h : Θ.ord x = ) :
                ∀ᶠ (y : X) in nhds x, Θ.ord y =

                D6: the divisor of a meromorphic 1-form (lifted from MFormData.divisor; well-defined since ord is).

                Equations
                Instances For
                  @[simp]

                  D6: the degree of the divisor.

                  Equations
                  Instances For

                    D5: the global zero-dichotomy #

                    The step that is FALSE for raw families — "ord = ⊤ everywhere forces the form to be zero" — is the literal definition of the quotient relation. The clopen skeleton is MeromorphicOnX.eventuallyEq_zero_or_forall_ordAtX_ne_top's (Jacobian/Meromorphic/CodiscreteBridge.lean); closedness of {ord = ⊤} is here even easier: its complement is open directly by eventually_ord_eq_zero.

                    D5: on a connected surface, a meromorphic 1-form is zero, or its order is finite everywhere.

                    theorem RS.MForm.ord_ne_top {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] [T1Space X] [ConnectedSpace X] {Θ : MForm X} (h : Θ 0) (x : X) :
                    Θ.ord x

                    A nonzero meromorphic 1-form has finite order everywhere (D5 corollary; the input D8/D10/D11 consume).

                    The zero class is characterized by ord = ⊤ everywhere (junk-free, unlike the raw layer).