# Documentation

class Unital r => DecidableAssociates r whereSource

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

isAssociateIntegral :: Num n => n -> n -> BoolSource

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