Documentation

Orbifolds.Diffeology.Algebra.DSmoothMap

Algebraic structures on DSmoothMap #

In this file put algebraic structure instance on the type DSmoothMap X A of smooth maps from a diffeological space X to a diffeological algebraic structure A. For example, DSmoothMap X G is a group under pointwise multiplication whenever G is a diffeological group.

Adapted from Mathlib.Topology.ContinuousMap.Algebra.

mul and add #

instance DSmoothMap.instMul {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Mul A] [DSmoothMul A] :
Equations
instance DSmoothMap.instAdd {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Add A] [DSmoothAdd A] :
Equations
@[simp]
theorem DSmoothMap.coe_mul {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Mul A] [DSmoothMul A] (f g : DSmoothMap X A) :
⇑(f * g) = f * g
@[simp]
theorem DSmoothMap.coe_add {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Add A] [DSmoothAdd A] (f g : DSmoothMap X A) :
⇑(f + g) = f + g
@[simp]
theorem DSmoothMap.mul_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Mul A] [DSmoothMul A] (f g : DSmoothMap X A) (x : X) :
(f * g) x = f x * g x
@[simp]
theorem DSmoothMap.add_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Add A] [DSmoothAdd A] (f g : DSmoothMap X A) (x : X) :
(f + g) x = f x + g x
@[simp]
theorem DSmoothMap.mul_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Mul A] [DSmoothMul A] (f₁ f₂ : DSmoothMap Y A) (g : DSmoothMap X Y) :
(f₁ * f₂).comp g = f₁.comp g * f₂.comp g
@[simp]
theorem DSmoothMap.add_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Add A] [DSmoothAdd A] (f₁ f₂ : DSmoothMap Y A) (g : DSmoothMap X Y) :
(f₁ + f₂).comp g = f₁.comp g + f₂.comp g

one and zero #

instance DSmoothMap.instOne {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [One A] :
Equations
instance DSmoothMap.instZero {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Zero A] :
Equations
@[simp]
theorem DSmoothMap.coe_one {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [One A] :
1 = 1
@[simp]
theorem DSmoothMap.coe_zero {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Zero A] :
0 = 0
@[simp]
theorem DSmoothMap.one_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [One A] (x : X) :
1 x = 1
@[simp]
theorem DSmoothMap.zero_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Zero A] (x : X) :
0 x = 0
@[simp]
theorem DSmoothMap.one_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [One A] (g : DSmoothMap X Y) :
comp 1 g = 1
@[simp]
theorem DSmoothMap.zero_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Zero A] (g : DSmoothMap X Y) :
comp 0 g = 0

Nat.cast #

Equations
@[simp]
theorem DSmoothMap.coe_natCast {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [NatCast A] (n : ) :
n = n
@[simp]
theorem DSmoothMap.natCast_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [NatCast A] (n : ) (x : X) :
n x = n
Equations

Int.cast #

@[simp]
theorem DSmoothMap.coe_intCast {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [IntCast A] (n : ) :
n = n
@[simp]
theorem DSmoothMap.intCast_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [IntCast A] (n : ) (x : X) :
n x = n

nsmul and pow #

Equations
Equations
@[simp]
theorem DSmoothMap.coe_pow {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Monoid A] [DSmoothMul A] (f : DSmoothMap X A) (n : ) :
⇑(f ^ n) = f ^ n
theorem DSmoothMap.coe_nsmul {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddMonoid A] [DSmoothAdd A] (n : ) (f : DSmoothMap X A) :
⇑(n f) = n f
@[simp]
theorem DSmoothMap.pow_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Monoid A] [DSmoothMul A] (f : DSmoothMap X A) (n : ) (x : X) :
(f ^ n) x = f x ^ n
theorem DSmoothMap.nsmul_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddMonoid A] [DSmoothAdd A] (f : DSmoothMap X A) (n : ) (x : X) :
(n f) x = n f x
@[simp]
theorem DSmoothMap.pow_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Monoid A] [DSmoothMul A] (f : DSmoothMap Y A) (n : ) (g : DSmoothMap X Y) :
(f ^ n).comp g = f.comp g ^ n
theorem DSmoothMap.nsmul_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [AddMonoid A] [DSmoothAdd A] (f : DSmoothMap Y A) (n : ) (g : DSmoothMap X Y) :
(n f).comp g = n f.comp g

inv and neg #

Equations
Equations
@[simp]
theorem DSmoothMap.coe_inv {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Inv A] [DSmoothInv A] (f : DSmoothMap X A) :
f⁻¹ = (⇑f)⁻¹
@[simp]
theorem DSmoothMap.coe_neg {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Neg A] [DSmoothNeg A] (f : DSmoothMap X A) :
⇑(-f) = -f
@[simp]
theorem DSmoothMap.inv_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Inv A] [DSmoothInv A] (f : DSmoothMap X A) (x : X) :
f⁻¹ x = (f x)⁻¹
@[simp]
theorem DSmoothMap.neg_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Neg A] [DSmoothNeg A] (f : DSmoothMap X A) (x : X) :
(-f) x = -f x
@[simp]
theorem DSmoothMap.inv_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Inv A] [DSmoothInv A] (f : DSmoothMap Y A) (g : DSmoothMap X Y) :
@[simp]
theorem DSmoothMap.neg_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Neg A] [DSmoothNeg A] (f : DSmoothMap Y A) (g : DSmoothMap X Y) :
(-f).comp g = -f.comp g

div and sub #

Equations
Equations
@[simp]
theorem DSmoothMap.coe_div {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Div A] [DSmoothDiv A] (f g : DSmoothMap X A) :
⇑(f / g) = f / g
@[simp]
theorem DSmoothMap.coe_sub {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Sub A] [DSmoothSub A] (f g : DSmoothMap X A) :
⇑(f - g) = f - g
@[simp]
theorem DSmoothMap.div_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Div A] [DSmoothDiv A] (f g : DSmoothMap X A) (x : X) :
(f / g) x = f x / g x
@[simp]
theorem DSmoothMap.sub_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Sub A] [DSmoothSub A] (f g : DSmoothMap X A) (x : X) :
(f - g) x = f x - g x
@[simp]
theorem DSmoothMap.div_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Div A] [DSmoothDiv A] (f g : DSmoothMap Y A) (h : DSmoothMap X Y) :
(f / g).comp h = f.comp h / g.comp h
@[simp]
theorem DSmoothMap.sub_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Sub A] [DSmoothSub A] (f g : DSmoothMap Y A) (h : DSmoothMap X Y) :
(f - g).comp h = f.comp h - g.comp h

zpow and zsmul #

Equations
Equations
@[simp]
theorem DSmoothMap.coe_zpow {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Group A] [DiffeologicalGroup A] (f : DSmoothMap X A) (z : ) :
⇑(f ^ z) = f ^ z
theorem DSmoothMap.coe_zsmul {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddGroup A] [DiffeologicalAddGroup A] (z : ) (f : DSmoothMap X A) :
⇑(z f) = z f
@[simp]
theorem DSmoothMap.zpow_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Group A] [DiffeologicalGroup A] (f : DSmoothMap X A) (z : ) (x : X) :
(f ^ z) x = f x ^ z
theorem DSmoothMap.zsmul_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddGroup A] [DiffeologicalAddGroup A] (f : DSmoothMap X A) (z : ) (x : X) :
(z f) x = z f x
@[simp]
theorem DSmoothMap.zpow_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [Group A] [DiffeologicalGroup A] (f : DSmoothMap Y A) (z : ) (g : DSmoothMap X Y) :
(f ^ z).comp g = f.comp g ^ z
theorem DSmoothMap.zsmul_comp {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] [AddGroup A] [DiffeologicalAddGroup A] (f : DSmoothMap Y A) (z : ) (g : DSmoothMap X Y) :
(z f).comp g = z f.comp g

Structure instances #

Equations

Coercion to a function as a MonoidHom. Similar to MonoidHom.coeFn.

Equations
Instances For

    Coercion to a function as an AddMonoidHom. Similar to AddMonoidHom.coeFn.

    Equations
    Instances For
      @[simp]
      theorem DSmoothMap.coeFnMonoidHom_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Monoid A] [DSmoothMul A] (f : DSmoothMap X A) (a : X) :
      @[simp]

      Coercion to a function as a RingHom.

      Equations
      Instances For
        @[simp]
        theorem DSmoothMap.coeFnRingHom_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [Ring A] [DiffeologicalRing A] (f : DSmoothMap X A) (a : X) :
        coeFnRingHom f a = f a

        Precomposition DSmoothMap Y A → DSmoothMap X A with f : DSmoothMap X Y as a ring homomorphism. TODO: add versions of this for monoids, groups etc. as needed.

        Equations
        Instances For
          @[simp]
          theorem DSmoothMap.coe_prod {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [CommMonoid A] [DSmoothMul A] {ι : Type u_4} (s : Finset ι) (f : ιDSmoothMap X A) :
          (∏ is, f i) = is, (f i)
          @[simp]
          theorem DSmoothMap.coe_sum {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddCommMonoid A] [DSmoothAdd A] {ι : Type u_4} (s : Finset ι) (f : ιDSmoothMap X A) :
          (∑ is, f i) = is, (f i)
          theorem DSmoothMap.prod_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [CommMonoid A] [DSmoothMul A] {ι : Type u_4} (s : Finset ι) (f : ιDSmoothMap X A) (x : X) :
          (∏ is, f i) x = is, (f i) x
          theorem DSmoothMap.sum_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] [AddCommMonoid A] [DSmoothAdd A] {ι : Type u_4} (s : Finset ι) (f : ιDSmoothMap X A) (x : X) :
          (∑ is, f i) x = is, (f i) x

          Diffeological structure instances #

          Modules and algebras #

          instance DSmoothMap.instSMul {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] :

          TODO: weaken this to DSmoothConstSMul once that is defined, with no diffeology required on R.

          Equations
          instance DSmoothMap.instVAdd {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [VAdd R M] [DSmoothVAdd R M] :
          Equations
          @[simp]
          theorem DSmoothMap.coe_smul {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] (c : R) (f : DSmoothMap X M) :
          ⇑(c f) = c f
          @[simp]
          theorem DSmoothMap.coe_vadd {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [VAdd R M] [DSmoothVAdd R M] (c : R) (f : DSmoothMap X M) :
          ⇑(c +ᵥ f) = c +ᵥ f
          theorem DSmoothMap.smul_apply {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] (c : R) (f : DSmoothMap X M) (x : X) :
          (c f) x = c f x
          theorem DSmoothMap.vadd_apply {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [VAdd R M] [DSmoothVAdd R M] (c : R) (f : DSmoothMap X M) (x : X) :
          (c +ᵥ f) x = c +ᵥ f x
          @[simp]
          theorem DSmoothMap.smul_comp {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] (r : R) (f : DSmoothMap Y M) (g : DSmoothMap X Y) :
          (r f).comp g = r f.comp g
          @[simp]
          theorem DSmoothMap.vadd_comp {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [VAdd R M] [DSmoothVAdd R M] (r : R) (f : DSmoothMap Y M) (g : DSmoothMap X Y) :
          (r +ᵥ f).comp g = r +ᵥ f.comp g
          instance DSmoothMap.instSMulCommClass {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {R' : Type u_5} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace R'] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] [SMul R' M] [DSmoothSMul R' M] [SMulCommClass R R' M] :
          instance DSmoothMap.instVAddCommClass {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {R' : Type u_5} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace R'] [DiffeologicalSpace M] [VAdd R M] [DSmoothVAdd R M] [VAdd R' M] [DSmoothVAdd R' M] [VAddCommClass R R' M] :
          instance DSmoothMap.instIsScalarTower {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {R' : Type u_5} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace R'] [DiffeologicalSpace M] [SMul R M] [DSmoothSMul R M] [SMul R' M] [DSmoothSMul R' M] [SMul R R'] [IsScalarTower R R' M] :

          Coercion to a function as a LinearMap.

          Equations
          Instances For
            @[simp]
            theorem DSmoothMap.coeFnLinearMap_apply {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [Ring R] [AddCommMonoid M] [Module R M] [DSmoothAdd M] [DSmoothSMul R M] (a✝ : DSmoothMap X M) (a✝¹ : X) :
            coeFnLinearMap a✝ a✝¹ = (↑coeFnAddMonoidHom).toFun a✝ a✝¹
            def DSmoothMap.C {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] {R : Type u_4} [CommSemiring R] [Ring A] [Algebra R A] [DiffeologicalRing A] :

            Smooth constant functions as a RingHom.

            Equations
            • DSmoothMap.C = { toFun := fun (c : R) => { toFun := fun (x : X) => (algebraMap R A) c, dsmooth := }, map_one' := , map_mul' := , map_zero' := , map_add' := }
            Instances For
              @[simp]
              theorem DSmoothMap.C_apply {X : Type u_1} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace A] {R : Type u_4} [CommSemiring R] [Ring A] [Algebra R A] [DiffeologicalRing A] (r : R) (x : X) :
              (C r) x = (algebraMap R A) r
              Equations

              Precomposition DSmoothMap Y A → DSmoothMap X A with f : DSmoothMap X Y as an algebra homomorphism.

              Equations
              Instances For
                @[simp]
                theorem DSmoothMap.compRightAlgHom_apply_apply {X : Type u_1} {Y : Type u_2} {A : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace A] {R : Type u_4} [DiffeologicalSpace R] [CommRing R] [Ring A] [Algebra R A] [DiffeologicalRing A] [DSmoothSMul R A] (f : DSmoothMap X Y) (g : DSmoothMap Y A) (a✝ : X) :
                (f.compRightAlgHom g) a✝ = g (f a✝)
                instance DSmoothMap.instSMul' {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [Ring R] [AddCommMonoid M] [Module R M] [DSmoothSMul R M] :
                Equations
                @[simp]
                theorem DSmoothMap.coe_smul' {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [Ring R] [AddCommMonoid M] [Module R M] [DSmoothSMul R M] (f : DSmoothMap X R) (g : DSmoothMap X M) :
                ⇑(f g) = f g
                theorem DSmoothMap.smul_apply' {X : Type u_1} [DiffeologicalSpace X] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [Ring R] [AddCommMonoid M] [Module R M] [DSmoothSMul R M] (f : DSmoothMap X R) (g : DSmoothMap X M) (x : X) :
                (f g) x = f x g x
                Equations

                Precomposition DSmoothMap Y M → DSmoothMap X M with f : DSmoothMap X Y as a semilinear map over f.compRightRingHom : DSmoothMap Y R →+* DSmoothMap X R.

                Equations
                Instances For
                  @[simp]
                  theorem DSmoothMap.compRightLinearMap'_apply_apply {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {R : Type u_4} {M : Type u_6} [DiffeologicalSpace R] [DiffeologicalSpace M] [Ring R] [AddCommMonoid M] [Module R M] [DiffeologicalRing R] [DSmoothAdd M] [DSmoothSMul R M] (f : DSmoothMap X Y) (g : DSmoothMap Y M) (a✝ : X) :
                  (f.compRightLinearMap' g) a✝ = g (f a✝)