constructive-algebra-0.1: src/Algebra/Z.hs
{-# LANGUAGE TypeSynonymInstances #-}
module Algebra.Z
( Z
, module Algebra.Structures.IntegralDomain
) where
import Test.QuickCheck
import Algebra.Structures.IntegralDomain
-- | Type synonym for integers.
type Z = Integer
instance Ring Z where
(<*>) = (*)
(<+>) = (+)
neg = negate
one = 1
zero = 0
instance CommutativeRing Z
instance IntegralDomain Z
propIntegralDomainZ :: Z -> Z -> Z -> Property
propIntegralDomainZ = propIntegralDomain