Documentation

Mathlib.Algebra.MonoidAlgebra.Basic

Monoid algebras #

Multiplicative monoids #

Non-unital, non-associative algebra structure #

theorem MonoidAlgebra.nonUnitalAlgHom_ext (k : Type u_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Add G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1} {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Mul G] [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_1} {G : Type u_2} {A : Type u_11} [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_1} {G : Type u_2} {A : Type u_11} [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_1} {G : Type u_2} {A : Type u_11} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] :

    Finsupp.single 1 as an AlgHom

    Equations
    Instances For
      def AddMonoidAlgebra.singleZeroAlgHom {k : Type u_1} {G : Type u_2} {A : Type u_11} [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_1} {G : Type u_2} {A : Type u_11} [CommSemiring k] [Semiring A] [Algebra k A] [Monoid G] (b : A) :
        @[simp]
        theorem AddMonoidAlgebra.singleZeroAlgHom_apply {k : Type u_1} {G : Type u_2} {A : Type u_11} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] (b : A) :
        @[simp]
        theorem MonoidAlgebra.coe_algebraMap {k : Type u_1} {G : Type u_2} {A : Type u_11} [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_1} {G : Type u_2} {A : Type u_11} [CommSemiring k] [Semiring A] [Algebra k A] [AddMonoid G] :
        theorem MonoidAlgebra.single_eq_algebraMap_mul_of {k : Type u_1} {G : Type u_2} [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_1} {G : Type u_2} {A : Type u_11} [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_1} {G : Type u_2} {A : Type u_7} {B : Type u_8} [CommSemiring k] [Monoid G] [Semiring A] [Algebra k A] [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
          @[simp]
          theorem MonoidAlgebra.coe_liftNCAlgHom {k : Type u_1} {G : Type u_2} {A : Type u_7} {B : Type u_8} [CommSemiring k] [Monoid G] [Semiring A] [Algebra k A] [Semiring B] [Algebra k B] (f : A →ₐ[k] B) (g : G →* B) (h_comm : ∀ (x : A) (y : G), Commute (f x) (g y)) :
          (liftNCAlgHom f g h_comm) = (liftNC f g)
          theorem MonoidAlgebra.algHom_ext {k : Type u_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [Semiring A] [Algebra k A] {φ₁ φ₂ : MonoidAlgebra k G →ₐ[k] A} :
          φ₁ = φ₂ (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)
          def MonoidAlgebra.lift (k : Type u_1) (G : Type u_2) (A : Type u_7) [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [Monoid G] [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_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_13} {H : Type u_14} {F : Type u_15} [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_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_13} {H : Type u_14} {F : Type u_15} [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 AddMonoidAlgebra.mapDomainNonUnitalAlgHom_apply (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_13} {H : Type u_14} {F : Type u_15} [Add G] [Add H] [FunLike F G H] [AddHomClass F G H] (f : F) (a✝ : G →₀ A) :
                @[simp]
                theorem MonoidAlgebra.mapDomainNonUnitalAlgHom_apply (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {G : Type u_13} {H : Type u_14} {F : Type u_15} [Mul G] [Mul H] [FunLike F G H] [MulHomClass F G H] (f : F) (a✝ : G →₀ A) :
                theorem MonoidAlgebra.mapDomain_algebraMap {k : Type u_1} {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [Semiring A] [Algebra k A] {F : Type u_11} [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_1} {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] {F : Type u_11} [FunLike F G H] [AddMonoidHomClass F G H] (f : F) (r : k) :
                def MonoidAlgebra.mapDomainAlgHom {G : Type u_2} [Monoid G] (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_13} {F : Type u_14} [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_2} [AddMonoid G] (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_13} {F : Type u_14} [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 MonoidAlgebra.mapDomainAlgHom_apply {G : Type u_2} [Monoid G] (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_13} {F : Type u_14} [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 AddMonoidAlgebra.mapDomainAlgHom_apply {G : Type u_2} [AddMonoid G] (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] {H : Type u_13} {F : Type u_14} [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_id {G : Type u_2} [Monoid G] (k : Type u_11) (A : Type u_12) [CommSemiring k] [Semiring A] [Algebra k A] :
                    @[simp]
                    theorem MonoidAlgebra.mapDomainAlgHom_comp (k : Type u_11) (A : Type u_12) {G₁ : Type u_13} {G₂ : Type u_14} {G₃ : Type u_15} [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_11) (A : Type u_12) {G₁ : Type u_13} {G₂ : Type u_14} {G₃ : Type u_15} [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [Semiring A] [Algebra k A] (e : G ≃* H) :
                        (domCongr k A e) = mapDomainAlgHom k A e
                        theorem AddMonoidAlgebra.domCongr_toAlgHom (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) :
                        (domCongr k A e) = mapDomainAlgHom k A e
                        @[simp]
                        theorem MonoidAlgebra.domCongr_apply (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [Semiring A] [Algebra k A] (e : G ≃* H) (f : MonoidAlgebra A G) :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_support (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) (f : AddMonoidAlgebra A G) :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_single (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [Semiring A] [Algebra k A] (e : G ≃* H) (g : G) :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_comp_lsingle (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) (g : G) :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_refl (k : Type u_1) {G : Type u_2} (A : Type u_7) [CommSemiring k] [Monoid G] [Semiring A] [Algebra k A] :
                        @[simp]
                        theorem AddMonoidAlgebra.domCongr_refl (k : Type u_1) {G : Type u_2} (A : Type u_7) [CommSemiring k] [AddMonoid G] [Semiring A] [Algebra k A] :
                        @[simp]
                        theorem MonoidAlgebra.domCongr_symm (k : Type u_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [Monoid G] [Monoid H] [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_1) {G : Type u_2} {H : Type u_3} (A : Type u_7) [CommSemiring k] [AddMonoid G] [AddMonoid H] [Semiring A] [Algebra k A] (e : G ≃+ H) :
                        (domCongr k A e).symm = domCongr k A e.symm
                        @[simp]
                        theorem MonoidAlgebra.mapDomainRingHom_comp_algebraMap {R : Type u_4} {A : Type u_7} {M : Type u_9} {N : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [Monoid M] [Monoid N] (f : M →* N) :
                        @[simp]
                        @[simp]
                        noncomputable def MonoidAlgebra.mapRangeAlgHom {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A →ₐ[R] B) :

                        The algebra homomorphism of monoid algebras induced by a homomorphism of the base algebras.

                        Equations
                        Instances For
                          noncomputable def AddMonoidAlgebra.mapRangeAlgHom {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A →ₐ[R] B) :

                          The algebra homomorphism of additive monoid algebras induced by a homomorphism of the base algebras.

                          Equations
                          Instances For
                            @[simp]
                            theorem MonoidAlgebra.toRingHom_mapRangeAlgHom {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A →ₐ[R] B) :
                            @[simp]
                            theorem AddMonoidAlgebra.toRingHom_mapRangeAlgHom {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A →ₐ[R] B) :
                            @[simp]
                            theorem MonoidAlgebra.mapRangeAlgHom_apply {R : Type u_4} {A : Type u_7} {B : Type u_8} {M : Type u_9} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A →ₐ[R] B) (x : MonoidAlgebra A M) (m : M) :
                            ((mapRangeAlgHom M f) x) m = f (x m)
                            @[simp]
                            theorem AddMonoidAlgebra.mapRangeAlgHom_apply {R : Type u_4} {A : Type u_7} {B : Type u_8} {M : Type u_9} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A →ₐ[R] B) (x : AddMonoidAlgebra A M) (m : M) :
                            ((mapRangeAlgHom M f) x) m = f (x m)
                            @[simp]
                            theorem MonoidAlgebra.mapRangeAlgHom_single {R : Type u_4} {A : Type u_7} {B : Type u_8} {M : Type u_9} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A →ₐ[R] B) (m : M) (a : A) :
                            (mapRangeAlgHom M f) (single m a) = single m (f a)
                            @[simp]
                            theorem AddMonoidAlgebra.mapRangeAlgHom_single {R : Type u_4} {A : Type u_7} {B : Type u_8} {M : Type u_9} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A →ₐ[R] B) (m : M) (a : A) :
                            (mapRangeAlgHom M f) (single m a) = single m (f a)
                            noncomputable def MonoidAlgebra.mapRangeAlgEquiv {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A ≃ₐ[R] B) :

                            The algebra isomorphism of monoid algebras induced by an isomorphism of the base algebras.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable def AddMonoidAlgebra.mapRangeAlgEquiv {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A ≃ₐ[R] B) :

                              The algebra isomorphism of additive monoid algebras induced by an isomorphism of the base algebras.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem AddMonoidAlgebra.mapRangeAlgEquiv_apply {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [AddMonoid M] (f : A ≃ₐ[R] B) (a✝ : AddMonoidAlgebra A M) :
                                (mapRangeAlgEquiv M f) a✝ = (↑(mapRangeAlgHom M f).toRingHom).toFun a✝
                                @[simp]
                                theorem MonoidAlgebra.mapRangeAlgEquiv_apply {R : Type u_4} {A : Type u_7} {B : Type u_8} (M : Type u_9) [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Monoid M] (f : A ≃ₐ[R] B) (a✝ : MonoidAlgebra A M) :
                                (mapRangeAlgEquiv M f) a✝ = (↑(mapRangeAlgHom M f).toRingHom).toFun a✝
                                def MonoidAlgebra.GroupSMul.linearMap (k : Type u_1) {G : Type u_2} [Monoid G] [CommSemiring k] (V : Type u_11) [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_1) {G : Type u_2} [Monoid G] [CommSemiring k] (V : Type u_11) [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_1} {G : Type u_2} [Monoid G] [CommSemiring k] {V : Type u_11} {W : Type u_12} [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_1} {G : Type u_2} [Monoid G] [CommSemiring k] {V : Type u_11} {W : Type u_12} [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Add G] [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_1} {G : Type u_2} {A : Type u_7} [Semiring k] [Add G] [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_1) {G : Type u_2} {A : Type u_7} [Semiring k] [Add G] [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]

                                      Algebra structure #

                                      def AddMonoidAlgebra.liftNCAlgHom {k : Type u_1} {G : Type u_2} {A : Type u_7} {B : Type u_8} [CommSemiring k] [AddMonoid G] [Semiring A] [Algebra k A] [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
                                        @[simp]
                                        theorem AddMonoidAlgebra.coe_liftNCAlgHom {k : Type u_1} {G : Type u_2} {A : Type u_7} {B : Type u_8} [CommSemiring k] [AddMonoid G] [Semiring A] [Algebra k A] [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)) :
                                        (liftNCAlgHom f g h_comm) = (liftNC f g)
                                        theorem AddMonoidAlgebra.algHom_ext' {k : Type u_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [Semiring A] [Algebra k A] {φ₁ φ₂ : AddMonoidAlgebra k G →ₐ[k] A} :
                                        φ₁ = φ₂ (↑φ₁).comp (of k G) = (↑φ₂).comp (of k G)
                                        def AddMonoidAlgebra.lift (k : Type u_1) (G : Type u_2) (A : Type u_7) [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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_1} {G : Type u_2} {A : Type u_7} [CommSemiring k] [AddMonoid G] [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