Documentation

CatDG.Diffeology.DDiffeomorph

Diffeomorphisms #

Diffeomorphisms between diffeological spaces. Mostly copied from Mathlib.Geometry.Manifold.Diffeomorph.

structure DDiffeomorph (X : Type u_1) (Y : Type u_2) [DiffeologicalSpace X] [DiffeologicalSpace Y] extends X ≃ Y :
Type (max u_1 u_2)
Instances For
    @[implicit_reducible]
    Equations
    theorem DDiffeomorph.dsmooth {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) :
    DSmooth ⇑h
    @[simp]
    theorem DDiffeomorph.coe_toEquiv {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) :
    ⇑h.toEquiv = ⇑h
    @[simp]
    theorem DDiffeomorph.toEquiv_inj {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {h h' : X ᵈ≃ Y} :
    h.toEquiv = h'.toEquiv ↔ h = h'
    theorem DDiffeomorph.ext {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {h h' : X ᵈ≃ Y} (heq : ∀ (x : X), h x = h' x) :
    h = h'
    theorem DDiffeomorph.ext_iff {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {h h' : X ᵈ≃ Y} :
    h = h' ↔ ∀ (x : X), h x = h' x

    Identity map as a diffeomorphism.

    Equations
    Instances For
      def DDiffeomorph.trans {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (h₁ : X ᵈ≃ Y) (h₂ : Y ᵈ≃ Z) :
      X ᵈ≃ Z

      Composition of diffeomorphisms.

      Equations
      • h₁.trans h₂ = { toEquiv := h₁.trans h₂.toEquiv, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
      Instances For
        @[simp]
        @[simp]
        @[simp]
        theorem DDiffeomorph.coe_trans {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (h₁ : X ᵈ≃ Y) (h₂ : Y ᵈ≃ Z) :
        ⇑(h₁.trans h₂) = ⇑h₂ ∘ ⇑h₁
        def DDiffeomorph.symm {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) :
        Y ᵈ≃ X

        Inverse of a diffeomorphism.

        Equations
        • h.symm = { toEquiv := h.symm, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
        Instances For
          @[simp]
          theorem DDiffeomorph.apply_symm_apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (y : Y) :
          h (h.symm y) = y
          @[simp]
          theorem DDiffeomorph.symm_apply_apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (x : X) :
          h.symm (h x) = x
          @[simp]
          theorem DDiffeomorph.symm_trans' {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (h₁ : X ᵈ≃ Y) (h₂ : Y ᵈ≃ Z) :
          (h₁.trans h₂).symm = h₂.symm.trans h₁.symm
          @[simp]
          @[simp]
          theorem DDiffeomorph.toEquiv_coe_symm {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) :
          ⇑h.symm = ⇑h.symm
          theorem DDiffeomorph.image_eq_preimage {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (s : Set X) :
          ⇑h '' s = ⇑h.symm ⁻¹' s
          theorem DDiffeomorph.symm_image_eq_preimage {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (s : Set Y) :
          ⇑h.symm '' s = ⇑h ⁻¹' s
          @[simp]
          theorem DDiffeomorph.range_comp {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {α : Type u_4} (h : X ᵈ≃ Y) (f : α → X) :
          @[simp]
          theorem DDiffeomorph.image_symm_image {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (s : Set Y) :
          ⇑h '' (⇑h.symm '' s) = s
          @[simp]
          theorem DDiffeomorph.symm_image_image {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) (s : Set X) :
          ⇑h.symm '' (⇑h '' s) = s
          noncomputable def DDiffeomorph.ofIsInduction {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f : X → Y} (hf : IsInduction f) :
          X ᵈ≃ ↑(Set.range f)

          An induction is a diffeomorphism onto its image.

          Equations
          Instances For

            A diffeomorphism is a homeomorphism with respect to the D-topologies.

            Equations
            Instances For
              @[simp]
              theorem DDiffeomorph.coe_toHomeomorph {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (h : X ᵈ≃ Y) :
              ⇑h.toHomeomorph = ⇑h
              @[simp]

              A diffeomorphism between spaces that are equipped with the D-topologies is also a homeoomorphism.

              Equations
              Instances For

                If a diffeomorphism between diffeological spaces equipped with topologies is also a homeomorphism and the topology on the domain agrees with the D-topology, then the topology on the codomain does as well.

                @[simp]
                theorem DDiffeomorph.dsmooth_comp_ddiffeomorph_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (h : X ᵈ≃ Y) {f : Y → Z} :
                DSmooth (f ∘ ⇑h) ↔ DSmooth f
                @[simp]
                theorem DDiffeomorph.dsmooth_ddiffeomorph_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (h : X ᵈ≃ Y) {f : Z → X} :
                DSmooth (⇑h ∘ f) ↔ DSmooth f
                theorem IsInduction.dsmooth_comp_iff_dsmooth_restrict {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] {f : X → Y} (hf : IsInduction f) {g : Y → Z} :

                For any induction f, g ∘ f is smooth iff g is smooth on Set.range f. TODO: move to a more fitting location

                @[reducible, inline]
                Equations
                Instances For
                  @[simp]
                  theorem DDiffeomorph.toDSmoothMap_trans {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] (f : X ᵈ≃ Y) (g : Y ᵈ≃ Z) :
                  ↑(f.trans g) = (↑g).comp ↑f
                  @[simp]

                  Left inverse to a continuous map from a homeomorphism, mirroring Equiv.symm_comp_self.

                  @[simp]

                  Right inverse to a continuous map from a homeomorphism, mirroring Equiv.self_comp_symm.

                  noncomputable def DDiffeomorph.univBall {E : Type u_4} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [DiffeologicalSpace E] [ContDiffCompatible E] (x : E) {r : ℝ} (hr : r > 0) :
                  E ᵈ≃ ↑(Metric.ball x r)

                  Inner product spaces are diffeomorphic to open balls in them.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem DDiffeomorph.coe_univBall_zero {E : Type u_4} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [DiffeologicalSpace E] [ContDiffCompatible E] (x : E) {r : ℝ} (hr : r > 0) :
                    ↑((univBall x hr) 0) = x

                    Set.univ X is diffeomorphic to X.

                    Equations
                    Instances For
                      @[simp]
                      theorem DDiffeomorph.Set.univ_invFun_coe (X : Type u_4) [DiffeologicalSpace X] (a : X) :
                      ↑((univ X).invFun a) = a
                      def DDiffeomorph.Set.nested {X : Type u_1} [DiffeologicalSpace X] {u : Set X} (v : Set ↑u) :
                      ↑v ᵈ≃ ↑(Subtype.val '' v)
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def DDiffeomorph.restrict {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (d : X ᵈ≃ Y) (u : Set X) :
                        ↑u ᵈ≃ ↑(⇑d.symm ⁻¹' u)
                        Equations
                        Instances For
                          def DDiffeomorph.restrictPreimage {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (d : X ᵈ≃ Y) (u : Set Y) :
                          ↑(⇑d ⁻¹' u) ᵈ≃ ↑u
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            The quotient of X by the identity relation is diffeomorphic to X.

                            Equations
                            Instances For
                              Equations
                              Instances For

                                The currying diffeomorphism DSmoothMap (X × Y) Z ᵈ≃ DSmoothMap X (DSmoothMap Y Z).

                                Equations
                                Instances For

                                  Postcomposition with d : Y ᵈ≃ Z as a diffeomorphism DSmoothMap X Y ᵈ≃ DSmoothMap X Z.

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

                                    Precomposition with d : X ᵈ≃ Y as a diffeomorphism DSmoothMap Y Z ᵈ≃ DSmoothMap X Z.

                                    Equations
                                    Instances For

                                      A continuous linear equivalence between (for now just finite-dimensional) normed spaces is a diffeomorphism.

                                      Equations
                                      Instances For