Documentation

Mathlib.Algebra.MonoidAlgebra.MapDomain

Maps of monoid algebras #

This file defines maps of monoid algebras along both the ring and monoid arguments.

@[reducible, inline]
noncomputable abbrev MonoidAlgebra.mapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (x : MonoidAlgebra R M) :

Given a function f : M → N between magmas, return the corresponding map R[M] → R[N] obtained by summing the coefficients along each fiber of f.

Instances For
    @[reducible, inline]
    noncomputable abbrev AddMonoidAlgebra.mapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (x : AddMonoidAlgebra R M) :

    Given a function f : M → N between magmas, return the corresponding map R[M] → R[N] obtained by summing the coefficients along each fiber of f.

    Instances For
      theorem MonoidAlgebra.mapDomain_zero {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) :
      mapDomain f 0 = 0
      theorem AddMonoidAlgebra.mapDomain_zero {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) :
      mapDomain f 0 = 0
      theorem MonoidAlgebra.mapDomain_add {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (x y : MonoidAlgebra R M) :
      mapDomain f (x + y) = mapDomain f x + mapDomain f y
      theorem AddMonoidAlgebra.mapDomain_add {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (x y : AddMonoidAlgebra R M) :
      mapDomain f (x + y) = mapDomain f x + mapDomain f y
      theorem MonoidAlgebra.mapDomain_sum {R : Type u_3} {S : Type u_4} {M : Type u_6} {N : Type u_7} [Semiring R] [Semiring S] (f : M → N) (x : MonoidAlgebra S M) (v : M → S → MonoidAlgebra R M) :
      mapDomain f (Finsupp.sum x v) = Finsupp.sum x fun (a : M) (b : S) => mapDomain f (v a b)
      theorem AddMonoidAlgebra.mapDomain_sum {R : Type u_3} {S : Type u_4} {M : Type u_6} {N : Type u_7} [Semiring R] [Semiring S] (f : M → N) (x : AddMonoidAlgebra S M) (v : M → S → AddMonoidAlgebra R M) :
      mapDomain f (Finsupp.sum x v) = Finsupp.sum x fun (a : M) (b : S) => mapDomain f (v a b)
      theorem MonoidAlgebra.mapDomain_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem AddMonoidAlgebra.mapDomain_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem MonoidAlgebra.mapDomain_injective {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} (hf : Function.Injective f) :
      Function.Injective (mapDomain f)
      theorem AddMonoidAlgebra.mapDomain_injective {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} (hf : Function.Injective f) :
      Function.Injective (mapDomain f)
      @[simp]
      theorem MonoidAlgebra.mapDomain_one {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [One M] [One N] {F : Type u_9} [FunLike F M N] [OneHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      @[simp]
      theorem AddMonoidAlgebra.mapDomain_one {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Zero M] [Zero N] {F : Type u_9} [FunLike F M N] [ZeroHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      noncomputable def MonoidAlgebra.map {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : MonoidAlgebra R M) :

      Given a map f : R →+ S, return the corresponding map R[M] → S[M] obtained by mapping each coefficient along f.

      Instances For
        noncomputable def AddMonoidAlgebra.map {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : AddMonoidAlgebra R M) :

        Given a map f : R →+ S, return the corresponding map R[M] → S[M] obtained by mapping each coefficient along f.

        Instances For
          @[simp]
          theorem MonoidAlgebra.coeff_map {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : MonoidAlgebra R M) :
          (map f x).coeff = Finsupp.mapRange ⇑f ⋯ x.coeff
          @[simp]
          theorem AddMonoidAlgebra.coeff_map {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : AddMonoidAlgebra R M) :
          (map f x).coeff = Finsupp.mapRange ⇑f ⋯ x.coeff
          theorem MonoidAlgebra.ofCoeff_mapRange {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : M →₀ R) :
          ofCoeff (Finsupp.mapRange ⇑f ⋯ x) = map f (ofCoeff x)

          This isn't marked as simp to avoid looping with unfolding coeff.

          theorem AddMonoidAlgebra.ofCoeff_mapRange {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x : M →₀ R) :
          ofCoeff (Finsupp.mapRange ⇑f ⋯ x) = map f (ofCoeff x)

          This isn't marked as simp to avoid looping with unfolding coeff.

          @[simp]
          theorem MonoidAlgebra.map_zero {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) :
          map f 0 = 0
          @[simp]
          theorem AddMonoidAlgebra.map_zero {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) :
          map f 0 = 0
          theorem MonoidAlgebra.map_add {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x y : MonoidAlgebra R M) :
          map f (x + y) = map f x + map f y
          theorem AddMonoidAlgebra.map_add {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (x y : AddMonoidAlgebra R M) :
          map f (x + y) = map f x + map f y
          theorem MonoidAlgebra.map_sum {ι : Type u_1} {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (s : Finset ι) (x : ι → MonoidAlgebra R M) :
          map f (āˆ‘ i ∈ s, x i) = āˆ‘ i ∈ s, map f (x i)
          theorem AddMonoidAlgebra.map_sum {ι : Type u_1} {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (s : Finset ι) (x : ι → AddMonoidAlgebra R M) :
          map f (āˆ‘ i ∈ s, x i) = āˆ‘ i ∈ s, map f (x i)
          @[simp]
          theorem MonoidAlgebra.map_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (r : R) (m : M) :
          map f (single m r) = single m (f r)
          @[simp]
          theorem AddMonoidAlgebra.map_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] (f : R →+ S) (r : R) (m : M) :
          map f (single m r) = single m (f r)
          @[simp]
          theorem MonoidAlgebra.map_id {R : Type u_3} {M : Type u_6} [Semiring R] (x : MonoidAlgebra R M) :
          @[simp]
          theorem AddMonoidAlgebra.map_id {R : Type u_3} {M : Type u_6} [Semiring R] (x : AddMonoidAlgebra R M) :
          @[simp]
          theorem MonoidAlgebra.map_map {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] (f : S →+ T) (g : R →+ S) (x : MonoidAlgebra R M) :
          map f (map g x) = map (f.comp g) x
          @[simp]
          theorem AddMonoidAlgebra.map_map {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] (f : S →+ T) (g : R →+ S) (x : AddMonoidAlgebra R M) :
          map f (map g x) = map (f.comp g) x
          noncomputable def MonoidAlgebra.comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : MonoidAlgebra R N) :

          Pullback the coefficients of an element of R[N] under an injective f : M → N.

          Coefficients not in the range of f are dropped.

          Instances For
            noncomputable def AddMonoidAlgebra.comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : AddMonoidAlgebra R N) :

            Pullback the coefficients of an element of R[N] under an injective f : M → N.

            Coefficients not in the range of f are dropped.

            Instances For
              @[simp]
              theorem MonoidAlgebra.coeff_comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : MonoidAlgebra R N) :
              @[simp]
              theorem AddMonoidAlgebra.coeff_comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : AddMonoidAlgebra R N) :
              @[simp]
              theorem MonoidAlgebra.comapDomain_zero {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) :
              comapDomain f hf 0 = 0
              @[simp]
              theorem AddMonoidAlgebra.comapDomain_zero {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) :
              comapDomain f hf 0 = 0
              @[simp]
              theorem MonoidAlgebra.comapDomain_add {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x y : MonoidAlgebra R N) :
              comapDomain f hf (x + y) = comapDomain f hf x + comapDomain f hf y
              @[simp]
              theorem AddMonoidAlgebra.comapDomain_add {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x y : AddMonoidAlgebra R N) :
              comapDomain f hf (x + y) = comapDomain f hf x + comapDomain f hf y
              @[simp]
              theorem MonoidAlgebra.comapDomain_single_of_not_mem_range {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} {r : R} {n : N} (hn : n āˆ‰ Set.range f) (hf : Function.Injective f) :
              comapDomain f hf (single n r) = 0
              noncomputable def MonoidAlgebra.comapDomainAddMonoidHom {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) :

              comapDomain as an `AddMonoidHom.

              Instances For
                noncomputable def AddMonoidAlgebra.comapDomainAddMonoidHom {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) :

                comapDomain as an `AddMonoidHom.

                Instances For
                  @[simp]
                  theorem AddMonoidAlgebra.comapDomainAddMonoidHom_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : AddMonoidAlgebra R N) :
                  @[simp]
                  theorem MonoidAlgebra.comapDomainAddMonoidHom_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (x : MonoidAlgebra R N) :
                  @[simp]
                  theorem MonoidAlgebra.comapDomain_single_map {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (m : M) (r : R) :
                  comapDomain f hf (single (f m) r) = single m r
                  @[simp]
                  theorem AddMonoidAlgebra.comapDomain_single_map {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] (f : M → N) (hf : Function.Injective f) (m : M) (r : R) :
                  comapDomain f hf (single (f m) r) = single m r
                  theorem MonoidAlgebra.mapDomain_comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} {x : MonoidAlgebra R N} (hx : ↑x.coeff.support āŠ† Set.range f) (hf : Function.Injective f) :
                  mapDomain f (comapDomain f hf x) = x
                  theorem AddMonoidAlgebra.mapDomain_comapDomain {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] {f : M → N} {x : AddMonoidAlgebra R N} (hx : ↑x.coeff.support āŠ† Set.range f) (hf : Function.Injective f) :
                  mapDomain f (comapDomain f hf x) = x
                  theorem MonoidAlgebra.mapDomain_mul {F : Type u_2} {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] [FunLike F M N] [MulHomClass F M N] (f : F) (x y : MonoidAlgebra R M) :
                  mapDomain (⇑f) (x * y) = mapDomain (⇑f) x * mapDomain (⇑f) y
                  theorem AddMonoidAlgebra.mapDomain_mul {F : Type u_2} {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) (x y : AddMonoidAlgebra R M) :
                  mapDomain (⇑f) (x * y) = mapDomain (⇑f) x * mapDomain (⇑f) y
                  noncomputable def MonoidAlgebra.mapDomainNonUnitalRingHom (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (f : M →ₙ* N) :

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

                  See also MulEquiv.monoidAlgebraCongrRight.

                  Instances For
                    noncomputable def AddMonoidAlgebra.mapDomainNonUnitalRingHom (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (f : M →ₙ+ N) :

                    If f : G → H is a multiplicative homomorphism between two additive monoids, then AddMonoidAlgebra.mapDomain f is a ring homomorphism between their additive monoid algebras.

                    Instances For
                      @[simp]
                      theorem MonoidAlgebra.mapDomainNonUnitalRingHom_apply (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (f : M →ₙ* N) (x : MonoidAlgebra R M) :
                      (mapDomainNonUnitalRingHom R f) x = mapDomain (⇑f) x
                      @[simp]
                      theorem AddMonoidAlgebra.mapDomainNonUnitalRingHom_apply (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (f : M →ₙ+ N) (x : AddMonoidAlgebra R M) :
                      (mapDomainNonUnitalRingHom R f) x = mapDomain (⇑f) x
                      @[simp]
                      theorem MonoidAlgebra.mapDomainNonUnitalRingHom_comp {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Mul M] [Mul N] [Mul O] (f : N →ₙ* O) (g : M →ₙ* N) :
                      @[simp]
                      theorem AddMonoidAlgebra.mapDomainNonUnitalRingHom_comp {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Add M] [Add N] [Add O] (f : N →ₙ+ O) (g : M →ₙ+ N) :
                      noncomputable def MonoidAlgebra.mapDomainAddEquiv (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (e : M ā‰ƒ N) :

                      Equivalent monoids have additively isomorphic monoid algebras.

                      MonoidAlgebra.mapDomain as an AddEquiv.

                      Instances For
                        noncomputable def AddMonoidAlgebra.mapDomainAddEquiv (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (e : M ā‰ƒ N) :

                        Equivalent additive monoids have additively isomorphic additive monoid algebras.

                        AddMonoidAlgebra.mapDomain as an AddEquiv.

                        Instances For
                          @[simp]
                          theorem MonoidAlgebra.mapDomainAddEquiv_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (e : M ā‰ƒ N) (x : MonoidAlgebra R M) (n : N) :
                          ((mapDomainAddEquiv R e) x) n = x (e.symm n)
                          @[simp]
                          theorem AddMonoidAlgebra.mapDomainAddEquiv_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (e : M ā‰ƒ N) (x : AddMonoidAlgebra R M) (n : N) :
                          ((mapDomainAddEquiv R e) x) n = x (e.symm n)
                          @[simp]
                          theorem MonoidAlgebra.mapDomainAddEquiv_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (e : M ā‰ƒ N) (r : R) (m : M) :
                          (mapDomainAddEquiv R e) (single m r) = single (e m) r
                          @[simp]
                          theorem AddMonoidAlgebra.mapDomainAddEquiv_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (e : M ā‰ƒ N) (r : R) (m : M) :
                          (mapDomainAddEquiv R e) (single m r) = single (e m) r
                          @[simp]
                          theorem MonoidAlgebra.symm_mapDomainAddEquiv {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Mul M] [Mul N] (e : M ā‰ƒ N) :
                          @[simp]
                          theorem AddMonoidAlgebra.symm_mapDomainAddEquiv {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Add M] [Add N] (e : M ā‰ƒ N) :
                          @[simp]
                          theorem MonoidAlgebra.mapDomainAddEquiv_trans {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Mul M] [Mul N] [Mul O] (e₁ : M ā‰ƒ N) (eā‚‚ : N ā‰ƒ O) :
                          mapDomainAddEquiv R (e₁.trans eā‚‚) = (mapDomainAddEquiv R e₁).trans (mapDomainAddEquiv R eā‚‚)
                          @[simp]
                          theorem AddMonoidAlgebra.mapDomainAddEquiv_trans {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Add M] [Add N] [Add O] (e₁ : M ā‰ƒ N) (eā‚‚ : N ā‰ƒ O) :
                          mapDomainAddEquiv R (e₁.trans eā‚‚) = (mapDomainAddEquiv R e₁).trans (mapDomainAddEquiv R eā‚‚)
                          noncomputable def MonoidAlgebra.mapAddEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) :

                          Additively isomorphic rings have additively isomorphic monoid algebras.

                          MonoidAlgebra.map as an AddEquiv.

                          Instances For
                            noncomputable def AddMonoidAlgebra.mapAddEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Add M] (e : R ā‰ƒ+ S) :

                            Additively isomorphic rings have additively isomorphic additive monoid algebras.

                            AddMonoidAlgebra.map as an AddEquiv.

                            Instances For
                              @[deprecated MonoidAlgebra.mapAddEquiv (since := "2026-03-20")]
                              def MonoidAlgebra.mapRangeAddEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) :

                              Alias of MonoidAlgebra.mapAddEquiv.


                              Additively isomorphic rings have additively isomorphic monoid algebras.

                              MonoidAlgebra.map as an AddEquiv.

                              Instances For
                                @[simp]
                                theorem MonoidAlgebra.mapAddEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) (x : MonoidAlgebra R M) (m : M) :
                                ((mapAddEquiv M e) x) m = e (x m)
                                @[simp]
                                theorem AddMonoidAlgebra.mapAddEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Add M] (e : R ā‰ƒ+ S) (x : AddMonoidAlgebra R M) (m : M) :
                                ((mapAddEquiv M e) x) m = e (x m)
                                @[deprecated MonoidAlgebra.mapAddEquiv_apply (since := "2026-03-20")]
                                theorem MonoidAlgebra.mapRangeAddEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) (x : MonoidAlgebra R M) (m : M) :
                                ((mapAddEquiv M e) x) m = e (x m)

                                Alias of MonoidAlgebra.mapAddEquiv_apply.

                                @[simp]
                                theorem MonoidAlgebra.mapAddEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) (r : R) (m : M) :
                                (mapAddEquiv M e) (single m r) = single m (e r)
                                @[simp]
                                theorem AddMonoidAlgebra.mapAddEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Add M] (e : R ā‰ƒ+ S) (r : R) (m : M) :
                                (mapAddEquiv M e) (single m r) = single m (e r)
                                @[deprecated MonoidAlgebra.mapAddEquiv_single (since := "2026-03-20")]
                                theorem MonoidAlgebra.mapRangeAddEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) (r : R) (m : M) :
                                (mapAddEquiv M e) (single m r) = single m (e r)

                                Alias of MonoidAlgebra.mapAddEquiv_single.

                                @[simp]
                                theorem MonoidAlgebra.symm_mapAddEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) :
                                @[simp]
                                theorem AddMonoidAlgebra.symm_mapAddEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Add M] (e : R ā‰ƒ+ S) :
                                @[deprecated MonoidAlgebra.symm_mapAddEquiv (since := "2026-03-20")]
                                theorem MonoidAlgebra.symm_mapRangeAddEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (e : R ā‰ƒ+ S) :

                                Alias of MonoidAlgebra.symm_mapAddEquiv.

                                @[simp]
                                theorem MonoidAlgebra.mapAddEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Mul M] (e₁ : R ā‰ƒ+ S) (eā‚‚ : S ā‰ƒ+ T) :
                                mapAddEquiv M (e₁.trans eā‚‚) = (mapAddEquiv M e₁).trans (mapAddEquiv M eā‚‚)
                                @[simp]
                                theorem AddMonoidAlgebra.mapAddEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Add M] (e₁ : R ā‰ƒ+ S) (eā‚‚ : S ā‰ƒ+ T) :
                                mapAddEquiv M (e₁.trans eā‚‚) = (mapAddEquiv M e₁).trans (mapAddEquiv M eā‚‚)
                                @[deprecated MonoidAlgebra.mapAddEquiv_trans (since := "2026-03-20")]
                                theorem MonoidAlgebra.mapRangeAddEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Mul M] (e₁ : R ā‰ƒ+ S) (eā‚‚ : S ā‰ƒ+ T) :
                                mapAddEquiv M (e₁.trans eā‚‚) = (mapAddEquiv M e₁).trans (mapAddEquiv M eā‚‚)

                                Alias of MonoidAlgebra.mapAddEquiv_trans.

                                @[simp]
                                theorem MonoidAlgebra.map_mul {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Mul M] (f : R →+* S) (x y : MonoidAlgebra R M) :
                                map (↑f) (x * y) = map (↑f) x * map (↑f) y
                                @[simp]
                                theorem AddMonoidAlgebra.map_mul {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Add M] (f : R →+* S) (x y : AddMonoidAlgebra R M) :
                                map (↑f) (x * y) = map (↑f) x * map (↑f) y
                                noncomputable def MonoidAlgebra.mapDomainRingHom (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (f : M →* N) :

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

                                Instances For
                                  noncomputable def AddMonoidAlgebra.mapDomainRingHom (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) :

                                  If f : G → H is a multiplicative homomorphism between two additive monoids, then AddMonoidAlgebra.mapDomain f is a ring homomorphism between their additive monoid algebras.

                                  Instances For
                                    @[simp]
                                    theorem AddMonoidAlgebra.mapDomainRingHom_apply (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) (x : AddMonoidAlgebra R M) :
                                    (mapDomainRingHom R f) x = mapDomain (⇑f) x
                                    @[simp]
                                    theorem MonoidAlgebra.mapDomainRingHom_apply (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (f : M →* N) (x : MonoidAlgebra R M) :
                                    (mapDomainRingHom R f) x = mapDomain (⇑f) x
                                    theorem MonoidAlgebra.ringHom_ext_iff {R : Type u_1} {S : Type u_2} {M : Type u_4} [Semiring R] [MulOneClass M] [Semiring S] {f g : MonoidAlgebra R M →+* S} :
                                    f = g ↔ (āˆ€ (r : R), f (single 1 r) = g (single 1 r)) ∧ āˆ€ (m : M), f (single m 1) = g (single m 1)
                                    @[simp]
                                    theorem MonoidAlgebra.mapDomainRingHom_comp {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Monoid M] [Monoid N] [Monoid O] (f : N →* O) (g : M →* N) :
                                    @[simp]
                                    theorem AddMonoidAlgebra.mapDomainRingHom_comp {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (f : N →+ O) (g : M →+ N) :
                                    @[simp]
                                    theorem MonoidAlgebra.map_one {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :
                                    map (↑f) 1 = 1
                                    @[simp]
                                    theorem AddMonoidAlgebra.map_one {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) :
                                    map (↑f) 1 = 1
                                    noncomputable def MonoidAlgebra.mapRingHom {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :

                                    The ring homomorphism of monoid algebras induced by a homomorphism of the base rings.

                                    Instances For
                                      noncomputable def AddMonoidAlgebra.mapRingHom {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) :

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

                                      Instances For
                                        @[deprecated MonoidAlgebra.mapRingHom (since := "2026-03-20")]
                                        def MonoidAlgebra.mapRangeRingHom {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :

                                        Alias of MonoidAlgebra.mapRingHom.


                                        The ring homomorphism of monoid algebras induced by a homomorphism of the base rings.

                                        Instances For
                                          theorem MonoidAlgebra.coe_mapRingHom {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :
                                          ⇑(mapRingHom M f) = map ↑f
                                          theorem AddMonoidAlgebra.coe_mapRingHom {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) :
                                          ⇑(mapRingHom M f) = map ↑f
                                          @[deprecated MonoidAlgebra.coe_mapRingHom (since := "2026-03-20")]
                                          theorem MonoidAlgebra.coe_mapRangeRingHom {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :
                                          ⇑(mapRingHom M f) = map ↑f

                                          Alias of MonoidAlgebra.coe_mapRingHom.

                                          @[simp]
                                          theorem MonoidAlgebra.mapRingHom_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (x : MonoidAlgebra R M) (m : M) :
                                          ((mapRingHom M f) x) m = f (x m)
                                          @[simp]
                                          theorem AddMonoidAlgebra.mapRingHom_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) (x : AddMonoidAlgebra R M) (m : M) :
                                          ((mapRingHom M f) x) m = f (x m)
                                          @[deprecated MonoidAlgebra.mapRingHom_apply (since := "2026-03-20")]
                                          theorem MonoidAlgebra.mapRangeRingHom_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (x : MonoidAlgebra R M) (m : M) :
                                          ((mapRingHom M f) x) m = f (x m)

                                          Alias of MonoidAlgebra.mapRingHom_apply.

                                          @[simp]
                                          theorem MonoidAlgebra.mapRingHom_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (a : M) (b : R) :
                                          (mapRingHom M f) (single a b) = single a (f b)
                                          @[simp]
                                          theorem AddMonoidAlgebra.mapRingHom_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) (a : M) (b : R) :
                                          (mapRingHom M f) (single a b) = single a (f b)
                                          @[deprecated MonoidAlgebra.mapRingHom_single (since := "2026-03-20")]
                                          theorem MonoidAlgebra.mapRangeRingHom_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (a : M) (b : R) :
                                          (mapRingHom M f) (single a b) = single a (f b)

                                          Alias of MonoidAlgebra.mapRingHom_single.

                                          @[deprecated MonoidAlgebra.mapRingHom_id (since := "2026-03-20")]

                                          Alias of MonoidAlgebra.mapRingHom_id.

                                          @[simp]
                                          theorem MonoidAlgebra.mapRingHom_comp {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (f : S →+* T) (g : R →+* S) :
                                          mapRingHom M (f.comp g) = (mapRingHom M f).comp (mapRingHom M g)
                                          @[simp]
                                          theorem AddMonoidAlgebra.mapRingHom_comp {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [AddMonoid M] (f : S →+* T) (g : R →+* S) :
                                          mapRingHom M (f.comp g) = (mapRingHom M f).comp (mapRingHom M g)
                                          @[deprecated MonoidAlgebra.mapRingHom_comp (since := "2026-03-20")]
                                          theorem MonoidAlgebra.mapRangeRingHom_comp {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (f : S →+* T) (g : R →+* S) :
                                          mapRingHom M (f.comp g) = (mapRingHom M f).comp (mapRingHom M g)

                                          Alias of MonoidAlgebra.mapRingHom_comp.

                                          theorem MonoidAlgebra.mapRingHom_comp_mapDomainRingHom {R : Type u_3} {S : Type u_4} {M : Type u_6} {N : Type u_7} [Semiring R] [Semiring S] [Monoid M] [Monoid N] (f : R →+* S) (g : M →* N) :
                                          @[deprecated MonoidAlgebra.mapRingHom_comp_mapDomainRingHom (since := "2026-03-20")]
                                          theorem MonoidAlgebra.mapRangeRingHom_comp_mapDomainRingHom {R : Type u_3} {S : Type u_4} {M : Type u_6} {N : Type u_7} [Semiring R] [Semiring S] [Monoid M] [Monoid N] (f : R →+* S) (g : M →* N) :

                                          Alias of MonoidAlgebra.mapRingHom_comp_mapDomainRingHom.

                                          noncomputable def MonoidAlgebra.mapDomainRingEquiv (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (e : M ā‰ƒ* N) :

                                          Isomorphic monoids have isomorphic monoid algebras.

                                          Instances For
                                            noncomputable def AddMonoidAlgebra.mapDomainRingEquiv (R : Type u_3) {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (e : M ā‰ƒ+ N) :

                                            Isomorphic monoids have isomorphic additive monoid algebras.

                                            Instances For
                                              @[simp]
                                              theorem MonoidAlgebra.mapDomainRingEquiv_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (e : M ā‰ƒ* N) (x : MonoidAlgebra R M) (n : N) :
                                              ((mapDomainRingEquiv R e) x) n = x (e.symm n)
                                              @[simp]
                                              theorem AddMonoidAlgebra.mapDomainRingEquiv_apply {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (e : M ā‰ƒ+ N) (x : AddMonoidAlgebra R M) (n : N) :
                                              ((mapDomainRingEquiv R e) x) n = x (e.symm n)
                                              @[simp]
                                              theorem MonoidAlgebra.mapDomainRingEquiv_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (e : M ā‰ƒ* N) (r : R) (m : M) :
                                              (mapDomainRingEquiv R e) (single m r) = single (e m) r
                                              @[simp]
                                              theorem AddMonoidAlgebra.mapDomainRingEquiv_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (e : M ā‰ƒ+ N) (r : R) (m : M) :
                                              (mapDomainRingEquiv R e) (single m r) = single (e m) r
                                              @[simp]
                                              theorem MonoidAlgebra.mapDomainRingEquiv_trans {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [Monoid M] [Monoid N] [Monoid O] (e₁ : M ā‰ƒ* N) (eā‚‚ : N ā‰ƒ* O) :
                                              mapDomainRingEquiv R (e₁.trans eā‚‚) = (mapDomainRingEquiv R e₁).trans (mapDomainRingEquiv R eā‚‚)
                                              @[simp]
                                              theorem AddMonoidAlgebra.mapDomainRingEquiv_trans {R : Type u_3} {M : Type u_6} {N : Type u_7} {O : Type u_8} [Semiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (e₁ : M ā‰ƒ+ N) (eā‚‚ : N ā‰ƒ+ O) :
                                              mapDomainRingEquiv R (e₁.trans eā‚‚) = (mapDomainRingEquiv R e₁).trans (mapDomainRingEquiv R eā‚‚)
                                              noncomputable def MonoidAlgebra.mapRingEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :

                                              Isomorphic rings have isomorphic monoid algebras.

                                              Instances For
                                                noncomputable def AddMonoidAlgebra.mapRingEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [AddMonoid M] (e : R ā‰ƒ+* S) :

                                                Isomorphic rings have isomorphic additive monoid algebras.

                                                Instances For
                                                  @[deprecated MonoidAlgebra.mapRingEquiv (since := "2026-03-20")]
                                                  def MonoidAlgebra.mapRangeRingEquiv {R : Type u_3} {S : Type u_4} (M : Type u_6) [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :

                                                  Alias of MonoidAlgebra.mapRingEquiv.


                                                  Isomorphic rings have isomorphic monoid algebras.

                                                  Instances For
                                                    @[simp]
                                                    theorem MonoidAlgebra.mapRingEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) (x : MonoidAlgebra R M) (m : M) :
                                                    ((mapRingEquiv M e) x) m = e (x m)
                                                    @[simp]
                                                    theorem AddMonoidAlgebra.mapRingEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (e : R ā‰ƒ+* S) (x : AddMonoidAlgebra R M) (m : M) :
                                                    ((mapRingEquiv M e) x) m = e (x m)
                                                    @[deprecated MonoidAlgebra.mapRingEquiv_apply (since := "2026-03-20")]
                                                    theorem MonoidAlgebra.mapRangeRingEquiv_apply {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) (x : MonoidAlgebra R M) (m : M) :
                                                    ((mapRingEquiv M e) x) m = e (x m)

                                                    Alias of MonoidAlgebra.mapRingEquiv_apply.

                                                    @[simp]
                                                    theorem MonoidAlgebra.mapRingEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) (r : R) (m : M) :
                                                    (mapRingEquiv M e) (single m r) = single m (e r)
                                                    @[simp]
                                                    theorem AddMonoidAlgebra.mapRingEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (e : R ā‰ƒ+* S) (r : R) (m : M) :
                                                    (mapRingEquiv M e) (single m r) = single m (e r)
                                                    @[deprecated MonoidAlgebra.mapRingEquiv_single (since := "2026-03-20")]
                                                    theorem MonoidAlgebra.mapRangeRingEquiv_single {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) (r : R) (m : M) :
                                                    (mapRingEquiv M e) (single m r) = single m (e r)

                                                    Alias of MonoidAlgebra.mapRingEquiv_single.

                                                    theorem MonoidAlgebra.toRingHom_mapRingEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :
                                                    @[deprecated MonoidAlgebra.toRingHom_mapRingEquiv (since := "2026-03-20")]
                                                    theorem MonoidAlgebra.toRingHom_mapRangeRingEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :

                                                    Alias of MonoidAlgebra.toRingHom_mapRingEquiv.

                                                    @[simp]
                                                    theorem MonoidAlgebra.symm_mapRingEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :
                                                    @[simp]
                                                    theorem AddMonoidAlgebra.symm_mapRingEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [AddMonoid M] (e : R ā‰ƒ+* S) :
                                                    @[deprecated MonoidAlgebra.symm_mapRingEquiv (since := "2026-03-20")]
                                                    theorem MonoidAlgebra.symm_mapRangeRingEquiv {R : Type u_3} {S : Type u_4} {M : Type u_6} [Semiring R] [Semiring S] [Monoid M] (e : R ā‰ƒ+* S) :

                                                    Alias of MonoidAlgebra.symm_mapRingEquiv.

                                                    @[simp]
                                                    theorem MonoidAlgebra.mapRingEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (e₁ : R ā‰ƒ+* S) (eā‚‚ : S ā‰ƒ+* T) :
                                                    mapRingEquiv M (e₁.trans eā‚‚) = (mapRingEquiv M e₁).trans (mapRingEquiv M eā‚‚)
                                                    @[simp]
                                                    theorem AddMonoidAlgebra.mapRingEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [AddMonoid M] (e₁ : R ā‰ƒ+* S) (eā‚‚ : S ā‰ƒ+* T) :
                                                    mapRingEquiv M (e₁.trans eā‚‚) = (mapRingEquiv M e₁).trans (mapRingEquiv M eā‚‚)
                                                    @[deprecated MonoidAlgebra.mapRingEquiv_trans (since := "2026-03-20")]
                                                    theorem MonoidAlgebra.mapRangeRingEquiv_trans {R : Type u_3} {S : Type u_4} {T : Type u_5} {M : Type u_6} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (e₁ : R ā‰ƒ+* S) (eā‚‚ : S ā‰ƒ+* T) :
                                                    mapRingEquiv M (e₁.trans eā‚‚) = (mapRingEquiv M e₁).trans (mapRingEquiv M eā‚‚)

                                                    Alias of MonoidAlgebra.mapRingEquiv_trans.

                                                    noncomputable def MonoidAlgebra.commRingEquiv {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] :

                                                    Nested monoid algebras can be taken in an arbitrary order.

                                                    Instances For

                                                      Nested additive monoid algebras can be taken in an arbitrary order.

                                                      Instances For
                                                        @[simp]
                                                        theorem MonoidAlgebra.commRingEquiv_single_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [Monoid M] [Monoid N] (m : M) (n : N) (r : R) :
                                                        @[simp]
                                                        theorem AddMonoidAlgebra.commRingEquiv_single_single {R : Type u_3} {M : Type u_6} {N : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] (m : M) (n : N) (r : R) :
                                                        theorem MonoidAlgebra.map_neg {R : Type u_3} {S : Type u_4} {M : Type u_6} [Ring R] [Ring S] (f : R →+ S) (x : MonoidAlgebra R M) :
                                                        map f (-x) = -map f x
                                                        theorem AddMonoidAlgebra.map_neg {R : Type u_3} {S : Type u_4} {M : Type u_6} [Ring R] [Ring S] (f : R →+ S) (x : AddMonoidAlgebra R M) :
                                                        map f (-x) = -map f x
                                                        theorem MonoidAlgebra.map_sub {R : Type u_3} {S : Type u_4} {M : Type u_6} [Ring R] [Ring S] (f : R →+ S) (x y : MonoidAlgebra R M) :
                                                        map f (x - y) = map f x - map f y
                                                        theorem AddMonoidAlgebra.map_sub {R : Type u_3} {S : Type u_4} {M : Type u_6} [Ring R] [Ring S] (f : R →+ S) (x y : AddMonoidAlgebra R M) :
                                                        map f (x - y) = map f x - map f y

                                                        Conversions between AddMonoidAlgebra and MonoidAlgebra #

                                                        We have not defined AddMonoidAlgebra k G = MonoidAlgebra k (Multiplicative G) because historically this caused problems; since the changes that have made nsmul definitional, this would be possible, but for now we just construct the ring isomorphisms using RingEquiv.refl _.

                                                        noncomputable def AddMonoidAlgebra.toMultiplicative (k : Type u_9) (G : Type u_10) [Semiring k] [Add G] :

                                                        The equivalence between AddMonoidAlgebra and MonoidAlgebra in terms of Multiplicative

                                                        Instances For
                                                          noncomputable def MonoidAlgebra.toAdditive (k : Type u_9) (G : Type u_10) [Semiring k] [Mul G] :

                                                          The equivalence between MonoidAlgebra and AddMonoidAlgebra in terms of Additive

                                                          Instances For