Safe Haskell | None |
---|
- class Multiplicative r => Unital r where
- one :: r
- pow :: Whole n => r -> n -> r
- productWith :: Foldable f => (a -> r) -> f a -> r
- product :: (Foldable f, Unital r) => f r -> r
- class Algebra r a => UnitalAlgebra r a where
- unit :: r -> a -> r
- class Coalgebra r c => CounitalCoalgebra r c where
- counit :: (c -> r) -> r
- class (UnitalAlgebra r a, CounitalCoalgebra r a) => Bialgebra r a
Unital Multiplication (Multiplicative monoid)
class Multiplicative r => Unital r whereSource
Unital Associative Algebra
class Algebra r a => UnitalAlgebra r a whereSource
An associative unital algebra over a semiring, built using a free module
Unital Coassociative Coalgebra
class Coalgebra r c => CounitalCoalgebra r c whereSource
Bialgebra
class (UnitalAlgebra r a, CounitalCoalgebra r a) => Bialgebra r a Source
A bialgebra is both a unital algebra and counital coalgebra
where the mult
and unit
are compatible in some sense with
the comult
and counit
. That is to say that
mult
and unit
are a coalgebra homomorphisms or (equivalently) that
comult
and counit
are an algebra homomorphisms.