constructive-algebra-0.3.0: A library of constructive algebra.

Algebra.Structures.Ring

Description

The representation of the ring structure.

Synopsis

# Documentation

class Ring a whereSource

Definition of rings.

Methods

(<+>) :: a -> a -> aSource

(<*>) :: a -> a -> aSource

Multiplication

neg :: a -> aSource

zero :: aSource

one :: aSource

The multiplicative identity

Instances

 Ring Z Ring EllipticCurve Ring ZSqrt5 (GCDDomain a, Eq a) => Ring (FieldOfFractions a) Nat n => Ring (Zn n) (CommutativeRing r, Eq r) => Ring (UPoly r x)

propAddAssoc :: (Ring a, Eq a) => a -> a -> a -> (Bool, String)Source

propAddIdentity :: (Ring a, Eq a) => a -> (Bool, String)Source

propAddInv :: (Ring a, Eq a) => a -> (Bool, String)Source

propAddComm :: (Ring a, Eq a) => a -> a -> (Bool, String)Source

propMulAssoc :: (Ring a, Eq a) => a -> a -> a -> (Bool, String)Source

Multiplication is associative.

propMulIdentity :: (Ring a, Eq a) => a -> (Bool, String)Source

One is the multiplicative identity.

propRightDist :: (Ring a, Eq a) => a -> a -> a -> (Bool, String)Source

propLeftDist :: (Ring a, Eq a) => a -> a -> a -> (Bool, String)Source

propRing :: (Ring a, Eq a) => a -> a -> a -> PropertySource

Specification of rings. Test that the arguments satisfy the ring axioms.

(<->) :: Ring a => a -> a -> aSource

Subtraction

(<^>) :: Ring a => a -> Integer -> aSource

Exponentiation

sumRing :: Ring a => [a] -> aSource

Summation

productRing :: Ring a => [a] -> aSource

Product