Documentation

CatDG.ForMathlib.Mfld

The category Mfld of manifolds #

In this file we define a general category Mfld 𝕜 n of all manifolds of a given smoothness degree n : WithTop ℕ∞ over a nontrivially normed ground field 𝕜, imposing no conditions like Hausdorffness, paracompactness, finite-dimensionality or boundarylessness. We instead set up these properties as object properties, and define other categories of manifolds as full subcategories in terms of them.

Currently this is all written with a focus on avoiding boilderplate code: we define each subcategory as P.FullSubcategory for some object property P, and provide instances such as {P : ObjectProperty (Mfld 𝕜 n)} [Fact (P ≤ hausdorff)] (M : P.FullSubcategory) : T2Space M to avoid having to set up T2Space-instances for each considere subcategory separately. The downsides of this approach are that dot notation doesn't carry over to full subcategories, and that we have to define some instances like [Fact (a ≤ c)] : Fact (a ⊓ b ≤ c).

Main definitions / results #

For each of these subcategories a forgetful functor to TopCat, an inclusion into Mfld 𝕜 n and inclusions into other subcategories are provided in the form of HasForget₂-instances.

We also show that isomorphisms in the category of manifolds are diffeomorphisms and that some of the introduced object properties are invariant under isomorphism. Unfortunately, all properties pertaining to the model spaces of the manifolds are not invariant under isomorphism, because the empty type is a manifold for all model spaces simultaneously. One could try to work around this in the future by defining e.g. banach M as IsEmpty M ∨ CompleteSpace M.modelVectorSpace instead of just CompleteSpace M.modelVectorSpace; that way banach would be closed under isomorphisms, but instances like CompleteSpace M.obj.modelVectorSpace for M : BanachMfld 𝕜 n could only be provided under the assumption Nonempty M.

Lastly, we give a construction of finite products in Mfld 𝕜 n.

TODOs #

structure Mfld (𝕜 : Type u_1) [NontriviallyNormedField 𝕜] (n : WithTop ℕ∞) :
Type (max (u + 1) u_1)

The category of all (possbily non-Hausdorff, non-paracompact and infinite-dimensional) manifolds with corners for a fixed ground field 𝕜 and smoothness degree n : WithTop ℕ∞. The main purpose of this category is to act as an ambient category for nicer categories of manifolds to be considered as full subcategories of.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.

    The object property satisfied by all manifolds whose underlying topological space is T2.

    Equations
    Instances For

      The object property satisfied by all σ-compact manifolds.

      Equations
      Instances For

        The object property satisfied by all manifolds that are boundaryless in the sense of BoundarylessManifold. Note that such manifolds can still be modelled on non-boundaryless models with corners, they just need to consist entirely of interior points.

        Equations
        Instances For

          The object property satisfied by all manifolds whose model vector space is complete.

          Equations
          Instances For

            The object property satisfied by all manifolds whose model vector space is finite-dimensional.

            Equations
            Instances For
              @[reducible, inline]

              The object property corresponding to Hausdorff, sigma-compact and finite-dimensional manifolds without boundary.

              Equations
              Instances For
                @[reducible, inline]

                The object property corresponding to Hausdorff, sigma-compact and finite-dimensional manifolds with corners.

                Equations
                Instances For
                  @[reducible, inline]

                  The object property corresponding to Hausdorff sigma-compact Banach manifolds without boundary.

                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev FinDimMfld (𝕜 : Type u_2) [NontriviallyNormedField 𝕜] (n : WithTop ℕ∞) :
                    Type (max (u + 1) u_2)

                    The category of (Hausdorff, paracompact) finite-dimensional manifolds without boundary, defined as a full subcategory of Mfld 𝕜 n.

                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev FinDimMfldWCorners (𝕜 : Type u_2) [NontriviallyNormedField 𝕜] (n : WithTop ℕ∞) :
                      Type (max (u + 1) u_2)

                      The category of (Hausdorff, paracompact) finite-dimensional manifolds with corners, defined as a full subcategory of Mfld 𝕜 n.

                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev BanachMfld (𝕜 : Type u_2) [NontriviallyNormedField 𝕜] (n : WithTop ℕ∞) :
                        Type (max (u + 1) u_2)

                        The category of (Hausdorff, paracompact) Banach manifolds without boundary, defined as a full subcategory of Mfld 𝕜 n.

                        Equations
                        Instances For
                          instance Mfld.instFactLe {α : Type u} [SemilatticeInf α] {a : α} :
                          Fact (a a)
                          instance Mfld.instFactLeMin {α : Type u} [SemilatticeInf α] {a b c : α} [Fact (a c)] :
                          Fact (ab c)
                          instance Mfld.instFactLeMin_1 {α : Type u} [SemilatticeInf α] {a b c : α} [Fact (b c)] :
                          Fact (ab c)
                          Equations
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem Mfld.diffeomorphOfIso_toFun {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {M N : Mfld 𝕜 n} (i : M N) (a : M.carrier) :
                              @[simp]
                              @[simp]
                              Equations
                              Instances For
                                @[simp]
                                def ContinuousLinearEquiv.toUniformEquiv {R₁ : Type u_2} {R₂ : Type u_3} [Semiring R₁] [Semiring R₂] {σ₁₂ : R₁ →+* R₂} {σ₂₁ : R₂ →+* R₁} [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂] {E₁ : Type u_4} {E₂ : Type u_5} [UniformSpace E₁] [UniformSpace E₂] [AddCommGroup E₁] [AddCommGroup E₂] [Module R₁ E₁] [Module R₂ E₂] [IsUniformAddGroup E₁] [IsUniformAddGroup E₂] (e : E₁ ≃SL[σ₁₂] E₂) :
                                E₁ ≃ᵤ E₂

                                Every continuous linear equivalence is a uniform isomorphism. TODO: move to another file.

                                Equations
                                • e.toUniformEquiv = { toFun := e, invFun := e.symm, left_inv := , right_inv := , uniformContinuous_toFun := , uniformContinuous_invFun := }
                                Instances For
                                  @[simp]
                                  theorem ContinuousLinearEquiv.toUniformEquiv_apply {R₁ : Type u_2} {R₂ : Type u_3} [Semiring R₁] [Semiring R₂] {σ₁₂ : R₁ →+* R₂} {σ₂₁ : R₂ →+* R₁} [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂] {E₁ : Type u_4} {E₂ : Type u_5} [UniformSpace E₁] [UniformSpace E₂] [AddCommGroup E₁] [AddCommGroup E₂] [Module R₁ E₁] [Module R₂ E₂] [IsUniformAddGroup E₁] [IsUniformAddGroup E₂] (e : E₁ ≃SL[σ₁₂] E₂) (a : E₁) :
                                  @[simp]
                                  theorem ContinuousLinearEquiv.toUniformEquiv_symm_apply {R₁ : Type u_2} {R₂ : Type u_3} [Semiring R₁] [Semiring R₂] {σ₁₂ : R₁ →+* R₂} {σ₂₁ : R₂ →+* R₁} [RingHomInvPair σ₁₂ σ₂₁] [RingHomInvPair σ₂₁ σ₁₂] {E₁ : Type u_4} {E₂ : Type u_5} [UniformSpace E₁] [UniformSpace E₂] [AddCommGroup E₁] [AddCommGroup E₂] [Module R₁ E₁] [Module R₂ E₂] [IsUniformAddGroup E₁] [IsUniformAddGroup E₂] (e : E₁ ≃SL[σ₁₂] E₂) (a : E₂) :
                                  @[reducible, inline]
                                  abbrev Mfld.pt {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} :
                                  Mfld 𝕜 n

                                  A choice of terminal object in the category of manifolds, given by PUnit.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The choice FinDimMfld.pt of terminal object is indeed terminal.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[reducible, inline]
                                      abbrev Mfld.prod {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} (M N : Mfld 𝕜 n) :
                                      Mfld 𝕜 n

                                      An explicit choice of product in the category of manifolds, given by the product of the underlying types and models with corners.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Mfld.prodFst {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {M N : Mfld 𝕜 n} :
                                        M.prod N M

                                        The first projection realising M.prod N as the product of M and N.

                                        Equations
                                        Instances For
                                          def Mfld.prodSnd {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {n : WithTop ℕ∞} {M N : Mfld 𝕜 n} :
                                          M.prod N N

                                          The second projection realising M.prod N as the product of M and N.

                                          Equations
                                          Instances For

                                            An explicit binary fan of M and N given by M.prod N.

                                            Equations
                                            Instances For

                                              The constructed binary fan is indeed a limit.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For