Safe Haskell | Safe |
---|---|

Language | Haskell98 |

- class Multiplicative r => InvolutiveMultiplication r where
- class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r
- class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a where
- class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where
- 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 where Source #

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 where Source #

class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where Source #

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 Source # | |

# 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 #

(TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveAlgebra r () Source # | |

(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b) => TriviallyInvolutiveAlgebra r (a, b) Source # | |

(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c) => TriviallyInvolutiveAlgebra r (a, b, c) Source # | |

(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d) => TriviallyInvolutiveAlgebra r (a, b, c, d) Source # | |

(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d, TriviallyInvolutiveAlgebra r e) => TriviallyInvolutiveAlgebra r (a, b, c, d, e) Source # | |

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

(TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveCoalgebra r () Source # | |

(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b) => TriviallyInvolutiveCoalgebra r (a, b) Source # | |

(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c) => TriviallyInvolutiveCoalgebra r (a, b, c) Source # | |

(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d) => TriviallyInvolutiveCoalgebra r (a, b, c, d) Source # | |

(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d, TriviallyInvolutiveCoalgebra r e) => TriviallyInvolutiveCoalgebra r (a, b, c, d, e) 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 Source # | |