Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

5 Homomorphisms of Groupoids
 5.1 Homomorphisms from a connected groupoid
 5.2 Properties and attributes of groupoid homomorphisms
 5.3 Special types of groupoid homomorphism
 5.4 Homomorphisms to a connected groupoid
 5.5 Homomorphisms to more than one piece

5 Homomorphisms of Groupoids

A homomorphism \(m\) from a groupoid \(G\) to a groupoid \(H\) consists of a map from the objects of \(G\) to those of \(H\) together with a map from the elements of \(G\) to those of \(H\) which is compatible with tail and head and which preserves multiplication:

\[ m(g1 : o1 \to o2)*m(g2 : o2 \to o3) ~=~ m(g1*g2 : o1 \to o3). \]

Note that when a homomorphism is not injective on objects, the image of the source need not be a subgroupoid of the range. A simple example of this is given by a homomorphism from the two-object, four-element groupoid with trivial group to the free group \(\langle a \rangle\) on one generator, when the image is \([1,a^n,a^{-n}]\) for some \(n>0\).

A variety of homomorphism operations are available.

5.1 Homomorphisms from a connected groupoid

5.1-1 GroupoidHomomorphismFromSinglePiece
‣ GroupoidHomomorphismFromSinglePiece( src, rng, gens, images )( operation )
‣ GroupoidHomomorphism( args )( function )
‣ IsGroupoidHomomorphism( mwohom )( category )

The simplest groupoid homomorphism is a mapping \(\phi : G \to H\) from a connected groupoid \(G\) to a connected groupoid \(H\). There are two equivalent sets of input data which may be used. Both require the Source \(G\) and the Range \(H\). The first then requires:

This may be implemented by the call GroupoidHomomorphismFromSinglePiece(G,H,genG,imphi), and the data is stored in the attribute MappingGeneratorsImages. Alternatively, use the global function GroupoidHomomorphism with the same four parameters.

The alternative input data consists of:

This data is stored in the attribute MappingToSinglePieceData.

So an alternative way to construct this homomorphism of groupoids is to make a call of the form GroupoidHomomorphism(G,H,rhom,imobs,imrays).

In the following example the same homomorphism is constructed using both methods.


gap> Kk4 := SubgroupoidWithRays( Ha4, k4, [ (), (1,3,4), (1,4)(2,3) ] );;
gap> SetName( Kk4, "Kk4" );
gap> gen1 := GeneratorsOfGroupoid( Gd8 ); 
[ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
  [() : -9 -> -7] ]
gap> gen2 := GeneratorsOfGroupoid( Kk4 ); 
[ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
  [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ]
gap> images := [ gen2[1]*gen2[2], gen2[1]^2, gen2[3], gen2[4] ];
[ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13],
 [(1,4)(2,3) : -14 -> -12] ]
gap> hom8 := GroupoidHomomorphismFromSinglePiece( Gd8, Kk4, gen1, images );
groupoid homomorphism : Gd8 -> Kk4
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
gap> gend8 := GeneratorsOfGroup( d8 );;
gap> imh := [ (1,4)(2,3), () ];;
gap> h := GroupHomomorphismByImages( d8, a4, gend8, imh );                     
[ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ]
gap> hom9 := GroupoidHomomorphism( Gd8, Kk4, h, [-14,-13,-12],
>                 [ (), (1,3,4), (1,4)(2,3) ] );;
gap> hom8 = hom9;
true
gap> e1 := Arrow( Gd8, (5,6,7,8), -7, -8 );;
gap> ImageElm( hom8, e1 );
[(1,3,4) : -12 -> -13]
gap> IsGroupoidHomomorphism( hom8 );
true

5.2 Properties and attributes of groupoid homomorphisms

5.2-1 Properties of a groupoid homomorphism

The properties listed in subsection 3.3 for homomorphisms of magmas with objects also apply to groupoid homomorphisms.


gap> [ IsInjectiveOnObjects( hom8 ), IsSurjectiveOnObjects( hom8 ) ]; 
[ true, true ]
gap> [ IsInjective( hom8 ), IsSurjective( hom8 ) ];
[ false, false ]
gap> ad8 := GroupHomomorphismByImages( d8, d8, 
>               [ (5,6,7,8), (5,7) ], [ (5,8,7,6), (6,8) ] );; 
gap> md8 := GroupoidHomomorphism( Gd8, Gd8, ad8,
>               [-7,-9,-8], [(),(5,7),(6,8)] );
groupoid homomorphism : Gd8 -> Gd8
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(5,8,7,6) : -7 -> -7], [(6,8) : -7 -> -7], [(5,7) : -7 -> -9], 
      [(6,8) : -7 -> -8] ] ]
gap> IsBijectiveOnObjects( md8 );
true
gap> [ IsInjective( md8 ), IsSurjective( md8 ) ];  
[ true, true ]
gap> [ IsEndomorphismWithObjects( md8 ), IsAutomorphismWithObjects( md8 ) ];
[ true, true ]

5.2-2 Attributes of a groupoid homomorphism

The attributes of a groupoid homomorphism mor from a single piece groupoid cover both forms of construction defined above.

For other types of homomorphism the attributes are very similar.

The function ObjectGroupHomomorphism, though an operation, is included in this section for convenience.

5.2-3 RootGroupHomomorphism
‣ RootGroupHomomorphism( hom )( attribute )

This is the group homomorphism from the root group of the source groupoid to the group at the image object in the range groupoid of the root object in the source.

5.2-4 ImagesOfObjects
‣ ImagesOfObjects( hom )( attribute )

This is the list of objects in the range groupoid which are the images of the objects in the source.

5.2-5 ImageElementsOfRays
‣ ImageElementsOfRays( hom )( attribute )

This is the list of group elements in those arrows in the range groupoid which are the images of the rays in the source.


gap> RootGroupHomomorphism( hom8 );
[ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ]
gap> ImagesOfObjects( hom8 );
[ -14, -13, -12 ]
gap> ImageElementsOfRays( hom8 );
[ (), (1,3,4), (1,4)(2,3) ]

5.2-6 MappingToSinglePieceData
‣ MappingToSinglePieceData( map )( attribute )

As mentioned earlier, this attribute stores the root group homomorphism; a list of the images of the objects; and a list of the elements in the images of the rays.


gap> MappingGeneratorsImages( hom8 );
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
gap> MappingToSinglePieceData( hom8 );
[ [ [ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ], [ -14, -13, -12 ], 
      [ (), (1,3,4), (1,4)(2,3) ] ] ]

5.2-7 ObjectGroupHomomorphism
‣ ObjectGroupHomomorphism( gpdhom, obj )( operation )

For a given groupoid homomorphism, this operation gives the group homomorphism from an object group of the source to the object group at the image object in the range.


gap> ObjectGroupHomomorphism( hom8, -8 );
[ (5,6,7,8), (5,7) ] -> [ (1,3)(2,4), () ]

5.3 Special types of groupoid homomorphism

In this section we mention inclusion mappings of subgroupoids; and mappings restricted to a source subgroupoid. We also discuss various types of isomorphism: to a different set of objects; to a permutation groupoid; to a pc-groupoid.

5.3-1 InclusionMappingGroupoids
‣ InclusionMappingGroupoids( gpd, sgpd )( operation )

The operation InclusionMappingGroupoids(gpd,sgpd) returns the inclusion homomorphism from the subgroupoid sgpd to gpd.


gap> incKk4 := InclusionMappingGroupoids( Ha4, Kk4 );     
groupoid homomorphism : Kk4 -> Ha4
[ [ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
      [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ], 
  [ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
      [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ] ]

For another example, refer back to subsection PiecePositions (4.3-5).

5.3-2 RestrictedMappingGroupoids
‣ RestrictedMappingGroupoids( mor, sgpd )( operation )
‣ ParentMappingGroupoids( mor )( attribute )

The operation RestrictedMappingGroupoids(mor,sgpd) returns the restriction of the homomorphism mor to the subgroupoid sgpd of its source. The range is usually set to the ImagesSource of the restriction. The restriction is assigned the attribute ParentMappingGroupoids with value mor (or that of mor is one exists). For another example see section 6.2.


gap> Gc4 := Subgroupoid( Gd8, c4 );;  SetName( Gc4, "Gc4" );
gap> res4 := RestrictedMappingGroupoids( hom8, Gc4 );
groupoid homomorphism : 
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
gap> ParentMappingGroupoids( res4 ) = hom8; 
true

5.3-3 IsomorphismNewObjects
‣ IsomorphismNewObjects( src, objlist )( operation )

The operation IsomorphismNewObjects(gpd,obs) returns the isomorphism from a groupoid gpd to a groupoid with the same object group and ray elements but with a different set obs of objects.

We then compute the composite homomorphism, mor8 : Gd8 -> Kk4 -> Ha4 -> Ga4.


gap> isoHa4 := IsomorphismNewObjects( Ha4, [-30,-29,-28] );
groupoid homomorphism : 
[ [ [(1,2,3) : -14 -> -14], [(2,3,4) : -14 -> -14], [() : -14 -> -13], 
      [() : -14 -> -12] ], 
  [ [(1,2,3) : -30 -> -30], [(2,3,4) : -30 -> -30], [() : -30 -> -29], 
      [() : -30 -> -28] ] ]
gap> Ka4 := Range( isoHa4 );  SetName( Ka4, "Ka4" );
single piece groupoid: < a4, [ -30, -29, -28 ] >
gap> IsSubgroupoid( Gk4, Kk4 );
true
gap> incHa4 := InclusionMappingGroupoids( Ga4, Ha4 );; 
gap> mor8 := hom8 * incKk4 * incHa4;                 
groupoid homomorphism : Gd8 -> Ga4
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
gap> ImageElm( mor8, e1 );
[(1,3,4) : -12 -> -13]

5.3-4 IsomorphismStandardGroupoid
‣ IsomorphismStandardGroupoid( gpd, obs )( operation )

The operation IsomorphismStandardGroupoid(gpd,obs) returns the isomorphism from a groupoid with rays to the groupoid of type IsDirectProductWithCompleteDigraphDomain on the given set obs of objects. Gk4, a subgroupoid of Ga4, was our first example of a groupoid with rays (see SubgroupoidWithRays (4.3-3)), and a standard isomorphic copy is formed here.


gap> isoGk4 := IsomorphismStandardGroupoid( Gk4, [-45..-41] );
groupoid homomorphism : 
[ [ [(1,2)(3,4) : -15 -> -15], [(1,3)(2,4) : -15 -> -15], 
      [(1,2,3) : -15 -> -14], [(1,2,4) : -15 -> -13], [(1,3,4) : -15 -> -12], 
      [(2,3,4) : -15 -> -11] ], 
  [ [(1,2)(3,4) : -45 -> -45], [(1,3)(2,4) : -45 -> -45], [() : -45 -> -44], 
      [() : -45 -> -43], [() : -45 -> -42], [() : -45 -> -41] ] ]
gap> G2k4 := Image( isoGk4 );  SetName( G2k4, "G2k4" );
single piece groupoid: < k4, [ -45 .. -41 ] >
gap> e5 := Arrow( Gk4, (1,2,4) , -13, -12 );
[(1,2,4) : -13 -> -12]
gap> ImageElm( isoGk4, e5 );
[(1,3)(2,4) : -43 -> -42]
gap> invGk4 := InverseGeneralMapping( isoGk4 );
groupoid homomorphism : 
[ [ [(1,2)(3,4) : -45 -> -45], [(1,3)(2,4) : -45 -> -45], [() : -45 -> -44], 
      [() : -45 -> -43], [() : -45 -> -42], [() : -45 -> -41] ], 
  [ [(1,2)(3,4) : -15 -> -15], [(1,3)(2,4) : -15 -> -15], 
      [(1,2,3) : -15 -> -14], [(1,2,4) : -15 -> -13], [(1,3,4) : -15 -> -12], 
      [(2,3,4) : -15 -> -11] ] ]

This operation may also be used to provide a standard form for groupoids of type IsGroupoidByIsomorphisms as described in subsection GroupoidByIsomorphisms (4.6-1).


gap> G2;
single piece groupoid with rays: < s3a, [ -6, -5, -4 ], 
[ [ (), () ], [ (), <identity> of ... ], [ (), <identity ...> ] ] >
gap> isoG2 := IsomorphismStandardGroupoid( G2, [-44,-43,-42] ); 
groupoid homomorphism : 
[ [ [[ (1,2), (1,2) ] : -6 -> -6], [[ (2,3), (2,3) ] : -6 -> -6], 
      [[ (), <identity> of ... ] : -6 -> -5], [[ (), <identity ...> ] : -6 -> 
        -4] ], 
  [ [(1,2) : -44 -> -44], [(2,3) : -44 -> -44], [() : -44 -> -43], 
      [() : -44 -> -42] ] ]

5.3-5 IsomorphismPermGroupoid
‣ IsomorphismPermGroupoid( gpd )( attribute )
‣ RegularActionHomomorphismGroupoid( gpd )( attribute )
‣ IsomorphismPcGroupoid( gpd )( attribute )

The attribute IsomorphismPermGroupoid(gpd) returns an isomorphism from a groupoid gpd to a groupoid with the same objects but with an isomorphic permutation group.

The attribute RegularActionHomomorphismGroupoid returns an isomorphism from a groupoid gpd to a groupoid with the same objects but with an isomorphic regular presentation. In the example below these two operations produce equivalent permutation groupoids. Only the second is printed as the first is liable to change from one run to the next.

Similarly, the attribute IsomorphismPcGroupoid(gpd) attempts to return an isomorphism from the group to a pc-group with the same objects.


gap> isoGq8 := IsomorphismPermGroupoid( Gq8 );;
gap> regGq8 := RegularActionHomomorphismGroupoid( Gq8 );
groupoid homomorphism : 
[ [ [x : -19 -> -19], [y : -19 -> -19], [y2 : -19 -> -19], 
      [<identity> of ... : -19 -> -18], [<identity> of ... : -19 -> -17] ], 
  [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [(1,3,4,7)(2,5,6,8) : -19 -> -19], 
      [(1,4)(2,6)(3,7)(5,8) : -19 -> -19], [() : -19 -> -18], 
      [() : -19 -> -17] ] ]
gap> Pq8 := Image( regGq8 );  SetName( Pq8, "Pq8" );
single piece groupoid: < Group( [ (1,2,4,6)(3,8,7,5), (1,3,4,7)(2,5,6,8), 
  (1,4)(2,6)(3,7)(5,8) ] ), [ -19, -18, -17 ] >
gap> e7 := Arrow( Gq8, x*y, -18, -17 );;
gap> ImageElm( regGq8, e7 );
[(1,5,4,8)(2,7,6,3) : -18 -> -17]
gap> Gc4 := Subgroupoid( Gd8, c4 );  SetName( Gc4, "Gc4" );
single piece groupoid: < c4, [ -9, -8, -7 ] >
gap> isoGc4 := IsomorphismPcGroupoid( Gc4 );
groupoid homomorphism : 
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [f1 : -9 -> -9], [<identity> of ... : -9 -> -8], 
      [<identity> of ... : -9 -> -7] ] ]
      [<identity> of ... : -9 -> -7] ] ]

5.4 Homomorphisms to a connected groupoid

5.4-1 HomomorphismToSinglePiece
‣ HomomorphismToSinglePiece( src, rng, piecehoms )( operation )

When \(G\) is made up of two or more pieces, all of which get mapped to a connected groupoid, we have a homomorphism to a single piece. The third input parameter in this case is a list of the individual homomorphisms from the single pieces (in the correct order!). See section 3.1 for the corresponding operation on homomorphisms of magmas with objects.

In the following example the source V2 of homV2 has two pieces, and both of the component homomorphisms are isomorphisms.


gap> V2 := UnionOfPieces( Gq8, Gc4 );;
gap> imGc4 := [ genPq8[1], genPq8[4], genPq8[5] ];
[ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], [() : -19 -> -17] ]
gap> homGc4 := GroupoidHomomorphism( Gc4, Pq8, genGc4, imGc4 );
groupoid homomorphism : Gc4 -> Pq8
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], [() : -19 -> -17] ] ]
gap> homV2 := HomomorphismToSinglePiece( V2, Pq8, [ regGq8, homGc4 ] );
groupoid homomorphism : 
[ [ [ [x : -19 -> -19], [y : -19 -> -19], [y2 : -19 -> -19], 
          [<identity> of ... : -19 -> -18], [<identity> of ... : -19 -> -17] ], 
      [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [(1,3,4,7)(2,5,6,8) : -19 -> -19], 
          [(1,4)(2,6)(3,7)(5,8) : -19 -> -19], [() : -19 -> -18], 
          [() : -19 -> -17] ] ], 
  [ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
      [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], 
          [() : -19 -> -17] ] ] ]
gap> ImageElm( homV2, e7 );            
[(1,5,4,8)(2,7,6,3) : -18 -> -17]

5.4-2 GroupoidHomomorphismFromHomogeneousDiscrete
‣ GroupoidHomomorphismFromHomogeneousDiscrete( src, rng, homs, oims )( operation )

This operation requires the source; the range; a list of homomorphisms from the object groups to the image object groups; and a list of the image objects. The source must be homogeneous and discrete, and the range must be a single piece. The example uses the groupoid HDc6 constructed in subsection HomogeneousGroupoid (4.1-5).


gap> c3a := Subgroup( a4, [(1,2,3)] );; c3b := Subgroup( a4, [(1,2,4)] );;
gap> c3c := Subgroup( a4, [(1,3,4)] );; c3d := Subgroup( a4, [(2,3,4)] );;
gap> hc6a := GroupHomomorphismByImages( c6, c3a, 
>                [(11,12,13)(14,15)], [(1,2,3)] );;
gap> hc6b := GroupHomomorphismByImages( c6, c3b, 
>                [(11,12,13)(14,15)], [(1,2,4)] );;
gap> hc6c := GroupHomomorphismByImages( c6, c3c, 
>                [(11,12,13)(14,15)], [(1,3,4)] );;
gap> hc6d := GroupHomomorphismByImages( c6, c3d, 
>                [(11,12,13)(14,15)], [(2,3,4)] );;
gap> mor6 := GroupoidHomomorphismFromHomogeneousDiscrete( HDc6, Ga4,
>              [ hc6a, hc6b, hc6c, hc6d ], [-15,-14,-12,-11] );
groupoid homomorphism : HDc6 -> Ga4
gap> e6 := Arrow( HDc6, (11,12,13), -25, -25 );;
gap> ImageElm( mor6, e6 );
[(1,3,4) : -12 -> -12]

5.5 Homomorphisms to more than one piece

5.5-1 HomomorphismByUnion
‣ HomomorphismByUnion( src, rng, homs )( operation )

As in section 3.3, when the range \(H\) has more than one connected component, a homomorphism is a union of homomorphisms, one for each piece in the range.


gap> W1 := UnionOfPieces( Ha4, Gd8 );;
gap> W2 := UnionOfPieces( Ka4, Kk4 );;
gap> SetName( W1, "[Ha4,Gd8]" );  SetName( W2, "[Ka4,Kk4]" );
gap> homW := HomomorphismByUnion( W1, W2, [ isoHa4, hom8 ] );;
gap> Display( homW );           
groupoid homomorphism: [Ha4,Gd8] -> [Ka4,Kk4] with pieces :
homomorphism to single piece groupoid: Ha4 -> Ka4
root group homomorphism:
(1,2,3) -> (1,2,3)
(2,3,4) -> (2,3,4)
object map: [ -14, -13, -12 ] -> [ -30, -29, -28 ]
ray images: [ (), (), () ]
homomorphism to single piece groupoid: Gd8 -> Kk4
root group homomorphism:
(5,6,7,8) -> (1,4)(2,3)
(5,7) -> ()
object map: [ -9, -8, -7 ] -> [ -14, -13, -12 ]
ray images: [ (), (1,3,4), (1,4)(2,3) ]
 

5.5-2 IsomorphismGroupoids
‣ IsomorphismGroupoids( A, B )( operation )

When \(A,B\) are two single piece groupoids, they are isomorphic provided they have the same number of objects and the root groups are isomorphic.

When \(A=[A_1,\ldots,A_n],~ B=[B_1,\ldots,B_n]\) are both unions of connected groupoids, they are isomorphic if there is a permutation \(\pi\) of \([1,\ldots,n]\) such that \(A_i\) is isomorphic to \(B_{\pi(i)}\) for all \(i\).


gap> s3b := Group( (4,6,8)(5,7,9), (4,9)(5,8)(6,7) );;
gap> s3c := Group( (4,6,8)(5,7,9), (5,9)(6,8) );;
gap> Gb := SinglePieceGroupoid( s3b, [-6,-5,-4] );; 
gap> Gc := SinglePieceGroupoid( s3c, [-16,-15,-14] );; 
gap> SetName( Gb, "Gb" );  SetName( Gc, "Gc" );  
gap> c6b := Group( (1,2,3,4,5,6) );; 
gap> c6c := Group( (7,8)(9,10,11) );;
gap> Hb := SinglePieceGroupoid( c6b, [-10,-9,-8,-7] );; 
gap> Hc := SinglePieceGroupoid( c6c, [-20,-19,-18,-17] );; 
gap> SetName( Hb, "Hb" );  SetName( Hc, "Hc" ); 
gap> IsomorphismGroupoids( Gb, Gc );
groupoid homomorphism : Gb -> Gc
[ [ [(4,6,8)(5,7,9) : -6 -> -6], [(4,9)(5,8)(6,7) : -6 -> -6], 
      [() : -6 -> -5], [() : -6 -> -4] ], 
  [ [(4,6,8)(5,7,9) : -16 -> -16], [(5,9)(6,8) : -16 -> -16], 
      [() : -16 -> -15], [() : -16 -> -14] ] ]
gap> IsomorphismGroupoids( Gb, Hb );
fail
gap> B := UnionOfPieces( [ Gb, Hb ] );; 
gap> C := UnionOfPieces( [ Gc, Hc ] );;
gap> isoBC := IsomorphismGroupoids( B, C );; 
gap> Print( List( PiecesOfMapping(isoBC), p -> [Source(p),Range(p)] ) );
[ [ Hb, Hc ], [ Gb, Gc ] ]

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind

generated by GAPDoc2HTML