Documentation

CatDG.Diffeology.DSmoothMap

Bundled smooth maps #

Defines the type DSmoothMap X Y of smooth maps between diffeological spaces.

This file contains only very basic API; more advanced constructions are done in CatDG.Diffeology.Constructions.

Adapted from Mathlib.Topology.ContinuousMap.Def and Mathlib.Topology.ContinuousMap.Basic.

TODO #

structure DSmoothMap (X : Type u_1) (Y : Type u_2) [DiffeologicalSpace X] [DiffeologicalSpace Y] :
Type (max u_1 u_2)

The type of bundled smooth maps between diffeological spaces X and Y.

  • toFun : XY

    The map X → Y.

  • dsmooth : DSmooth self.toFun

    The map X → Y is smooth.

Instances For
    class DSmoothMapClass (F : Type u_1) (X : outParam (Type u_2)) (Y : outParam (Type u_3)) [DiffeologicalSpace X] [DiffeologicalSpace Y] [FunLike F X Y] :

    DSmoothMapClass F X Y states that F is a type of smooth maps X → Y.

    • map_dsmooth (f : F) : DSmooth f

      Smoothness.

    Instances
      def DSmoothMapClass.toDSmoothMap {F : Type u_1} {X : Type u_2} {Y : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [FunLike F X Y] [DSmoothMapClass F X Y] (f : F) :

      Coerce a bundled morphism with a DSmoothMapClass instance to a DSmoothMap.

      Equations
      • f = { toFun := f, dsmooth := }
      Instances For
        Equations
        @[simp]
        theorem DSmoothMap.toFun_eq_coe {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f : DSmoothMap X Y} :
        f.toFun = f
        def DSmoothMap.Simps.apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (f : DSmoothMap X Y) :
        XY

        See note [custom simps projection].

        Equations
        Instances For
          @[simp]
          theorem DSmoothMap.coe_coe {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {F : Type u_5} [FunLike F X Y] [DSmoothMapClass F X Y] (f : F) :
          f = f
          theorem DSmoothMap.coe_apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {F : Type u_5} [FunLike F X Y] [DSmoothMapClass F X Y] (f : F) (x : X) :
          f x = f x
          theorem DSmoothMap.ext {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f g : DSmoothMap X Y} (h : ∀ (x : X), f x = g x) :
          f = g
          theorem DSmoothMap.ext_iff {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f g : DSmoothMap X Y} :
          f = g ∀ (x : X), f x = g x
          @[simp]
          theorem DSmoothMap.coe_mk {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (f : XY) (hf : DSmooth f) :
          { toFun := f, dsmooth := hf } = f

          The identity as a smooth map.

          Equations
          Instances For
            @[simp]
            @[simp]
            theorem DSmoothMap.id_apply {X : Type u_1} [DiffeologicalSpace X] (x : X) :
            def DSmoothMap.const (X : Type u_1) {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (y : Y) :

            The constant map as a continuous map.

            Equations
            Instances For
              @[simp]
              theorem DSmoothMap.coe_const (X : Type u_1) {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {y : Y} :
              (const X y) = Function.const X y
              @[simp]
              theorem DSmoothMap.const_apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (y : Y) (x : X) :
              (const X y) x = y
              Equations
              def DSmoothMap.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (f : DSmoothMap Y Z) (g : DSmoothMap X Y) :

              The composition of continuous maps, as a continuous map.

              Equations
              • f.comp g = { toFun := f g, dsmooth := }
              Instances For
                @[simp]
                theorem DSmoothMap.coe_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (f : DSmoothMap Y Z) (g : DSmoothMap X Y) :
                (f.comp g) = f g
                @[simp]
                theorem DSmoothMap.comp_apply {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (f : DSmoothMap Y Z) (g : DSmoothMap X Y) (x : X) :
                (f.comp g) x = f (g x)
                @[simp]
                theorem DSmoothMap.comp_assoc {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {W : Type u_4} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] [DiffeologicalSpace W] (f : DSmoothMap Z W) (g : DSmoothMap Y Z) (h : DSmoothMap X Y) :
                (f.comp g).comp h = f.comp (g.comp h)
                @[simp]
                theorem DSmoothMap.id_comp {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (f : DSmoothMap X Y) :
                @[simp]
                theorem DSmoothMap.comp_id {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (f : DSmoothMap X Y) :
                @[simp]
                theorem DSmoothMap.const_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (z : Z) (f : DSmoothMap X Y) :
                (const Y z).comp f = const X z
                @[simp]
                theorem DSmoothMap.comp_const {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (f : DSmoothMap Y Z) (y : Y) :
                f.comp (const X y) = const X (f y)
                @[simp]
                theorem DSmoothMap.cancel_right {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] {f₁ f₂ : DSmoothMap Y Z} {g : DSmoothMap X Y} (hg : Function.Surjective g) :
                f₁.comp g = f₂.comp g f₁ = f₂
                @[simp]
                theorem DSmoothMap.cancel_left {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] {f : DSmoothMap Y Z} {g₁ g₂ : DSmoothMap X Y} (hf : Function.Injective f) :
                f.comp g₁ = f.comp g₂ g₁ = g₂