Documentation

Mathlib.Algebra.MonoidAlgebra.MapDomain

MonoidAlgebra.mapDomain #

Multiplicative monoids #

@[reducible, inline]
abbrev MonoidAlgebra.mapDomain {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] (f : MN) (v : 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_1} {M : Type u_3} {N : Type u_4} [Semiring R] (f : MN) (v : 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_sum {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [Semiring S] (f : MN) (s : MonoidAlgebra S M) (v : MSMonoidAlgebra R M) :
      mapDomain f (Finsupp.sum s v) = Finsupp.sum s fun (a : M) (b : S) => mapDomain f (v a b)
      theorem AddMonoidAlgebra.mapDomain_sum {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [Semiring S] (f : MN) (s : AddMonoidAlgebra S M) (v : MSAddMonoidAlgebra R M) :
      mapDomain f (Finsupp.sum s v) = Finsupp.sum s fun (a : M) (b : S) => mapDomain f (v a b)
      theorem MonoidAlgebra.mapDomain_single {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] {f : MN} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem AddMonoidAlgebra.mapDomain_single {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] {f : MN} {a : M} {r : R} :
      mapDomain f (single a r) = single (f a) r
      theorem MonoidAlgebra.mapDomain_injective {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] {f : MN} (hf : Function.Injective f) :
      theorem AddMonoidAlgebra.mapDomain_injective {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] {f : MN} (hf : Function.Injective f) :
      @[simp]
      theorem MonoidAlgebra.mapDomain_one {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] [One M] [One N] {F : Type u_6} [FunLike F M N] [OneHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      @[simp]
      theorem AddMonoidAlgebra.mapDomain_one {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] [Zero M] [Zero N] {F : Type u_6} [FunLike F M N] [ZeroHomClass F M N] (f : F) :
      mapDomain (⇑f) 1 = 1
      theorem MonoidAlgebra.mapDomain_mul {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] [Mul M] [Mul N] {F : Type u_6} [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 {R : Type u_1} {M : Type u_3} {N : Type u_4} [Semiring R] [Add M] [Add N] {F : Type u_6} [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.mapDomainRingHom (R : Type u_1) {M : Type u_3} {N : Type u_4} [Semiring R] [Monoid M] [Monoid N] {F : Type u_6} [FunLike F M N] [MonoidHomClass F M N] (f : F) :

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

      Equations
      Instances For
        def AddMonoidAlgebra.mapDomainRingHom (R : Type u_1) {M : Type u_3} {N : Type u_4} [Semiring R] [AddMonoid M] [AddMonoid N] {F : Type u_6} [FunLike F M N] [AddMonoidHomClass F M N] (f : F) :

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

        Equations
        Instances For
          @[simp]
          theorem AddMonoidAlgebra.mapDomainRingHom_apply (R : Type u_1) {M : Type u_3} {N : Type u_4} [Semiring R] [AddMonoid M] [AddMonoid N] {F : Type u_6} [FunLike F M N] [AddMonoidHomClass F M N] (f : F) (a✝ : M →₀ R) :
          @[simp]
          theorem MonoidAlgebra.mapDomainRingHom_apply (R : Type u_1) {M : Type u_3} {N : Type u_4} [Semiring R] [Monoid M] [Monoid N] {F : Type u_6} [FunLike F M N] [MonoidHomClass F M N] (f : F) (a✝ : M →₀ R) :
          theorem MonoidAlgebra.ringHom_ext_iff {k : Type u₁} {G : Type u₂} {R : Type u_5} [Semiring k] [MulOneClass G] [Semiring R] {f g : MonoidAlgebra k G →+* R} :
          f = g (∀ (b : k), f (single 1 b) = g (single 1 b)) ∀ (a : G), f (single a 1) = g (single a 1)
          @[simp]
          theorem MonoidAlgebra.mapDomainRingHom_comp {R : Type u_1} {M : Type u_3} {N : Type u_4} {O : Type u_5} [Semiring R] [Monoid M] [Monoid N] [Monoid O] (f : N →* O) (g : M →* N) :
          @[simp]
          theorem AddMonoidAlgebra.mapDomainRingHom_comp {R : Type u_1} {M : Type u_3} {N : Type u_4} {O : Type u_5} [Semiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (f : N →+ O) (g : M →+ N) :
          theorem MonoidAlgebra.mapRangeRingHom_comp_mapDomainRingHom {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [Semiring S] [Monoid M] [Monoid N] (f : R →+* S) (g : M →* N) :

          Conversions between AddMonoidAlgebra and MonoidAlgebra #

          We have not defined 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