algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Decidable.Associates

# Documentation

class Unital r => DecidableAssociates r where Source

Methods

isAssociate :: r -> r -> Bool Source

b is an associate of a if there exists a unit u such that b = a*u

This relationship is symmetric because if u is a unit, u^-1 exists and is a unit, so

     b*u^-1 = a*u*u^-1 = a

Instances

DecidableAssociates Bool |
DecidableAssociates Int |
DecidableAssociates Int8 |
DecidableAssociates Int16 |
DecidableAssociates Int32 |
DecidableAssociates Int64 |
DecidableAssociates Integer |
DecidableAssociates Word |
DecidableAssociates Word8 |
DecidableAssociates Word16 |
DecidableAssociates Word32 |
DecidableAssociates Word64 |
DecidableAssociates () |
DecidableAssociates Natural |
DecidableAssociates (BasisCoblade m) |
DecidableAssociates r => DecidableAssociates (Opposite r) |
(DecidableAssociates a, DecidableAssociates b) => DecidableAssociates (a, b) |
(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c) => DecidableAssociates (a, b, c) |
(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d) => DecidableAssociates (a, b, c, d) |
(DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d, DecidableAssociates e) => DecidableAssociates (a, b, c, d, e) |

isAssociateIntegral :: (Eq n, Num n) => n -> n -> Bool Source

isAssociateWhole :: Eq n => n -> n -> Bool Source