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
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 := ⋯ }