  
  [1X6 [33X[0;0YBasics[133X[101X
  
  
  [1X6.1 [33X[0;0YGlobal variables[133X[101X
  
  [1X6.1-1 HOMALG_TOOLS[101X
  
  [33X[1;0Y[29X[2XHOMALG_TOOLS[102X [32X global variable[133X
  
  [33X[0;0YA central place for configurations.[133X
  
  
  [1X6.2 [33X[0;0YGAP Categories[133X[101X
  
  [1X6.2-1 IsStructureObjectOrObjectOrMorphism[101X
  
  [33X[1;0Y[29X[2XIsStructureObjectOrObjectOrMorphism[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0YThis  is  the super super GAP-category which will include the GAP-categories
  IsStructureObjectOrObject and IsHomalgObjectOrMorphism[133X
  
  [1X6.2-2 IsStructureObjectOrObject[101X
  
  [33X[1;0Y[29X[2XIsStructureObjectOrObject[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0YThis  is  the  super  GAP-category  which  will  include  the GAP-categories
  IsHomalgRing, IsHomalgModule, IsHomalgRingOrModule and IsHomalgComplex[133X
  
  [1X6.2-3 IsStructureObject[101X
  
  [33X[1;0Y[29X[2XIsStructureObject[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0YThis  is  the  super  GAP-category  which  will  include  the GAP-categories
  IsHomalgRing  we  need  this  GAP-category to define things like Hom(M,R) as
  easy  as  Hom(M,N)  without  distinguishing  between structure objects (e.g.
  rings) and objects (e.g. modules)[133X
  
  [1X6.2-4 IsStructureObjectMorphism[101X
  
  [33X[1;0Y[29X[2XIsStructureObjectMorphism[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0YThis  is  the  super  GAP-category  which  will  include  the GAP-categories
  IsHomalgRingMap, etc.[133X
  
  [1X6.2-5 IsHomalgRingOrModule[101X
  
  [33X[1;0Y[29X[2XIsHomalgRingOrModule[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0Ythis  is  the  super  GAP-category  which  will  include  the GAP-categories
  IsHomalgRing, IsHomalgModule:[133X
  
  
  [1X6.3 [33X[0;0YAttributes[133X[101X
  
  [1X6.3-1 RingFilter[101X
  
  [33X[1;0Y[29X[2XRingFilter[102X( [3Xring[103X ) [32X attribute[133X
  
  [33X[0;0YA filter inheriting from [10XIsRing[110X which uniquely identifies the ring [3Xring[103X. For
  example,  the  ring  [10XIntegers[110X  is  identified  by  [10XIsIntegers[110X.  If no filter
  uniquely  identifying  the  ring  exists,  the most special filter available
  should be chosen.[133X
  
  [1X6.3-2 RingElementFilter[101X
  
  [33X[1;0Y[29X[2XRingElementFilter[102X( [3Xring[103X ) [32X attribute[133X
  
  [33X[0;0YA filter inheriting from [10XIsRingElement[110X which uniquely identifies elements of
  the ring [3Xring[103X. For example, the elements of the ring [10XIntegers[110X are identified
  by [10XIsInt[110X. If no filter uniquely identifying the elements of the ring exists,
  the most special filter available should be chosen.[133X
  
