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]whenAis anR-coalgebra.LaurentPolynomial.instCoalgebra: theR-coalgebra structure on the Laurent polynomialsA[T;T⁻¹]whenAis anR-coalgebra.
@[instance_reducible]
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
@[instance_reducible]
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
instance MonoidAlgebra.instIsCocomm {R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R A] [Coalgebra.IsCocomm R A] :
Coalgebra.IsCocomm R (MonoidAlgebra A X)
instance AddMonoidAlgebra.instIsCocomm {R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R A] [Coalgebra.IsCocomm R A] :
Coalgebra.IsCocomm R (AddMonoidAlgebra A X)
@[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 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) :
theorem MonoidAlgebra.comul_def {R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R A] :
theorem AddMonoidAlgebra.comul_def {R : Type u_1} [CommSemiring R] {A : Type u_2} [Semiring A] {X : Type u_3} [Module R A] [Coalgebra R 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)
@[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)
@[instance_reducible]
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
- One or more equations did not get rendered due to their size.
instance LaurentPolynomial.instIsCocomm (R : Type u_1) (A : Type u_2) [CommSemiring R] [Semiring A] [Module R A] [Coalgebra R A] [Coalgebra.IsCocomm R A] :
@[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 : ℤ) :