Documentation

Mathlib.RingTheory.Bialgebra.MonoidAlgebra

The bialgebra structure on monoid algebras #

Given a monoid M, a commutative semiring R and an R-bialgebra A, this file collects results about the R-bialgebra instance on A[M] inherited from the corresponding structure on its coefficients, building upon results in Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean about the coalgebra structure.

Main definitions #

@[simp]
theorem MonoidAlgebra.isGroupLikeElem_single_one {R : Type u_1} {A : Type u_3} {G : Type u_5} [CommSemiring R] [Semiring A] [Bialgebra R A] (g : G) :
@[simp]
theorem AddMonoidAlgebra.isGroupLikeElem_single_one {R : Type u_1} {A : Type u_3} {G : Type u_5} [CommSemiring R] [Semiring A] [Bialgebra R A] (g : G) :
@[simp]

A group algebra is spanned by its group-like elements.

@[instance_reducible]
noncomputable instance MonoidAlgebra.instBialgebra (R : Type u_1) (A : Type u_3) (M : Type u_8) [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] :
Equations
  • One or more equations did not get rendered due to their size.
@[instance_reducible]
noncomputable instance AddMonoidAlgebra.instBialgebra (R : Type u_1) (A : Type u_3) (M : Type u_8) [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] :
Equations
  • One or more equations did not get rendered due to their size.
noncomputable def MonoidAlgebra.mapDomainBialgHom (R : Type u_1) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Monoid M] [Monoid N] (f : M →* N) :

If f : M → N is a monoid hom, then MonoidAlgebra.mapDomain f is a bialgebra hom between their monoid algebras.

Equations
Instances For
    noncomputable def AddMonoidAlgebra.mapDomainBialgHom (R : Type u_1) {M : Type u_8} {N : Type u_9} [CommSemiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) :

    If f : M → N is an additive monoid hom, then MonoidAlgebra.mapDomain f is a bialgebra hom between their additive monoid algebras.

    Equations
    Instances For
      @[simp]
      theorem AddMonoidAlgebra.coeff_mapDomainBialgHom_apply (R : Type u_1) {M : Type u_8} {N : Type u_9} [CommSemiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) (a✝ : AddMonoidAlgebra R M) :
      @[simp]
      theorem MonoidAlgebra.coeff_mapDomainBialgHom_apply (R : Type u_1) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Monoid M] [Monoid N] (f : M →* N) (a✝ : MonoidAlgebra R M) :
      @[simp]
      theorem MonoidAlgebra.mapDomainBialgHom_comp {R : Type u_1} {M : Type u_8} {N : Type u_9} {O : Type u_10} [CommSemiring R] [Monoid M] [Monoid N] [Monoid O] (f : N →* O) (g : M →* N) :
      @[simp]
      theorem AddMonoidAlgebra.mapDomainBialgHom_comp {R : Type u_1} {M : Type u_8} {N : Type u_9} {O : Type u_10} [CommSemiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (f : N →+ O) (g : M →+ N) :
      theorem MonoidAlgebra.mapDomainBialgHom_mapDomainBialgHom {R : Type u_1} {M : Type u_8} {N : Type u_9} {O : Type u_10} [CommSemiring R] [Monoid M] [Monoid N] [Monoid O] (f : N →* O) (g : M →* N) (x : MonoidAlgebra R M) :
      theorem AddMonoidAlgebra.mapDomainBialgHom_mapDomainBialgHom {R : Type u_1} {M : Type u_8} {N : Type u_9} {O : Type u_10} [CommSemiring R] [AddMonoid M] [AddMonoid N] [AddMonoid O] (f : N →+ O) (g : M →+ N) (x : AddMonoidAlgebra R M) :
      @[simp]
      theorem MonoidAlgebra.mapDomainBialgHom_single {R : Type u_1} {M : Type u_8} {N : Type u_9} [CommSemiring R] [Monoid M] [Monoid N] (f : M →* N) (m : M) (r : R) :
      (mapDomainBialgHom R f) (single m r) = single (f m) r
      @[simp]
      theorem AddMonoidAlgebra.mapDomainBialgHom_single {R : Type u_1} {M : Type u_8} {N : Type u_9} [CommSemiring R] [AddMonoid M] [AddMonoid N] (f : M →+ N) (m : M) (r : R) :
      (mapDomainBialgHom R f) (single m r) = single (f m) r
      theorem MonoidAlgebra.bialgHom_ext {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [Monoid M] φ₁ φ₂ : MonoidAlgebra A M →ₐc[R] B (single_one_right : ∀ (m : M), φ₁ (single m 1) = φ₂ (single m 1)) (single_one_left : (↑φ₁).comp singleOneAlgHom = (↑φ₂).comp singleOneAlgHom) :
      φ₁ = φ₂

      A R-bialgebra homomorphism from A[M] is uniquely defined by its values on the functions single m 1 and single 1 a.

      See note [partially-applied ext lemmas]. Note that the first assumption isn't written as an equality of MonoidHoms because of doesn't additivise.

      theorem AddMonoidAlgebra.bialgHom_ext {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [AddMonoid M] φ₁ φ₂ : AddMonoidAlgebra A M →ₐc[R] B (single_zero_right : ∀ (m : M), φ₁ (single m 1) = φ₂ (single m 1)) (single_zero_left : (↑φ₁).comp singleZeroAlgHom = (↑φ₂).comp singleZeroAlgHom) :
      φ₁ = φ₂

      A R-bialgebra homomorphism from A[M] is uniquely defined by its values on the functions single m 1 and single 1 a.

      See note [partially-applied ext lemmas]. Note that the first assumption isn't written as an equality of AddMonoidHoms because of doesn't multiplicativise.

      theorem MonoidAlgebra.bialgHom_ext_iff {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [Monoid M] {φ₁ φ₂ : MonoidAlgebra A M →ₐc[R] B} :
      φ₁ = φ₂ (∀ (m : M), φ₁ (single m 1) = φ₂ (single m 1)) (↑φ₁).comp singleOneAlgHom = (↑φ₂).comp singleOneAlgHom
      theorem AddMonoidAlgebra.bialgHom_ext_iff {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [AddMonoid M] {φ₁ φ₂ : AddMonoidAlgebra A M →ₐc[R] B} :
      φ₁ = φ₂ (∀ (m : M), φ₁ (single m 1) = φ₂ (single m 1)) (↑φ₁).comp singleZeroAlgHom = (↑φ₂).comp singleZeroAlgHom
      theorem MonoidAlgebra.bialgHom_ext' {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [Monoid M] φ₁ φ₂ : MonoidAlgebra A M →ₐc[R] B (single_one_right : (↑φ₁).comp (of A M) = (↑φ₂).comp (of A M)) (single_one_left : (↑φ₁).comp singleOneAlgHom = (↑φ₂).comp singleOneAlgHom) :
      φ₁ = φ₂

      Version of bialgHom_ext where both assumptions are written as equalities of bundled homs.

      @[simp]
      theorem MonoidAlgebra.counit_domCongr {R : Type u_1} {A : Type u_3} {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] [Monoid N] (e : M ≃* N) (x : MonoidAlgebra A M) :
      @[simp]
      theorem AddMonoidAlgebra.counit_domCongr {R : Type u_1} {A : Type u_3} {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] [AddMonoid N] (e : M ≃+ N) (x : AddMonoidAlgebra A M) :
      noncomputable def MonoidAlgebra.domCongrBialgEquiv (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] [Monoid N] (e : M ≃* N) :

      Isomorphic monoids have isomorphic monoid algebras.

      Equations
      Instances For
        noncomputable def AddMonoidAlgebra.domCongrBialgEquiv (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] [AddMonoid N] (e : M ≃+ N) :

        Isomorphic monoids have isomorphic monoid algebras.

        Equations
        Instances For
          theorem MonoidAlgebra.coeff_domCongrBialgEquiv_symm_apply (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] [Monoid N] (e : M ≃* N) (a✝ : MonoidAlgebra A N) :
          theorem AddMonoidAlgebra.coeff_domCongrBialgEquiv_apply (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] [AddMonoid N] (e : M ≃+ N) (a✝ : AddMonoidAlgebra A M) :
          ((domCongrBialgEquiv R A e) a✝).coeff = Finsupp.mapDomain (⇑e) a✝.coeff
          theorem AddMonoidAlgebra.coeff_domCongrBialgEquiv_symm_apply (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] [AddMonoid N] (e : M ≃+ N) (a✝ : AddMonoidAlgebra A N) :
          theorem MonoidAlgebra.coeff_domCongrBialgEquiv_apply (R : Type u_1) (A : Type u_3) {M : Type u_8} {N : Type u_9} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] [Monoid N] (e : M ≃* N) (a✝ : MonoidAlgebra A M) :
          ((domCongrBialgEquiv R A e) a✝).coeff = Finsupp.mapDomain (⇑e) a✝.coeff

          The trivial monoid algebra is isomorphic to the base ring.

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

            The trivial monoid algebra is isomorphic to the base ring.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem MonoidAlgebra.isGroupLikeElem_of {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] (m : M) :
              IsGroupLikeElem R ((of A M) m)
              noncomputable def MonoidAlgebra.liftGroupLikeBialgHom {R : Type u_1} {A : Type u_3} [CommSemiring R] [Semiring A] [Bialgebra R A] :

              The R-bialgebra map from the group algebra on the group-like elements of A to A.

              Equations
              Instances For
                @[simp]
                theorem MonoidAlgebra.liftGroupLikeBialgHom_apply {R : Type u_1} {A : Type u_3} [CommSemiring R] [Semiring A] [Bialgebra R A] (a✝ : MonoidAlgebra R (GroupLike R A)) :
                liftGroupLikeBialgHom a✝ = ((lift R A (GroupLike R A)) { toFun := fun (g : GroupLike R A) => g, map_one' := , map_mul' := }) a✝
                noncomputable def MonoidAlgebra.toAdditiveBialgEquiv (R : Type u_1) (A : Type u_3) (M : Type u_8) [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] :

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

                Equations
                Instances For
                  @[simp]
                  theorem MonoidAlgebra.toAdditiveBialgEquiv_single {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [Semiring A] [Bialgebra R A] [Monoid M] (m : M) (a : A) :
                  noncomputable def MonoidAlgebra.liftMulEquiv (R : Type u_1) (A : Type u_3) (M : Type u_8) [CommSemiring R] [CommSemiring A] [Algebra R A] [Monoid M] :

                  MonoidAlgebra.lift as a MulEquiv.

                  Equations
                  Instances For
                    @[simp]
                    theorem MonoidAlgebra.convMul_algHom_single_one {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [CommSemiring A] [Algebra R A] [Monoid M] (f g : WithConv (MonoidAlgebra R M →ₐ[R] A)) (x : M) :
                    (f * g).ofConv (single x 1) = f.ofConv (single x 1) * g.ofConv (single x 1)
                    @[simp]
                    theorem AddMonoidAlgebra.convMul_algHom_single_one {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [CommSemiring A] [Algebra R A] [AddMonoid M] (f g : WithConv (AddMonoidAlgebra R M →ₐ[R] A)) (x : M) :
                    (f * g).ofConv (single x 1) = f.ofConv (single x 1) * g.ofConv (single x 1)
                    @[simp]
                    theorem MonoidAlgebra.convMul_bialgHom_single_one {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [CommSemiring A] [Bialgebra R A] [CommMonoid M] (f g : WithConv (MonoidAlgebra R M →ₐc[R] A)) (x : M) :
                    (f * g).ofConv (single x 1) = f.ofConv (single x 1) * g.ofConv (single x 1)
                    @[simp]
                    theorem AddMonoidAlgebra.convMul_bialgHom_single_one {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [CommSemiring A] [Bialgebra R A] [AddCommMonoid M] (f g : WithConv (AddMonoidAlgebra R M →ₐc[R] A)) (x : M) :
                    (f * g).ofConv (single x 1) = f.ofConv (single x 1) * g.ofConv (single x 1)
                    noncomputable def MonoidAlgebra.mapDomainOfBialgHom {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [Group G] [Group H] (f : MonoidAlgebra R G →ₐc[R] MonoidAlgebra R H) :
                    G →* H

                    A bialgebra homomorphism R[G] → R[H] between group algebras over a domain R comes from a group hom G → H.

                    See MonoidAlgebra.mapDomainBialgHom for the forward map.

                    Equations
                    Instances For
                      noncomputable def AddMonoidAlgebra.mapDomainOfBialgHom {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [AddGroup G] [AddGroup H] (f : AddMonoidAlgebra R G →ₐc[R] AddMonoidAlgebra R H) :
                      G →+ H

                      A bialgebra homomorphism R[G] → R[H] between group algebras over a domain R comes from a group hom G → H.

                      See MonoidAlgebra.mapDomainBialgHom for the forward map.

                      Equations
                      Instances For
                        @[simp]
                        theorem MonoidAlgebra.single_mapDomainOfBialgHom {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [Group G] [Group H] (f : MonoidAlgebra R G →ₐc[R] MonoidAlgebra R H) (g : G) (r : R) :
                        @[simp]
                        theorem AddMonoidAlgebra.single_mapDomainOfBialgHom {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [AddGroup G] [AddGroup H] (f : AddMonoidAlgebra R G →ₐc[R] AddMonoidAlgebra R H) (g : G) (r : R) :
                        @[simp]
                        noncomputable def MonoidAlgebra.mapDomainBialgHomEquiv {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [Group G] [Group H] :

                        The equivalence between group homs G → H and bialgebra homs R[G] → R[H] of group algebras over a domain.

                        Equations
                        Instances For
                          noncomputable def AddMonoidAlgebra.mapDomainBialgHomEquiv {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [AddGroup G] [AddGroup H] :

                          The equivalence between group homs G → H and bialgebra homs R[G] → R[H] of group algebras over a domain.

                          Equations
                          Instances For
                            @[simp]
                            noncomputable def MonoidAlgebra.mapDomainBialgHomMulEquiv {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [CommGroup G] [CommGroup H] :

                            The group isomorphism between group homs G → H and bialgebra homs R[G] → R[H] of group algebras over a domain.

                            Equations
                            Instances For
                              @[simp]
                              theorem MonoidAlgebra.coeff_mapDomainBialgHomMulEquiv_apply_ofConv_apply {R : Type u_1} {G : Type u_5} {H : Type u_6} [CommRing R] [IsDomain R] [CommGroup G] [CommGroup H] (a✝ : G →* H) (a✝¹ : MonoidAlgebra R G) :
                              theorem AddMonoidAlgebra.bialgHom_ext' {R : Type u_1} {A : Type u_3} {B : Type u_4} {M : Type u_8} [CommSemiring R] [Semiring A] [Semiring B] [Bialgebra R A] [Bialgebra R B] [AddMonoid M] φ₁ φ₂ : AddMonoidAlgebra A M →ₐc[R] B (single_one_right : (↑φ₁).comp (of A M) = (↑φ₂).comp (of A M)) (single_one_left : (↑φ₁).comp singleZeroAlgHom = (↑φ₂).comp singleZeroAlgHom) :
                              φ₁ = φ₂

                              See note [partially-applied ext lemmas].

                              theorem AddMonoidAlgebra.isGroupLikeElem_of {R : Type u_1} {A : Type u_3} {M : Type u_8} [CommSemiring R] [Semiring A] [Bialgebra R A] [AddMonoid M] (m : M) :
                              IsGroupLikeElem R ((of A M) m)
                              noncomputable def AddMonoidAlgebra.liftMulEquiv (R : Type u_1) (A : Type u_3) (M : Type u_8) [CommSemiring R] [CommSemiring A] [Algebra R A] [AddMonoid M] :

                              AddMonoidAlgebra.lift as a MulEquiv.

                              Equations
                              Instances For

                                The group isomorphism between group homs G → H and bialgebra homs R[G] → R[H] of group algebras over a domain.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[instance_reducible]
                                  noncomputable instance LaurentPolynomial.instBialgebra {R : Type u_11} [CommSemiring R] {A : Type u_12} [Semiring A] [Bialgebra R A] :
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[simp]
                                  theorem LaurentPolynomial.comul_T {R : Type u_11} [CommSemiring R] {A : Type u_12} [Semiring A] [Bialgebra R A] (n : ) :
                                  @[simp]
                                  theorem LaurentPolynomial.counit_T {R : Type u_11} [CommSemiring R] {A : Type u_12} [Semiring A] [Bialgebra R A] (n : ) :