Documentation

Orbifolds.Diffeology.Algebra.Group

Diffeological groups #

Adapted from Mathlib.Topology.Algebra.Group.Basic.

def DDiffeomorph.mulLeft {G : Type u_1} [DiffeologicalSpace G] [Group G] [DSmoothMul G] (a : G) :
G ᵈ≃ G
Equations
Instances For
    def DDiffeomorph.addLeft {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DSmoothAdd G] (a : G) :
    G ᵈ≃ G
    Equations
    Instances For
      @[simp]
      theorem DDiffeomorph.coe_mulLeft {G : Type u_1} [DiffeologicalSpace G] [Group G] [DSmoothMul G] (a : G) :
      (DDiffeomorph.mulLeft a) = fun (x : G) => a * x
      @[simp]
      theorem DDiffeomorph.coe_addLeft {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DSmoothAdd G] (a : G) :
      (DDiffeomorph.addLeft a) = fun (x : G) => a + x
      def DDiffeomorph.mulRight {G : Type u_1} [DiffeologicalSpace G] [Group G] [DSmoothMul G] (a : G) :
      G ᵈ≃ G
      Equations
      Instances For
        Equations
        Instances For
          @[simp]
          theorem DDiffeomorph.coe_mulRight {G : Type u_1} [DiffeologicalSpace G] [Group G] [DSmoothMul G] (a : G) :
          (DDiffeomorph.mulRight a) = fun (x : G) => x * a
          @[simp]
          theorem DDiffeomorph.coe_addRight {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DSmoothAdd G] (a : G) :
          (DDiffeomorph.addRight a) = fun (x : G) => x + a

          DSmoothInv and DSmoothNeg #

          class DSmoothNeg (G : Type u_1) [DiffeologicalSpace G] [Neg G] :

          Class saying that negation in a type is smooth. A diffeological additive group is then a type with the instances AddGroup G, DSmoothAdd G and DSmoothNeg G.

          Instances
            class DSmoothInv (G : Type u_1) [DiffeologicalSpace G] [Inv G] :

            Class saying that inversion in a type is smooth. A diffeological group is then a type with the instances Group G, DSmoothMul G and DSmoothInv G.

            Instances
              theorem DSmooth.inv {G : Type u_1} [DiffeologicalSpace G] [Inv G] [DSmoothInv G] {X : Type u_2} [DiffeologicalSpace X] {f : XG} (hf : DSmooth f) :
              DSmooth fun (x : X) => (f x)⁻¹
              theorem DSmooth.neg {G : Type u_1} [DiffeologicalSpace G] [Neg G] [DSmoothNeg G] {X : Type u_2} [DiffeologicalSpace X] {f : XG} (hf : DSmooth f) :
              DSmooth fun (x : X) => -f x
              instance Prod.dsmoothInv {G : Type u_1} [DiffeologicalSpace G] [Inv G] [DSmoothInv G] {H : Type u_2} [DiffeologicalSpace H] [Inv H] [DSmoothInv H] :
              instance Prod.dsmoothNeg {G : Type u_1} [DiffeologicalSpace G] [Neg G] [DSmoothNeg G] {H : Type u_2} [DiffeologicalSpace H] [Neg H] [DSmoothNeg H] :
              instance Pi.dsmoothInv {ι : Type u_2} {G : ιType u_3} [(i : ι) → DiffeologicalSpace (G i)] [(i : ι) → Inv (G i)] [∀ (i : ι), DSmoothInv (G i)] :
              DSmoothInv ((i : ι) → G i)
              instance Pi.dsmoothNeg {ι : Type u_2} {G : ιType u_3} [(i : ι) → DiffeologicalSpace (G i)] [(i : ι) → Neg (G i)] [∀ (i : ι), DSmoothNeg (G i)] :
              DSmoothNeg ((i : ι) → G i)

              Inversion in a diffeological group as a diffeomorphism.

              Equations
              Instances For

                Negation in a diffeological group as a diffeomorphism.

                Equations
                Instances For
                  theorem dsmoothInv_sInf {G : Type u_1} [Inv G] {D : Set (DiffeologicalSpace G)} (h : dD, DSmoothInv G) :
                  theorem dsmoothNeg_sInf {G : Type u_1} [Neg G] {D : Set (DiffeologicalSpace G)} (h : dD, DSmoothNeg G) :
                  theorem dsmoothInv_iInf {G : Type u_1} {ι : Type u_2} [Inv G] {D : ιDiffeologicalSpace G} (h' : ∀ (i : ι), DSmoothInv G) :
                  theorem dsmoothNeg_iInf {G : Type u_1} {ι : Type u_2} [Neg G] {D : ιDiffeologicalSpace G} (h' : ∀ (i : ι), DSmoothNeg G) :
                  theorem dsmoothInv_inf {G : Type u_1} [Inv G] {d₁ d₂ : DiffeologicalSpace G} (h₁ : DSmoothInv G) (h₂ : DSmoothInv G) :
                  theorem dsmoothNeg_inf {G : Type u_1} [Neg G] {d₁ d₂ : DiffeologicalSpace G} (h₁ : DSmoothNeg G) (h₂ : DSmoothNeg G) :
                  theorem IsDInducing.dsmoothInv {G : Type u_1} {H : Type u_2} [Inv G] [Inv H] [DiffeologicalSpace G] [DiffeologicalSpace H] [DSmoothInv H] {f : GH} (hf : IsDInducing f) (hf_inv : ∀ (x : G), f x⁻¹ = (f x)⁻¹) :
                  theorem IsDInducing.dsmoothNeg {G : Type u_1} {H : Type u_2} [Neg G] [Neg H] [DiffeologicalSpace G] [DiffeologicalSpace H] [DSmoothNeg H] {f : GH} (hf : IsDInducing f) (hf_inv : ∀ (x : G), f (-x) = -f x) :
                  theorem dsmoothInv_induced {G : Type u_1} {H : Type u_2} [Inv G] [Inv H] [DiffeologicalSpace H] [DSmoothInv H] (f : GH) (hf_inv : ∀ (x : G), f x⁻¹ = (f x)⁻¹) :
                  theorem dsmoothNeg_induced {G : Type u_1} {H : Type u_2} [Neg G] [Neg H] [DiffeologicalSpace H] [DSmoothNeg H] (f : GH) (hf_inv : ∀ (x : G), f (-x) = -f x) :

                  Diffeological groups #

                  A diffeological group is a group which is also a diffeological space in such a way that the multiplication and inversion operations are smooth.

                  A diffeological (additive) group is a group in which the addition and negation operations are dsmooth.

                  Instances

                    A diffeological group is a group in which the multiplication and inversion operations are smooth.

                    Instances
                      theorem DiffeologicalGroup.dsmooth_conj_prod {G : Type u_1} [DiffeologicalSpace G] [Inv G] [Mul G] [DSmoothMul G] [DSmoothInv G] :
                      DSmooth fun (g : G × G) => g.1 * g.2 * g.1⁻¹

                      Conjugation is jointly smooth on G × G when both mul and inv are smooth.

                      theorem DiffeologicalAddGroup.dsmooth_conj_sum {G : Type u_1} [DiffeologicalSpace G] [Neg G] [Add G] [DSmoothAdd G] [DSmoothNeg G] :
                      DSmooth fun (g : G × G) => g.1 + g.2 + -g.1

                      Conjugation is jointly smooth on G × G when both add and neg are smooth.

                      theorem DiffeologicalGroup.dsmooth_conj {G : Type u_1} [DiffeologicalSpace G] [Inv G] [Mul G] [DSmoothMul G] (g : G) :
                      DSmooth fun (h : G) => g * h * g⁻¹

                      Conjugation by a fixed element is smooth when mul is smooth.

                      theorem DiffeologicalAddGroup.dsmooth_conj {G : Type u_1} [DiffeologicalSpace G] [Neg G] [Add G] [DSmoothAdd G] (g : G) :
                      DSmooth fun (h : G) => g + h + -g

                      Conjugation by a fixed element is smooth when add is smooth.

                      theorem DiffeologicalGroup.dsmooth_conj' {G : Type u_1} [DiffeologicalSpace G] [Inv G] [Mul G] [DSmoothMul G] [DSmoothInv G] (h : G) :
                      DSmooth fun (g : G) => g * h * g⁻¹

                      Conjugation acting on fixed element of the group is smooth when both mul and inv are smooth.

                      theorem DiffeologicalAddGroup.dsmooth_conj' {G : Type u_1} [DiffeologicalSpace G] [Neg G] [Add G] [DSmoothAdd G] [DSmoothNeg G] (h : G) :
                      DSmooth fun (g : G) => g + h + -g

                      Conjugation acting on fixed element of the additive group is smooth when both add and neg are smooth.

                      theorem dsmooth_zpow {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] (z : ) :
                      DSmooth fun (a : G) => a ^ z
                      theorem dsmooth_zsmul {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DiffeologicalAddGroup G] (z : ) :
                      DSmooth fun (a : G) => z a
                      theorem DSmooth.zpow {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] {X : Type u_2} [DiffeologicalSpace X] {f : XG} (h : DSmooth f) (z : ) :
                      DSmooth fun (b : X) => f b ^ z
                      theorem DSmooth.zsmul {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DiffeologicalAddGroup G] {X : Type u_2} [DiffeologicalSpace X] {f : XG} (h : DSmooth f) (z : ) :
                      DSmooth fun (b : X) => z f b
                      instance Pi.diffeologicalGroup {ι : Type u_3} {G : ιType u_4} [(i : ι) → DiffeologicalSpace (G i)] [(i : ι) → Group (G i)] [∀ (i : ι), DiffeologicalGroup (G i)] :
                      DiffeologicalGroup ((i : ι) → G i)
                      instance Pi.diffeologicalAddGroup {ι : Type u_3} {G : ιType u_4} [(i : ι) → DiffeologicalSpace (G i)] [(i : ι) → AddGroup (G i)] [∀ (i : ι), DiffeologicalAddGroup (G i)] :
                      DiffeologicalAddGroup ((i : ι) → G i)

                      If multiplication is continuous in α, then it also is in αᵐᵒᵖ.

                      If addition is continuous in α, then it also is in αᵃᵒᵖ.

                      The map (x, y) ↦ (x, x * y) as a diffeomorphism. This is a shear mapping.

                      Equations
                      Instances For

                        The map (x, y) ↦ (x, x + y) as a homeomorphism. This is a shear mapping.

                        Equations
                        Instances For
                          @[simp]
                          theorem DDiffeomorph.shearMulRight_coe (G : Type u_1) [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] :
                          (DDiffeomorph.shearMulRight G) = fun (z : G × G) => (z.1, z.1 * z.2)
                          @[simp]
                          theorem IsDInducing.diffeologicalGroup {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] {H : Type u_2} {F : Type u_3} [Group H] [DiffeologicalSpace H] [FunLike F H G] [MonoidHomClass F H G] (f : F) (hf : IsDInducing f) :

                          For any group homomorphism to a diffeological group, the induced diffeology makes the domain a diffeological group too.

                          For any group homomorphism to a diffeological group, the induced diffeology makes the domain a diffeological group too.

                          theorem diffeologicalGroup_induced {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] {H : Type u_2} {F : Type u_3} [Group H] [FunLike F H G] [MonoidHomClass F H G] (f : F) :
                          class DSmoothSub (G : Type u_1) [DiffeologicalSpace G] [Sub G] :

                          A typeclass saying that p : G × G ↦ p.1 - p.2 is a smooth function. This property automatically holds for diffeological additive groups but it also holds, e.g., for ℝ≥0.

                          • dsmooth_sub : DSmooth fun (p : G × G) => p.1 - p.2
                          Instances
                            class DSmoothDiv (G : Type u_1) [DiffeologicalSpace G] [Div G] :

                            A typeclass saying that p : G × G ↦ p.1 / p.2 is a smooth function. This property automatically holds for diffeological groups. Lemmas using this class have primes. The unprimed version is for GroupWithZero.

                            • dsmooth_div' : DSmooth fun (p : G × G) => p.1 / p.2
                            Instances
                              theorem DSmooth.div' {G : Type u_1} [DiffeologicalSpace G] [Div G] [DSmoothDiv G] {X : Type u_2} [DiffeologicalSpace X] {f g : XG} (hf : DSmooth f) (hg : DSmooth g) :
                              DSmooth fun (x : X) => f x / g x
                              theorem DSmooth.sub {G : Type u_1} [DiffeologicalSpace G] [Sub G] [DSmoothSub G] {X : Type u_2} [DiffeologicalSpace X] {f g : XG} (hf : DSmooth f) (hg : DSmooth g) :
                              DSmooth fun (x : X) => f x - g x
                              theorem dsmooth_div_left' {G : Type u_1} [DiffeologicalSpace G] [Div G] [DSmoothDiv G] (g : G) :
                              DSmooth fun (x : G) => g / x
                              theorem dsmooth_sub_left {G : Type u_1} [DiffeologicalSpace G] [Sub G] [DSmoothSub G] (g : G) :
                              DSmooth fun (x : G) => g - x
                              theorem dsmooth_div_right' {G : Type u_1} [DiffeologicalSpace G] [Div G] [DSmoothDiv G] (g : G) :
                              DSmooth fun (x : G) => x / g
                              theorem dsmooth_sub_right {G : Type u_1} [DiffeologicalSpace G] [Sub G] [DSmoothSub G] (g : G) :
                              DSmooth fun (x : G) => x - g

                              A version of DDiffeomorph.mulLeft a b⁻¹ that is defeq to a / b.

                              Equations
                              Instances For

                                A version of DDiffeomorph.addLeft a (-b) that is defeq to a - b.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem DDiffeomorph.divLeft_toFun {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] (g b : G) :
                                  (divLeft g) b = g / b
                                  @[simp]
                                  theorem DDiffeomorph.subLeft_toFun {G : Type u_1} [DiffeologicalSpace G] [AddGroup G] [DiffeologicalAddGroup G] (g b : G) :
                                  (subLeft g) b = g - b
                                  @[simp]
                                  @[simp]

                                  A version of DDiffeomorph.mulRight a⁻¹ b that is defeq to b / a.

                                  Equations
                                  Instances For

                                    A version of DDiffeomorph.addRight (-a) b that is defeq to b - a.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem DDiffeomorph.divRight_toFun {G : Type u_1} [DiffeologicalSpace G] [Group G] [DiffeologicalGroup G] (g b : G) :
                                      (divRight g) b = b / g
                                      @[simp]
                                      @[simp]

                                      A group with smooth inversion is diffeomorphic to its units.

                                      Equations
                                      Instances For

                                        An additive group with smooth negation is homeomorphic to its additive units.

                                        Equations
                                        Instances For

                                          The diffeological group isomorphism between the units of a product of two monoids, and the product of the units of each monoid.

                                          Equations
                                          Instances For

                                            The diffeological group isomorphism between the additive units of a product of two additive monoids, and the product of the additive units of each additive monoid.

                                            Equations
                                            Instances For
                                              theorem diffeologicalGroup_iInf {G : Type u_1} {ι : Type u_2} [Group G] {D : ιDiffeologicalSpace G} (h' : ∀ (i : ι), DiffeologicalGroup G) :
                                              theorem diffeologicalAddGroup_iInf {G : Type u_1} {ι : Type u_2} [AddGroup G] {D : ιDiffeologicalSpace G} (h' : ∀ (i : ι), DiffeologicalAddGroup G) :

                                              Lattice of group diffeologies #

                                              We define a type class GroupDiffeology G which endows a group G with a diffeology such that all group operations are smooth.

                                              Group diffeologies on a fixed group G are ordered by inclusion. They form a complete lattice, with the discrete diffeology and the indiscrete diffeology.

                                              Any function f : G → H induces coinduced f : DiffeologicalSpace G → GroupDiffeology H.

                                              An additive version AddGroupDiffeology G is defined as well.

                                              An additive group diffeology on a group G is a diffeology that makes G into an additive diffeological group.

                                              Instances For
                                                structure GroupDiffeology (G : Type u) [Group G] extends DiffeologicalSpace G, DiffeologicalGroup G :

                                                A group diffeology on a group G is a diffeology that makes G into a diffeological group.

                                                Instances For
                                                  theorem GroupDiffeology.dsmooth_mul' {G : Type u_1} [Group G] (d : GroupDiffeology G) :
                                                  DSmooth fun (p : G × G) => p.1 * p.2

                                                  A version of the global dsmooth_mul suitable for dot notation.

                                                  theorem AddGroupDiffeology.dsmooth_add' {G : Type u_1} [AddGroup G] (d : AddGroupDiffeology G) :
                                                  DSmooth fun (p : G × G) => p.1 + p.2

                                                  A version of the global dsmooth_add suitable for dot notation.

                                                  A version of the global dsmooth_inv suitable for dot notation.

                                                  A version of the global dsmooth_neg suitable for dot notation.

                                                  theorem GroupDiffeology.ext' {G : Type u_1} [Group G] {d₁ d₂ : GroupDiffeology G} (h : d₁.toDiffeologicalSpace = d₂.toDiffeologicalSpace) :
                                                  d₁ = d₂
                                                  theorem AddGroupDiffeology.ext' {G : Type u_1} [AddGroup G] {d₁ d₂ : AddGroupDiffeology G} (h : d₁.toDiffeologicalSpace = d₂.toDiffeologicalSpace) :
                                                  d₁ = d₂
                                                  theorem GroupDiffeology.ext'_iff {G : Type u_1} [Group G] {d₁ d₂ : GroupDiffeology G} :
                                                  Equations
                                                  Equations
                                                  Equations
                                                  Equations
                                                  Equations
                                                  Equations

                                                  Infimum of a collection of group diffeologies.

                                                  Equations

                                                  Infimum of a collection of additive group diffeologies

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  @[simp]
                                                  theorem GroupDiffeology.toDiffeologicalSpace_iInf {G : Type u_1} [Group G] {ι : Type u_2} (s : ιGroupDiffeology G) :
                                                  (⨅ (i : ι), s i).toDiffeologicalSpace = ⨅ (i : ι), (s i).toDiffeologicalSpace
                                                  @[simp]
                                                  theorem AddGroupDiffeology.toDiffeologicalSpace_iInf {G : Type u_1} [AddGroup G] {ι : Type u_2} (s : ιAddGroupDiffeology G) :
                                                  (⨅ (i : ι), s i).toDiffeologicalSpace = ⨅ (i : ι), (s i).toDiffeologicalSpace
                                                  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.
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.

                                                  If a diffeological group G is locally compact under the D-topology, then it is also a topological group. Local compactness is needed here because multiplication is a priori only continuous with respect to the D-topology on G × G, not the product topology - when G is locally compact the topologies agree, but otherwise the product topology could be fine enough for multiplication to not be continuous.

                                                  If a diffeological group G is locally compact under the D-topology, then it is also a topological group. Local compactness is needed here because addition is a priori only continuous with respect to the D-topology on G × G, not the product topology - when G is locally compact the topologies agree, but otherwise the product topology could be fine enough for addition to not be continuous.