  
  [1X3. Semilocalizations of the Integers[0X
  
  This package implements residue class unions of the semilocalizations Z_(pi)
  of  the ring of integers. It also provides the underlying [5XGAP[0X implementation
  of these rings themselves.
  
  
  [1X3.1 Entering semilocalizations of the integers[0X
  
  [1X3.1-1 Z_pi[0X
  
  [2X> Z_pi( [0X[3Xpi[0X[2X ) _______________________________________________________[0Xfunction
  [2X> Z_pi( [0X[3Xp[0X[2X ) ________________________________________________________[0Xfunction
  [6XReturns:[0X  The ring Z_(pi) or the ring Z_(p), respectively.
  
  The  returned  ring  has  the  property  [10XIsZ_pi[0X. The set [3Xpi[0X of noninvertible
  primes can be retrieved by the operation [10XNoninvertiblePrimes[0X.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> R := Z_pi(2);[0X
    [4XZ_( 2 )[0X
    [4Xgap> S := Z_pi([2,5,7]);[0X
    [4XZ_( 2, 5, 7 )[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  
  [1X3.2 Methods for semilocalizations of the integers[0X
  
  There   are   methods   for   the  operations  [10Xin[0X,  [10XIntersection[0X,  [10XIsSubset[0X,
  [10XStandardAssociate[0X,    [10XGcd[0X,   [10XLcm[0X,   [10XFactors[0X   and   [10XIsUnit[0X   available   for
  semilocalizations   of   the   integers.  For  the  documentation  of  these
  operations,  see  the  [5XGAP[0X  reference  manual.  The standard associate of an
  element  of  a  ring  Z_(pi)  is defined by the product of the noninvertible
  prime factors of its numerator.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> 4/7 in R; 3/2 in R;[0X
    [4Xtrue[0X
    [4Xfalse[0X
    [4Xgap> Intersection(R,Z_pi([3,11])); IsSubset(R,S);[0X
    [4XZ_( 2, 3, 11 )[0X
    [4Xtrue[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
  [4X---------------------------  Example  ----------------------------[0X
    [4X[0X
    [4Xgap> StandardAssociate(R,-6/7);[0X
    [4X2[0X
    [4Xgap> Gcd(S,90/3,60/17,120/33);[0X
    [4X10[0X
    [4Xgap> Lcm(S,90/3,60/17,120/33);[0X
    [4X40[0X
    [4Xgap> Factors(R,840);[0X
    [4X[ 105, 2, 2, 2 ][0X
    [4Xgap> Factors(R,-2/3);[0X
    [4X[ -1/3, 2 ][0X
    [4Xgap> IsUnit(S,3/11);[0X
    [4Xtrue[0X
    [4X[0X
  [4X------------------------------------------------------------------[0X
  
