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

Language | Haskell2010 |

Ring classes. A distinguishment is made between Rings and Commutative Rings.

- class (MultiplicativeAssociative a, MultiplicativeUnital a, Distribution a) => Semiring a
- class (AdditiveGroup a, MultiplicativeAssociative a, MultiplicativeUnital a, Distribution a) => Ring a
- class (Multiplicative a, Ring a) => CRing a

# Documentation

class (MultiplicativeAssociative a, MultiplicativeUnital a, Distribution a) => Semiring a Source #

Semiring

class (AdditiveGroup a, MultiplicativeAssociative a, MultiplicativeUnital a, Distribution a) => Ring a Source #

Ring a summary of the laws inherited from the ring super-classes

zero + a == a a + zero == a (a + b) + c == a + (b + c) a + b == b + a a - a = zero negate a = zero - a negate a + a = zero a + negate a = zero one `times` a == a a `times` one == a (a `times` b) `times` c == a `times` (b `times` c) a `times` (b + c) == a `times` b + a `times` c (a + b) `times` c == a `times` c + b `times` c a `times` zero == zero zero `times` a == zero