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.
The comultiplication of the coalgebra
The counit of the coalgebra
Instances
The counit of the coalgebra
Equations
- RingTheory.LinearMap.termε = Lean.ParserDescr.node `RingTheory.LinearMap.termε 1024 (Lean.ParserDescr.symbol "ε")
Instances For
The comultiplication of the coalgebra
Equations
- RingTheory.LinearMap.termδ = Lean.ParserDescr.node `RingTheory.LinearMap.termδ 1024 (Lean.ParserDescr.symbol "δ")
Instances For
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 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 ais equal to a finite sum of some pure tensors
Instances For
An arbitrarily chosen representation.
Equations
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.
- coassoc : ↑(TensorProduct.assoc R A A A) ∘ₗ LinearMap.rTensor A comul ∘ₗ comul = LinearMap.lTensor A comul ∘ₗ comul
The comultiplication is coassociative
The counit satisfies the left counitality law
The counit satisfies the right counitality law
Instances
A coalgebra A is cocommutative if its comultiplication δ : A → A ⊗ A commutes with the
swapping β : A ⊗ A ≃ A ⊗ A of the factors in the tensor product.
Instances
Every commutative (semi)ring is a coalgebra over itself, with Δ r = 1 ⊗ₜ r.
Equations
- CommSemiring.toCoalgebra R = { comul := (TensorProduct.mk R R R) 1, counit := LinearMap.id, coassoc := ⋯, rTensor_counit_comp_comul := ⋯, lTensor_counit_comp_comul := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Prod.instCoalgebra R A B = { toCoalgebraStruct := Prod.instCoalgebraStruct R A B, coassoc := ⋯, rTensor_counit_comp_comul := ⋯, lTensor_counit_comp_comul := ⋯ }
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 = { toCoalgebraStruct := DFinsupp.instCoalgebraStruct R ι A, coassoc := ⋯, rTensor_counit_comp_comul := ⋯, lTensor_counit_comp_comul := ⋯ }
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 = { toCoalgebraStruct := Finsupp.instCoalgebraStruct R ι A, coassoc := ⋯, rTensor_counit_comp_comul := ⋯, lTensor_counit_comp_comul := ⋯ }