A typical example of a crossed module \(\mathcal{X}\) over a groupoid has for its range a connected groupoid. This is a direct product of a group with a complete graph, and we call the vertices of the graph the *objects* of the crossed module. The source of \(\mathcal{X}\) is a totally disconnected groupoid, with the same objects. The boundary morphism is constant on objects. For details and other references see [AW10].

`‣ DiscreteNormalPreXModWithObjects` ( gpd, gp ) | ( operation ) |

`‣ PreXModWithObjectsObj` ( obs, bdy, act ) | ( operation ) |

The next stage of development of this package will be to implement constuctions of crossed modules over groupoids. This will require further developments in the **Gpd** package. The following example is all that can be shown at the moment. More was achieved in an earlier version, but produces errors in **GAP** 4.7.

gap> Ga4 := SinglePieceGroupoid( a4, [-9,-8,-7] );; gap> Display( Ga4 ); single piece groupoid: objects: [ -9, -8, -7 ] group: a4 = <[ (1,2,3), (2,3,4) ]> gap> GeneratorsOfGroup( k4 ); [ (1,2)(3,4), (1,3)(2,4) ] gap> PXO := DiscreteNormalPreXModWithObjects( Ga4, k4 ); homogeneous, discrete groupoid with: group: k4 = <[ (1,2)(3,4), (1,3)(2,4) ]> > objects: [ -9, -8, -7 ] #I now need to be able to test: ok := IsXMod( PM ); <semigroup> gap> Source( PXO ); perm homogeneous, discrete groupoid: < k4, [ -9, -8, -7 ] >

generated by GAPDoc2HTML