IsIntegralRing( R )
IsIntegeralRing returns true if the ring R is integral and false
otherwise.
A ring R is called integral if it is commutative and if for all elements r and s of R we have r s = 0_R implies that either r or s is 0_R.
gap> IsIntegralRing( Integers );
true
IsIntegralRing first tests whether the flag R.isIntegralRing is
bound. If the flag is bound, it returns this value. Otherwise it calls
R.operations.IsIntegralRing( R ), remembers the returned value in
R.isIntegralRing, and returns it.
The default function called this way is RingOps.IsIntegralRing, which
tests whether the product of each pair of nonzero elements is unequal to
zero, unless R is infinite. This function is seldom overlaid, because
most rings already have the flag bound.
GAP 3.4.4