Documentation

Mathlib.Algebra.MonoidAlgebra.Basic

Monoid algebras #

Multiplicative monoids #

Non-unital, non-associative algebra structure #

theorem MonoidAlgebra.nonUnitalAlgHom_ext (k : Type u₁) {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : MonoidAlgebra k G →ₙₐ[k] A} (h : ∀ (x : G), φ₁ (single x 1) = φ₂ (single x 1)) :
φ₁ = φ₂

A non_unital k-algebra homomorphism from MonoidAlgebra k G is uniquely defined by its values on the functions single a 1.

theorem AddMonoidAlgebra.nonUnitalAlgHom_ext (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₙₐ[k] A} (h : ∀ (x : G), φ₁ (single x 1) = φ₂ (single x 1)) :
φ₁ = φ₂

A non_unital k-algebra homomorphism from k[G] is uniquely defined by its values on the functions single a 1.

theorem MonoidAlgebra.nonUnitalAlgHom_ext' (k : Type u₁) {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : MonoidAlgebra k G →ₙₐ[k] A} (h : φ₁.toMulHom.comp (ofMagma k G) = φ₂.toMulHom.comp (ofMagma k G)) :
φ₁ = φ₂

See note [partially-applied ext lemmas].

theorem MonoidAlgebra.nonUnitalAlgHom_ext'_iff {k : Type u₁} {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : MonoidAlgebra k G →ₙₐ[k] A} :
φ₁ = φ₂ φ₁.toMulHom.comp (ofMagma k G) = φ₂.toMulHom.comp (ofMagma k G)
def MonoidAlgebra.liftMagma (k : Type u₁) {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] :

The functor G ↦ MonoidAlgebra k G, from the category of magmas to the category of non-unital, non-associative algebras over k is adjoint to the forgetful functor in the other direction.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem MonoidAlgebra.liftMagma_apply_apply (k : Type u₁) {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (f : G →ₙ* A) (a : MonoidAlgebra k G) :
    ((liftMagma k) f) a = Finsupp.sum a fun (m : G) (t : k) => t f m
    @[simp]
    theorem MonoidAlgebra.liftMagma_symm_apply (k : Type u₁) {G : Type u₂} [Semiring k] [Mul G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (F : MonoidAlgebra k G →ₙₐ[k] A) :

    Algebra structure #

    instance MonoidAlgebra.algebra {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] :

    The instance Algebra k (MonoidAlgebra A G) whenever we have Algebra k A.

    In particular this provides the instance Algebra k (MonoidAlgebra k G).

    Equations
    instance AddMonoidAlgebra.algebra {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] :

    The instance Algebra R k[G] whenever we have Algebra R k.

    In particular this provides the instance Algebra k k[G].

    Equations
    def MonoidAlgebra.singleOneAlgHom {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] :

    Finsupp.single 1 as an AlgHom

    Equations
    Instances For
      def AddMonoidAlgebra.singleZeroAlgHom {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] :

      Finsupp.single 0 as an AlgHom

      Equations
      Instances For
        @[simp]
        theorem MonoidAlgebra.singleOneAlgHom_apply {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] (b : A) :
        @[simp]
        theorem AddMonoidAlgebra.singleZeroAlgHom_apply {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] (b : A) :
        @[simp]
        theorem MonoidAlgebra.coe_algebraMap {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] :
        (algebraMap k (MonoidAlgebra A G)) = single 1 (algebraMap k A)
        @[simp]
        theorem AddMonoidAlgebra.coe_algebraMap {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] :
        theorem MonoidAlgebra.single_eq_algebraMap_mul_of {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] (a : G) (b : k) :
        single a b = (algebraMap k (MonoidAlgebra k G)) b * (of k G) a
        theorem MonoidAlgebra.single_algebraMap_eq_algebraMap_mul_of {k : Type u₁} {G : Type u₂} {A : Type u_3} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] (a : G) (b : k) :
        single a ((algebraMap k A) b) = (algebraMap k (MonoidAlgebra A G)) b * (of A G) a
        def MonoidAlgebra.liftNCAlgHom {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] {B : Type u_3} [Semiring B] [Algebra k B] (f : A →ₐ[k] B) (g : G →* B) (h_comm : ∀ (x : A) (y : G), Commute (f x) (g y)) :

        liftNCRingHom as an AlgHom, for when f is an AlgHom

        Equations
        Instances For
          theorem MonoidAlgebra.algHom_ext {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] φ₁ φ₂ : MonoidAlgebra k G →ₐ[k] A (h : ∀ (x : G), φ₁ (single x 1) = φ₂ (single x 1)) :
          φ₁ = φ₂

          A k-algebra homomorphism from MonoidAlgebra k G is uniquely defined by its values on the functions single a 1.

          theorem AddMonoidAlgebra.algHom_ext {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A (h : ∀ (x : G), φ₁ (single x 1) = φ₂ (single x 1)) :
          φ₁ = φ₂

          A k-algebra homomorphism from k[G] is uniquely defined by its values on the functions single a 1.

          theorem MonoidAlgebra.algHom_ext' {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] φ₁ φ₂ : MonoidAlgebra k G →ₐ[k] A (h : (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)) :
          φ₁ = φ₂

          See note [partially-applied ext lemmas].

          theorem MonoidAlgebra.algHom_ext'_iff {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] {φ₁ φ₂ : MonoidAlgebra k G →ₐ[k] A} :
          φ₁ = φ₂ (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)
          def MonoidAlgebra.lift (k : Type u₁) (G : Type u₂) [CommSemiring k] [Monoid G] (A : Type u₃) [Semiring A] [Algebra k A] :

          Any monoid homomorphism G →* A can be lifted to an algebra homomorphism MonoidAlgebra k G →ₐ[k] A.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem MonoidAlgebra.lift_apply' {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : G →* A) (f : MonoidAlgebra k G) :
            ((lift k G A) F) f = Finsupp.sum f fun (a : G) (b : k) => (algebraMap k A) b * F a
            theorem MonoidAlgebra.lift_apply {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : G →* A) (f : MonoidAlgebra k G) :
            ((lift k G A) F) f = Finsupp.sum f fun (a : G) (b : k) => b F a
            theorem MonoidAlgebra.lift_def {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : G →* A) :
            ((lift k G A) F) = (liftNC (algebraMap k A) F)
            @[simp]
            theorem MonoidAlgebra.lift_symm_apply {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : MonoidAlgebra k G →ₐ[k] A) (x : G) :
            ((lift k G A).symm F) x = F (single x 1)
            @[simp]
            theorem MonoidAlgebra.lift_single {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : G →* A) (a : G) (b : k) :
            ((lift k G A) F) (single a b) = b F a
            theorem MonoidAlgebra.lift_of {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : G →* A) (x : G) :
            ((lift k G A) F) ((of k G) x) = F x
            theorem MonoidAlgebra.lift_unique' {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : MonoidAlgebra k G →ₐ[k] A) :
            F = (lift k G A) ((↑F).comp (of k G))
            theorem MonoidAlgebra.lift_unique {k : Type u₁} {G : Type u₂} [CommSemiring k] [Monoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : MonoidAlgebra k G →ₐ[k] A) (f : MonoidAlgebra k G) :
            F f = Finsupp.sum f fun (a : G) (b : k) => b F (single a 1)

            Decomposition of a k-algebra homomorphism from MonoidAlgebra k G by its values on F (single a 1).

            def MonoidAlgebra.mapDomainNonUnitalAlgHom (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_6} {H : Type u_7} {F : Type u_8} [Mul G] [Mul H] [FunLike F G H] [MulHomClass F G H] (f : F) :

            If f : G → H is a homomorphism between two magmas, then Finsupp.mapDomain f is a non-unital algebra homomorphism between their magma algebras.

            Equations
            Instances For
              def AddMonoidAlgebra.mapDomainNonUnitalAlgHom (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_6} {H : Type u_7} {F : Type u_8} [Add G] [Add H] [FunLike F G H] [AddHomClass F G H] (f : F) :

              If f : G → H is a homomorphism between two additive magmas, then Finsupp.mapDomain f is a non-unital algebra homomorphism between their additive magma algebras.

              Equations
              Instances For
                @[simp]
                theorem MonoidAlgebra.mapDomainNonUnitalAlgHom_apply (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_6} {H : Type u_7} {F : Type u_8} [Mul G] [Mul H] [FunLike F G H] [MulHomClass F G H] (f : F) (a✝ : G →₀ A) :
                @[simp]
                theorem AddMonoidAlgebra.mapDomainNonUnitalAlgHom_apply (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_6} {H : Type u_7} {F : Type u_8} [Add G] [Add H] [FunLike F G H] [AddHomClass F G H] (f : F) (a✝ : G →₀ A) :
                theorem MonoidAlgebra.mapDomain_algebraMap {k : Type u₁} {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] {F : Type u_4} [FunLike F G H] [MonoidHomClass F G H] (f : F) (r : k) :
                mapDomain (⇑f) ((algebraMap k (MonoidAlgebra A G)) r) = (algebraMap k (MonoidAlgebra A H)) r
                theorem AddMonoidAlgebra.mapDomain_algebraMap {k : Type u₁} {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] {F : Type u_4} [FunLike F G H] [AddMonoidHomClass F G H] (f : F) (r : k) :
                def MonoidAlgebra.mapDomainAlgHom {G : Type u₂} [Monoid G] (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_6} {F : Type u_7} [Monoid H] [FunLike F G H] [MonoidHomClass F G H] (f : F) :

                If f : G → H is a multiplicative homomorphism between two monoids, then Finsupp.mapDomain f is an algebra homomorphism between their monoid algebras.

                Equations
                Instances For
                  def AddMonoidAlgebra.mapDomainAlgHom {G : Type u₂} [AddMonoid G] (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_6} {F : Type u_7} [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F) :

                  If f : G → H is an additive homomorphism between two additive monoids, then Finsupp.mapDomain f is an algebra homomorphism between their additive monoid algebras.

                  Equations
                  Instances For
                    @[simp]
                    theorem AddMonoidAlgebra.mapDomainAlgHom_apply {G : Type u₂} [AddMonoid G] (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_6} {F : Type u_7} [AddMonoid H] [FunLike F G H] [AddMonoidHomClass F G H] (f : F) (a✝ : G →₀ A) :
                    (mapDomainAlgHom k A f) a✝ = Finsupp.mapDomain (⇑f) a✝
                    @[simp]
                    theorem MonoidAlgebra.mapDomainAlgHom_apply {G : Type u₂} [Monoid G] (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_6} {F : Type u_7} [Monoid H] [FunLike F G H] [MonoidHomClass F G H] (f : F) (a✝ : G →₀ A) :
                    (mapDomainAlgHom k A f) a✝ = Finsupp.mapDomain (⇑f) a✝
                    @[simp]
                    theorem MonoidAlgebra.mapDomainAlgHom_id {G : Type u₂} [Monoid G] (k : Type u_4) (A : Type u_5) [CommSemiring k] [Semiring A] [Algebra k A] :
                    @[simp]
                    theorem MonoidAlgebra.mapDomainAlgHom_comp (k : Type u_4) (A : Type u_5) {G₁ : Type u_6} {G₂ : Type u_7} {G₃ : Type u_8} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G₁] [Monoid G₂] [Monoid G₃] (f : G₁ →* G₂) (g : G₂ →* G₃) :
                    @[simp]
                    theorem AddMonoidAlgebra.mapDomainAlgHom_comp (k : Type u_4) (A : Type u_5) {G₁ : Type u_6} {G₂ : Type u_7} {G₃ : Type u_8} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G₁] [AddMonoid G₂] [AddMonoid G₃] (f : G₁ →+ G₂) (g : G₂ →+ G₃) :
                    def MonoidAlgebra.domCongr (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) :

                    If e : G ≃* H is a multiplicative equivalence between two monoids, then MonoidAlgebra.domCongr e is an algebra equivalence between their monoid algebras.

                    Equations
                    Instances For
                      def AddMonoidAlgebra.domCongr (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) :

                      If e : G ≃+ H is an additive equivalence between two additive monoids, then AddMonoidAlgebra.domCongr e is an algebra equivalence between their additive monoid algebras.

                      Equations
                      Instances For
                        theorem MonoidAlgebra.domCongr_toAlgHom (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) :
                        (domCongr k A e) = mapDomainAlgHom k A e
                        theorem AddMonoidAlgebra.domCongr_toAlgHom (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) :
                        (domCongr k A e) = mapDomainAlgHom k A e
                        @[simp]
                        theorem MonoidAlgebra.domCongr_apply (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) (f : MonoidAlgebra A G) (h : H) :
                        ((domCongr k A e) f) h = f (e.symm h)
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_apply (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) (f : AddMonoidAlgebra A G) (h : H) :
                        ((domCongr k A e) f) h = f (e.symm h)
                        @[simp]
                        theorem MonoidAlgebra.domCongr_support (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) (f : MonoidAlgebra A G) :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_support (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) (f : AddMonoidAlgebra A G) :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_single (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) (g : G) (a : A) :
                        (domCongr k A e) (single g a) = single (e g) a
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_single (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) (g : G) (a : A) :
                        (domCongr k A e) (single g a) = single (e g) a
                        @[simp]
                        theorem MonoidAlgebra.domCongr_comp_lsingle (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) (g : G) :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_comp_lsingle (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) (g : G) :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_refl (k : Type u₁) {G : Type u₂} [CommSemiring k] [Monoid G] (A : Type u₃) [Semiring A] [Algebra k A] :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_refl (k : Type u₁) {G : Type u₂} [CommSemiring k] [AddMonoid G] (A : Type u₃) [Semiring A] [Algebra k A] :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_symm (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [Monoid G] [Monoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃* H) :
                        (domCongr k A e).symm = domCongr k A e.symm
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_symm (k : Type u₁) {G : Type u₂} {H : Type u_1} [CommSemiring k] [AddMonoid G] [AddMonoid H] (A : Type u₃) [Semiring A] [Algebra k A] (e : G ≃+ H) :
                        (domCongr k A e).symm = domCongr k A e.symm
                        def MonoidAlgebra.GroupSMul.linearMap (k : Type u₁) {G : Type u₂} [Monoid G] [CommSemiring k] (V : Type u₃) [AddCommMonoid V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] (g : G) :

                        When V is a k[G]-module, multiplication by a group element g is a k-linear map.

                        Equations
                        Instances For
                          @[simp]
                          theorem MonoidAlgebra.GroupSMul.linearMap_apply (k : Type u₁) {G : Type u₂} [Monoid G] [CommSemiring k] (V : Type u₃) [AddCommMonoid V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] (g : G) (v : V) :
                          (linearMap k V g) v = single g 1 v
                          def MonoidAlgebra.equivariantOfLinearOfComm {k : Type u₁} {G : Type u₂} [Monoid G] [CommSemiring k] {V : Type u₃} {W : Type u₄} [AddCommMonoid V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] [AddCommMonoid W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (f : V →ₗ[k] W) (h : ∀ (g : G) (v : V), f (single g 1 v) = single g 1 f v) :

                          Build a k[G]-linear map from a k-linear map and evidence that it is G-equivariant.

                          Equations
                          Instances For
                            @[simp]
                            theorem MonoidAlgebra.equivariantOfLinearOfComm_apply {k : Type u₁} {G : Type u₂} [Monoid G] [CommSemiring k] {V : Type u₃} {W : Type u₄} [AddCommMonoid V] [Module k V] [Module (MonoidAlgebra k G) V] [IsScalarTower k (MonoidAlgebra k G) V] [AddCommMonoid W] [Module k W] [Module (MonoidAlgebra k G) W] [IsScalarTower k (MonoidAlgebra k G) W] (f : V →ₗ[k] W) (h : ∀ (g : G) (v : V), f (single g 1 v) = single g 1 f v) (v : V) :

                            Non-unital, non-associative algebra structure #

                            theorem AddMonoidAlgebra.nonUnitalAlgHom_ext' (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₙₐ[k] A} (h : φ₁.toMulHom.comp (ofMagma k G) = φ₂.toMulHom.comp (ofMagma k G)) :
                            φ₁ = φ₂

                            See note [partially-applied ext lemmas].

                            theorem AddMonoidAlgebra.nonUnitalAlgHom_ext'_iff {k : Type u₁} {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [DistribMulAction k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₙₐ[k] A} :
                            φ₁ = φ₂ φ₁.toMulHom.comp (ofMagma k G) = φ₂.toMulHom.comp (ofMagma k G)

                            The functor G ↦ k[G], from the category of magmas to the category of non-unital, non-associative algebras over k is adjoint to the forgetful functor in the other direction.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem AddMonoidAlgebra.liftMagma_apply_apply (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (f : Multiplicative G →ₙ* A) (a : AddMonoidAlgebra k G) :
                              ((liftMagma k) f) a = Finsupp.sum a fun (m : G) (t : k) => t f (Multiplicative.ofAdd m)
                              @[simp]
                              theorem AddMonoidAlgebra.liftMagma_symm_apply (k : Type u₁) {G : Type u₂} [Semiring k] [Add G] {A : Type u₃} [NonUnitalNonAssocSemiring A] [Module k A] [IsScalarTower k A A] [SMulCommClass k A A] (F : AddMonoidAlgebra k G →ₙₐ[k] A) :

                              Algebra structure #

                              def AddMonoidAlgebra.liftNCAlgHom {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] {B : Type u_3} [Semiring B] [Algebra k B] (f : A →ₐ[k] B) (g : Multiplicative G →* B) (h_comm : ∀ (x : A) (y : Multiplicative G), Commute (f x) (g y)) :

                              liftNCRingHom as an AlgHom, for when f is an AlgHom

                              Equations
                              Instances For
                                theorem AddMonoidAlgebra.algHom_ext' {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A (h : (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)) :
                                φ₁ = φ₂

                                See note [partially-applied ext lemmas].

                                theorem AddMonoidAlgebra.algHom_ext'_iff {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A} :
                                φ₁ = φ₂ (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)
                                def AddMonoidAlgebra.lift (k : Type u₁) (G : Type u₂) [CommSemiring k] [AddMonoid G] (A : Type u₃) [Semiring A] [Algebra k A] :

                                Any monoid homomorphism G →* A can be lifted to an algebra homomorphism k[G] →ₐ[k] A.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem AddMonoidAlgebra.lift_apply' {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (f : MonoidAlgebra k G) :
                                  ((lift k G A) F) f = Finsupp.sum f fun (a : G) (b : k) => (algebraMap k A) b * F (Multiplicative.ofAdd a)
                                  theorem AddMonoidAlgebra.lift_apply {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (f : MonoidAlgebra k G) :
                                  ((lift k G A) F) f = Finsupp.sum f fun (a : G) (b : k) => b F (Multiplicative.ofAdd a)
                                  theorem AddMonoidAlgebra.lift_def {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) :
                                  ((lift k G A) F) = (liftNC (algebraMap k A) F)
                                  @[simp]
                                  theorem AddMonoidAlgebra.lift_symm_apply {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A) (x : Multiplicative G) :
                                  ((lift k G A).symm F) x = F (single (Multiplicative.toAdd x) 1)
                                  theorem AddMonoidAlgebra.lift_of {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (x : Multiplicative G) :
                                  ((lift k G A) F) ((of k G) x) = F x
                                  @[simp]
                                  theorem AddMonoidAlgebra.lift_single {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (a : G) (b : k) :
                                  ((lift k G A) F) (single a b) = b F (Multiplicative.ofAdd a)
                                  theorem AddMonoidAlgebra.lift_of' {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : Multiplicative G →* A) (x : G) :
                                  ((lift k G A) F) (of' k G x) = F (Multiplicative.ofAdd x)
                                  theorem AddMonoidAlgebra.lift_unique' {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A) :
                                  F = (lift k G A) ((↑F).comp (of k G))
                                  theorem AddMonoidAlgebra.lift_unique {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] (F : AddMonoidAlgebra k G →ₐ[k] A) (f : MonoidAlgebra k G) :
                                  F f = Finsupp.sum f fun (a : G) (b : k) => b F (single a 1)

                                  Decomposition of a k-algebra homomorphism from MonoidAlgebra k G by its values on F (single a 1).

                                  theorem AddMonoidAlgebra.algHom_ext_iff {k : Type u₁} {G : Type u₂} [CommSemiring k] [AddMonoid G] {A : Type u₃} [Semiring A] [Algebra k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A} :
                                  (∀ (x : G), φ₁ (Finsupp.single x 1) = φ₂ (Finsupp.single x 1)) φ₁ = φ₂

                                  The algebra equivalence between AddMonoidAlgebra and MonoidAlgebra in terms of Multiplicative.

                                  Equations
                                  Instances For

                                    The algebra equivalence between MonoidAlgebra and AddMonoidAlgebra in terms of Additive.

                                    Equations
                                    Instances For