  
  [1X8 [33X[0;0YCrossed modules of groupoids[133X[101X
  
  
  [1X8.1 [33X[0;0YConstructions for crossed modules of groupoids[133X[101X
  
  [33X[0;0YA  typical  example  of  a  crossed  module  over  a groupoid has as range a
  connected  groupoid  which  is  a  direct  product of a group and a complete
  graph, and as source a totally disconnected groupoid, with the same objects.
  The  boundary  morphism  is  constant  on  objects.  For  details  and other
  references see [AW10].[133X
  
  [1X8.1-1 PreXModWithObjectsObj[101X
  
  [29X[2XPreXModWithObjectsObj[102X( [3Xobs[103X, [3Xbdy[103X, [3Xact[103X ) [32X operation
  [29X[2XDiscreteNormalPreXModWithObjects[102X( [3Xgpd[103X, [3Xgp[103X ) [32X operation
  
  [33X[0;0YThe  next  stage  of  development  of  this  package  will  be  to implement
  constuctions  of  crossed  modules over groupoids. This will require further
  developments  in  the [5XGpd[105X package. The following example shows what has been
  achieved in an earlier version, but which fails in [5XGAP[105X 4.7.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xd8 := Group( (1,2,3,4), (1,3) );;[127X[104X
    [4X[25Xgap>[125X [27XSetName( d8, "d8" );[127X[104X
    [4X[25Xgap>[125X [27XGd8 := SinglePieceGroupoid( d8, [-9,-8,-7] );; [127X[104X
    [4X[25Xgap>[125X [27XDisplay( Gd8 ); [127X[104X
    [4X[28Xsingle piece groupoid: [128X[104X
    [4X[28X  objects: [ -9, -8, -7 ][128X[104X
    [4X[28X    group: d8 = <[ (1,2,3,4), (1,3) ]>[128X[104X
    [4X[25Xgap>[125X [27Xk4 := Subgroup( d8, [ (1,2)(3,4), (1,3)(2,4) ] );; [127X[104X
    [4X[25Xgap>[125X [27XPX0 := DiscreteNormalPreXModWithObjects( Gd8, k4 ); [127X[104X
    [4X[28Xhomogeneous, discrete groupoid with:[128X[104X
    [4X[28X  group: Group( [ (1,2)(3,4), (1,3)(2,4) ] ) >[128X[104X
    [4X[28Xobjects: [ -9, -8, -7 ][128X[104X
    [4X[28X#I  now need to be able to test:   ok := IsXMod( PM );[128X[104X
    [4X[28X<magma>[128X[104X
    [4X[25Xgap>[125X [27XSource(PX0);[127X[104X
    [4X[28Xperm homogeneous, discrete groupoid: < Group( [ (1,2)(3,4), (1,3)(2,4) ] ), [128X[104X
    [4X[28X[ -9, -8, -7 ] >[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
