algebra-3.1: Constructive abstract algebra

Numeric.Decidable.Associates

# Documentation

class Unital r => DecidableAssociates r whereSource

Methods

isAssociate :: r -> r -> BoolSource

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 Unital (BasisCoblade m) => DecidableAssociates (BasisCoblade m) (Unital (Opposite r), DecidableAssociates r) => DecidableAssociates (Opposite r) (Unital (a, b), DecidableAssociates a, DecidableAssociates b) => DecidableAssociates (a, b) (Unital (a, b, c), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c) => DecidableAssociates (a, b, c) (Unital (a, b, c, d), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d) => DecidableAssociates (a, b, c, d) (Unital (a, b, c, d, e), DecidableAssociates a, DecidableAssociates b, DecidableAssociates c, DecidableAssociates d, DecidableAssociates e) => DecidableAssociates (a, b, c, d, e)

isAssociateIntegral :: (Eq n, Num n) => n -> n -> BoolSource

isAssociateWhole :: Eq n => n -> n -> BoolSource