Safe Haskell | None |
---|

- class Multiplicative r => InvolutiveMultiplication r where
- adjoint :: r -> r

- class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r
- class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a where
- inv :: (a -> r) -> a -> r

- class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where
- coinv :: (c -> r) -> c -> r

- class (Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h
- class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r
- class (CommutativeAlgebra r a, TriviallyInvolutive r, InvolutiveAlgebra r a) => TriviallyInvolutiveAlgebra r a
- class (CocommutativeCoalgebra r a, TriviallyInvolutive r, InvolutiveCoalgebra r a) => TriviallyInvolutiveCoalgebra r a
- class (InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h

# Involution

class Multiplicative r => InvolutiveMultiplication r whereSource

An semigroup with involution

adjoint a * adjoint b = adjoint (b * a)

class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r Source

adjoint (x + y) = adjoint x + adjoint y

# Involutive Algebras

class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a whereSource

class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c whereSource

class (Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h Source

(Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h |

# Trivial Involution

class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r Source

adjoint = id

class (CommutativeAlgebra r a, TriviallyInvolutive r, InvolutiveAlgebra r a) => TriviallyInvolutiveAlgebra r a Source

class (CocommutativeCoalgebra r a, TriviallyInvolutive r, InvolutiveCoalgebra r a) => TriviallyInvolutiveCoalgebra r a Source

class (InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h Source

(InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h |