Coalgebras #
In this file we define Coalgebra
, and provide instances for:
- Commutative semirings:
CommSemiring.toCoalgebra
- Binary products:
Prod.instCoalgebra
- Finitely supported functions:
DFinsupp.instCoalgebra
,Finsupp.instCoalgebra
References #
Data fields for Coalgebra
, to allow API to be constructed before proving Coalgebra.coassoc
.
See Coalgebra
for documentation.
- comul : A →ₗ[R] TensorProduct R A A
The comultiplication of the coalgebra
The counit of the coalgebra
Instances
A representation of an element a
of a coalgebra A
is a finite sum of pure tensors ∑ xᵢ ⊗ yᵢ
that is equal to comul a
.
- ι : Type u_1
the indexing type of a representation of
comul a
- index : Finset self.ι
the finite indexing set of a representation of
comul a
- left : self.ι → A
the first coordinate of a representation of
comul a
- right : self.ι → A
the second coordinate of a representation of
comul a
comul a
is equal to a finite sum of some pure tensors
Instances For
An arbitrarily chosen representation.
Equations
- Coalgebra.Repr.arbitrary R a = Coalgebra.Repr.mk ⋯.choose Prod.fst Prod.snd ⋯
Instances For
An arbitrarily chosen representation.
Equations
- Coalgebra.termℛ = Lean.ParserDescr.node `Coalgebra.termℛ 1024 (Lean.ParserDescr.symbol "ℛ")
Instances For
A coalgebra over a commutative (semi)ring R
is an R
-module equipped with a coassociative
comultiplication Δ
and a counit ε
obeying the left and right counitality laws.
- comul : A →ₗ[R] TensorProduct R A A
- coassoc : ↑(TensorProduct.assoc R A A A) ∘ₗ LinearMap.rTensor A Coalgebra.comul ∘ₗ Coalgebra.comul = LinearMap.lTensor A Coalgebra.comul ∘ₗ Coalgebra.comul
The comultiplication is coassociative
- rTensor_counit_comp_comul : LinearMap.rTensor A Coalgebra.counit ∘ₗ Coalgebra.comul = (TensorProduct.mk R R A) 1
The counit satisfies the left counitality law
- lTensor_counit_comp_comul : LinearMap.lTensor A Coalgebra.counit ∘ₗ Coalgebra.comul = (TensorProduct.mk R A R).flip 1
The counit satisfies the right counitality law
Instances
Every commutative (semi)ring is a coalgebra over itself, with Δ r = 1 ⊗ₜ r
.
Equations
- CommSemiring.toCoalgebra R = Coalgebra.mk ⋯ ⋯ ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- Prod.instCoalgebra R A B = Coalgebra.mk ⋯ ⋯ ⋯
Equations
- One or more equations did not get rendered due to their size.
The R
-module whose elements are dependent functions (i : ι) → A i
which are zero on all but
finitely many elements of ι
has a coalgebra structure.
The coproduct Δ
is given by Δ(fᵢ a) = fᵢ a₁ ⊗ fᵢ a₂
where Δ(a) = a₁ ⊗ a₂
and the counit ε
by ε(fᵢ a) = ε(a)
, where fᵢ a
is the function sending i
to a
and all other elements of ι
to zero.
Equations
- DFinsupp.instCoalgebra R ι A = Coalgebra.mk ⋯ ⋯ ⋯
Equations
- One or more equations did not get rendered due to their size.
The R
-module whose elements are functions ι → A
which are zero on all but finitely many
elements of ι
has a coalgebra structure. The coproduct Δ
is given by Δ(fᵢ a) = fᵢ a₁ ⊗ fᵢ a₂
where Δ(a) = a₁ ⊗ a₂
and the counit ε
by ε(fᵢ a) = ε(a)
, where fᵢ a
is the function sending
i
to a
and all other elements of ι
to zero.
Equations
- Finsupp.instCoalgebra R ι A = Coalgebra.mk ⋯ ⋯ ⋯
See Mathlib.RingTheory.Coalgebra.TensorProduct
for the Coalgebra
instance.
Equations
- One or more equations did not get rendered due to their size.