Cat1Morphism( C, D, L )
A morphism of cat1-groups is a pair of homomorphisms [ sourceHom,
rangeHom ], where sourceHom, rangeHom are respectively
homomorphisms between the sources and ranges of C and D, which
commute with the two tail homomorphisms with the two head
homomorphisms and with the two embeddings.
In this implementation a morphism of cat1-groups mu is a record with
fields:
mu.source, & the source cat1-group C,
mu.range, & the range cat1-group D,
mu.sourceHom, & a homomorphism from C.source to D.source,
mu.rangeHom, & a homomorphism from C.range to D.range,
mu.isCat1Morphism, & a Boolean flag, normally true,
mu.operations, & a special set of operations Cat1MorphismOps,
mu.name, & a concatenation of the names of C and D.
The function Cat1Morphism requires as parameters two cat1-groups and
a two-element list containing the source and range homomorphisms. It
sets up the required fields for mu, but does not check the axioms.
The IsCat1Morphism function should be used to perform these checks.
Note that the Cat1MorphismPrint function is needed to print out the
morphism in detail.
gap> GCCX := CCX.source;
Perm(a4 |X k4)
gap> GAC := AC.source;
a4
gap> genGAC := GAC.generators;
[ (1,2,3), (2,3,4) ]
gap> im := Sublist( GCCX.generators, [1..2] );
[ (2,4,3)(5,6,7), (2,3,4)(6,7,8) ]
gap> musrc := GroupHomomorphismByImages( genGAC, GCCX, gen, im );;
gap> murng := InclusionMorphism( a4, a4 );;
gap> mu := Cat1Morphism( AC, CCX, [ musrc, murng ] );
Morphism of cat1-groups <[a4 ==> a4]-->[Perm(a4
|X k4) ==> a4]>
GAP 3.4.4