Documentation

Mathlib.Algebra.MonoidAlgebra.MapDomain

Maps of monoid algebras #

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

Multiplicative monoids #

@[reducible, inline]
abbrev MonoidAlgebra.mapDomain {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) (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.

Equations
Instances For
    @[reducible, inline]
    abbrev AddMonoidAlgebra.mapDomain {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) (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.

    Equations
    Instances For
      theorem MonoidAlgebra.mapDomain_zero {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) :
      mapDomain f 0 = 0
      theorem AddMonoidAlgebra.mapDomain_zero {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) :
      mapDomain f 0 = 0
      theorem MonoidAlgebra.mapDomain_add {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) (x y : MonoidAlgebra R M) :
      mapDomain f (x + y) = mapDomain f x + mapDomain f y
      theorem AddMonoidAlgebra.mapDomain_add {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] (f : MN) (x y : AddMonoidAlgebra R M) :
      mapDomain f (x + y) = mapDomain f x + mapDomain f y
      theorem MonoidAlgebra.mapDomain_sum {R : Type u_2} {S : Type u_3} {M : Type u_5} {N : Type u_6} [Semiring R] [Semiring S] (f : MN) (x : MonoidAlgebra S M) (v : MSMonoidAlgebra 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_2} {S : Type u_3} {M : Type u_5} {N : Type u_6} [Semiring R] [Semiring S] (f : MN) (x : AddMonoidAlgebra S M) (v : MSAddMonoidAlgebra 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_2} {M : Type u_5} {N : Type u_6} [Semiring R] {f : MN} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem AddMonoidAlgebra.mapDomain_single {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] {f : MN} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem MonoidAlgebra.mapDomain_injective {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] {f : MN} (hf : Function.Injective f) :
      theorem AddMonoidAlgebra.mapDomain_injective {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] {f : MN} (hf : Function.Injective f) :
      @[simp]
      theorem MonoidAlgebra.mapDomain_one {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] [One M] [One N] {F : Type u_8} [FunLike F M N] [OneHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      @[simp]
      theorem AddMonoidAlgebra.mapDomain_one {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] [Zero M] [Zero N] {F : Type u_8} [FunLike F M N] [ZeroHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      theorem MonoidAlgebra.mapDomain_mul {F : Type u_1} {R : Type u_2} {M : Type u_5} {N : Type u_6} [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_1} {R : Type u_2} {M : Type u_5} {N : Type u_6} [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
      def MonoidAlgebra.mapDomainNonUnitalRingHom (R : Type u_2) {M : Type u_5} {N : Type u_6} [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.

      Equations
      Instances For

        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.

        Equations
        Instances For
          @[simp]
          theorem AddMonoidAlgebra.mapDomainNonUnitalRingHom_apply (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Add M] [Add N] (f : M →ₙ+ N) (x : AddMonoidAlgebra R M) :
          @[simp]
          theorem MonoidAlgebra.mapDomainNonUnitalRingHom_apply (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Mul M] [Mul N] (f : M →ₙ* N) (x : MonoidAlgebra R M) :
          @[simp]
          theorem MonoidAlgebra.mapDomainNonUnitalRingHom_comp {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Mul M] [Mul N] [Mul O] (f : N →ₙ* O) (g : M →ₙ* N) :
          @[simp]
          theorem AddMonoidAlgebra.mapDomainNonUnitalRingHom_comp {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Add M] [Add N] [Add O] (f : N →ₙ+ O) (g : M →ₙ+ N) :
          def MonoidAlgebra.mapDomainAddEquiv (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Mul M] [Mul N] (e : M N) :

          Equivalent monoids have additively isomorphic monoid algebras.

          MonoidAlgebra.mapDomain as an AddEquiv.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def AddMonoidAlgebra.mapDomainAddEquiv (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Add M] [Add N] (e : M N) :

            Equivalent additive monoids have additively isomorphic additive monoid algebras.

            AddMonoidAlgebra.mapDomain as an AddEquiv.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem MonoidAlgebra.mapDomainAddEquiv_apply {R : Type u_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [Semiring R] [Mul M] [Mul N] (e : M N) :
              @[simp]
              theorem AddMonoidAlgebra.symm_mapDomainAddEquiv {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] [Add M] [Add N] (e : M N) :
              @[simp]
              theorem MonoidAlgebra.mapDomainAddEquiv_trans {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Mul M] [Mul N] [Mul O] (e₁ : M N) (e₂ : N O) :
              @[simp]
              theorem AddMonoidAlgebra.mapDomainAddEquiv_trans {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Add M] [Add N] [Add O] (e₁ : M N) (e₂ : N O) :
              def MonoidAlgebra.mapRangeAddEquiv {R : Type u_2} {S : Type u_3} (M : Type u_5) [Semiring R] [Semiring S] [Mul M] (e : R ≃+ S) :

              Additively isomorphic rings have additively isomorphic monoid algebras.

              Finsupp.mapRange as an AddEquiv.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def AddMonoidAlgebra.mapRangeAddEquiv {R : Type u_2} {S : Type u_3} (M : Type u_5) [Semiring R] [Semiring S] [Add M] (e : R ≃+ S) :

                Additively isomorphic rings have additively isomorphic additive monoid algebras.

                Finsupp.mapRange as an AddEquiv.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem MonoidAlgebra.mapRangeAddEquiv_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Mul M] (e : R ≃+ S) (x : MonoidAlgebra R M) (m : M) :
                  ((mapRangeAddEquiv M e) x) m = e (x m)
                  @[simp]
                  theorem AddMonoidAlgebra.mapRangeAddEquiv_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Add M] (e : R ≃+ S) (x : AddMonoidAlgebra R M) (m : M) :
                  ((mapRangeAddEquiv M e) x) m = e (x m)
                  @[simp]
                  theorem MonoidAlgebra.mapRangeAddEquiv_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Mul M] (e : R ≃+ S) (r : R) (m : M) :
                  (mapRangeAddEquiv M e) (single m r) = single m (e r)
                  @[simp]
                  theorem AddMonoidAlgebra.mapRangeAddEquiv_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Add M] (e : R ≃+ S) (r : R) (m : M) :
                  (mapRangeAddEquiv M e) (single m r) = single m (e r)
                  @[simp]
                  theorem MonoidAlgebra.symm_mapRangeAddEquiv {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Mul M] (e : R ≃+ S) :
                  @[simp]
                  theorem AddMonoidAlgebra.symm_mapRangeAddEquiv {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Add M] (e : R ≃+ S) :
                  @[simp]
                  theorem MonoidAlgebra.mapRangeAddEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [Mul M] (e₁ : R ≃+ S) (e₂ : S ≃+ T) :
                  @[simp]
                  theorem AddMonoidAlgebra.mapRangeAddEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [Add M] (e₁ : R ≃+ S) (e₂ : S ≃+ T) :
                  def MonoidAlgebra.mapDomainRingHom (R : Type u_2) {M : Type u_5} {N : Type u_6} [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.

                  Equations
                  Instances For
                    def AddMonoidAlgebra.mapDomainRingHom (R : Type u_2) {M : Type u_5} {N : Type u_6} [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.

                    Equations
                    Instances For
                      @[simp]
                      theorem MonoidAlgebra.mapDomainRingHom_apply (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Monoid M] [Monoid N] (f : M →* N) (x : MonoidAlgebra R M) :
                      (mapDomainRingHom R f) x = mapDomain (⇑f) x
                      @[simp]
                      theorem AddMonoidAlgebra.mapDomainRingHom_apply (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) (x : AddMonoidAlgebra R M) :
                      (mapDomainRingHom R f) x = mapDomain (⇑f) x
                      theorem MonoidAlgebra.ringHom_ext_iff {M : Type u_2} {R : Type u_6} {S : Type u_7} [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_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Monoid M] [Monoid N] [Monoid O] (f : N →* O) (g : M →* N) :
                      @[simp]
                      theorem AddMonoidAlgebra.mapDomainRingHom_comp {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (f : N →+ O) (g : M →+ N) :
                      noncomputable def MonoidAlgebra.mapRangeRingHom {R : Type u_2} {S : Type u_3} (M : Type u_5) [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) :

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

                      Equations
                      Instances For
                        noncomputable def AddMonoidAlgebra.mapRangeRingHom {R : Type u_2} {S : Type u_3} (M : Type u_5) [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) :

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

                        Equations
                        Instances For
                          @[simp]
                          theorem MonoidAlgebra.mapRangeRingHom_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (x : MonoidAlgebra R M) (m : M) :
                          ((mapRangeRingHom M f) x) m = f (x m)
                          @[simp]
                          theorem AddMonoidAlgebra.mapRangeRingHom_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) (x : AddMonoidAlgebra R M) (m : M) :
                          ((mapRangeRingHom M f) x) m = f (x m)
                          @[simp]
                          theorem MonoidAlgebra.mapRangeRingHom_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Monoid M] (f : R →+* S) (a : M) (b : R) :
                          (mapRangeRingHom M f) (single a b) = single a (f b)
                          @[simp]
                          theorem AddMonoidAlgebra.mapRangeRingHom_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [AddMonoid M] (f : R →+* S) (a : M) (b : R) :
                          (mapRangeRingHom M f) (single a b) = single a (f b)
                          @[simp]
                          theorem MonoidAlgebra.mapRangeRingHom_comp {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (f : S →+* T) (g : R →+* S) :
                          @[simp]
                          theorem AddMonoidAlgebra.mapRangeRingHom_comp {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [AddMonoid M] (f : S →+* T) (g : R →+* S) :
                          theorem MonoidAlgebra.mapRangeRingHom_comp_mapDomainRingHom {R : Type u_2} {S : Type u_3} {M : Type u_5} {N : Type u_6} [Semiring R] [Semiring S] [Monoid M] [Monoid N] (f : R →+* S) (g : M →* N) :
                          def MonoidAlgebra.mapDomainRingEquiv (R : Type u_2) {M : Type u_5} {N : Type u_6} [Semiring R] [Monoid M] [Monoid N] (e : M ≃* N) :

                          Isomorphic monoids have isomorphic monoid algebras.

                          Equations
                          Instances For

                            Isomorphic monoids have isomorphic additive monoid algebras.

                            Equations
                            Instances For
                              @[simp]
                              theorem MonoidAlgebra.mapDomainRingEquiv_apply {R : Type u_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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_2} {M : Type u_5} {N : Type u_6} [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.symm_mapDomainRingEquiv {R : Type u_2} {M : Type u_5} {N : Type u_6} [Semiring R] [Monoid M] [Monoid N] (e : M ≃* N) :
                              @[simp]
                              @[simp]
                              theorem MonoidAlgebra.mapDomainRingEquiv_trans {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [Monoid M] [Monoid N] [Monoid O] (e₁ : M ≃* N) (e₂ : N ≃* O) :
                              @[simp]
                              theorem AddMonoidAlgebra.mapDomainRingEquiv_trans {R : Type u_2} {M : Type u_5} {N : Type u_6} {O : Type u_7} [Semiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (e₁ : M ≃+ N) (e₂ : N ≃+ O) :
                              def MonoidAlgebra.mapRangeRingEquiv {R : Type u_2} {S : Type u_3} (M : Type u_5) [Semiring R] [Semiring S] [Monoid M] (e : R ≃+* S) :

                              Isomorphic rings have isomorphic monoid algebras.

                              Equations
                              Instances For

                                Isomorphic rings have isomorphic additive monoid algebras.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem MonoidAlgebra.mapRangeRingEquiv_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Monoid M] (e : R ≃+* S) (x : MonoidAlgebra R M) (m : M) :
                                  ((mapRangeRingEquiv M e) x) m = e (x m)
                                  @[simp]
                                  theorem AddMonoidAlgebra.mapRangeRingEquiv_apply {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [AddMonoid M] (e : R ≃+* S) (x : AddMonoidAlgebra R M) (m : M) :
                                  ((mapRangeRingEquiv M e) x) m = e (x m)
                                  @[simp]
                                  theorem MonoidAlgebra.mapRangeRingEquiv_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Monoid M] (e : R ≃+* S) (r : R) (m : M) :
                                  (mapRangeRingEquiv M e) (single m r) = single m (e r)
                                  @[simp]
                                  theorem AddMonoidAlgebra.mapRangeRingEquiv_single {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [AddMonoid M] (e : R ≃+* S) (r : R) (m : M) :
                                  (mapRangeRingEquiv M e) (single m r) = single m (e r)
                                  @[simp]
                                  theorem MonoidAlgebra.symm_mapRangeRingEquiv {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [Monoid M] (e : R ≃+* S) :
                                  @[simp]
                                  theorem AddMonoidAlgebra.symm_mapRangeRingEquiv {R : Type u_2} {S : Type u_3} {M : Type u_5} [Semiring R] [Semiring S] [AddMonoid M] (e : R ≃+* S) :
                                  @[simp]
                                  theorem MonoidAlgebra.mapRangeRingEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [Monoid M] (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
                                  @[simp]
                                  theorem AddMonoidAlgebra.mapRangeRingEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} {M : Type u_5} [Semiring R] [Semiring S] [Semiring T] [AddMonoid M] (e₁ : R ≃+* S) (e₂ : S ≃+* T) :

                                  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 _.

                                  The equivalence between AddMonoidAlgebra and MonoidAlgebra in terms of Multiplicative

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The equivalence between MonoidAlgebra and AddMonoidAlgebra in terms of Additive

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For