The coalgebra structure on monoid algebras #
Given a type X
, a commutative semiring R
and a semiring A
which is also an R
-coalgebra,
this file collects results about the R
-coalgebra instance on A[X]
inherited from the
corresponding structure on its coefficients, defined in Mathlib/RingTheory/Coalgebra/Basic.lean
.
Main definitions #
(Add)MonoidAlgebra.instCoalgebra
: theR
-coalgebra structure onA[X]
whenA
is anR
-coalgebra.LaurentPolynomial.instCoalgebra
: theR
-coalgebra structure on the Laurent polynomialsA[T;T⁻¹]
whenA
is anR
-coalgebra.
noncomputable instance
MonoidAlgebra.instCoalgebra
(R : Type u_1)
[CommSemiring R]
(A : Type u_2)
[Semiring A]
(X : Type u_3)
[Module R A]
[Coalgebra R A]
:
Coalgebra R (MonoidAlgebra A X)
Equations
- MonoidAlgebra.instCoalgebra R A X = Finsupp.instCoalgebra R X A
@[simp]
theorem
MonoidAlgebra.counit_single
{R : Type u_1}
[CommSemiring R]
{A : Type u_2}
[Semiring A]
{X : Type u_3}
[Module R A]
[Coalgebra R A]
(x : X)
(a : A)
:
@[simp]
theorem
MonoidAlgebra.comul_single
{R : Type u_1}
[CommSemiring R]
{A : Type u_2}
[Semiring A]
{X : Type u_3}
[Module R A]
[Coalgebra R A]
(x : X)
(a : A)
:
CoalgebraStruct.comul (single x a) = (TensorProduct.map (lsingle x) (lsingle x)) (CoalgebraStruct.comul a)
noncomputable instance
AddMonoidAlgebra.instCoalgebra
(R : Type u_1)
[CommSemiring R]
(A : Type u_2)
[Semiring A]
(X : Type u_3)
[Module R A]
[Coalgebra R A]
:
Coalgebra R (AddMonoidAlgebra A X)
Equations
- AddMonoidAlgebra.instCoalgebra R A X = Finsupp.instCoalgebra R X A
@[simp]
theorem
AddMonoidAlgebra.counit_single
{R : Type u_1}
[CommSemiring R]
{A : Type u_2}
[Semiring A]
{X : Type u_3}
[Module R A]
[Coalgebra R A]
(x : X)
(a : A)
:
@[simp]
theorem
AddMonoidAlgebra.comul_single
{R : Type u_1}
[CommSemiring R]
{A : Type u_2}
[Semiring A]
{X : Type u_3}
[Module R A]
[Coalgebra R A]
(x : X)
(a : A)
:
CoalgebraStruct.comul (single x a) = (TensorProduct.map (lsingle x) (lsingle x)) (CoalgebraStruct.comul a)
noncomputable instance
LaurentPolynomial.instCoalgebra
(R : Type u_1)
(A : Type u_2)
[CommSemiring R]
[Semiring A]
[Module R A]
[Coalgebra R A]
:
Coalgebra R (LaurentPolynomial A)
Equations
@[simp]
theorem
LaurentPolynomial.comul_C
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[Semiring A]
[Module R A]
[Coalgebra R A]
(a : A)
:
@[simp]
theorem
LaurentPolynomial.comul_C_mul_T
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[Semiring A]
[Module R A]
[Coalgebra R A]
(a : A)
(n : ℤ)
:
CoalgebraStruct.comul (C a * T n) = (TensorProduct.map (AddMonoidAlgebra.lsingle n) (AddMonoidAlgebra.lsingle n)) (CoalgebraStruct.comul a)
@[simp]
theorem
LaurentPolynomial.counit_C
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[Semiring A]
[Module R A]
[Coalgebra R A]
(a : A)
:
@[simp]
theorem
LaurentPolynomial.counit_C_mul_T
{R : Type u_1}
{A : Type u_2}
[CommSemiring R]
[Semiring A]
[Module R A]
[Coalgebra R A]
(a : A)
(n : ℤ)
: