pandora-0.2.5: Pandora/Pattern/Object/Group.hs
module Pandora.Pattern.Object.Group (Group (..)) where
import Pandora.Pattern.Object.Quasiring (Quasiring)
{- |
> When providing a new instance, you should ensure it satisfies the two laws:
> * Right absorption: x * invert x ≡ zero
> * Left absorption: invert x * x ≡ zero
-}
class Quasiring a => Group a where
{-# MINIMAL invert #-}
invert :: a -> a