[1X3 2d-mappings[0X [1X3.1 Morphisms of 2d-objects[0X This chapter describes morphisms of (pre-)crossed modules and (pre-)cat1-groups. [1X3.1-1 Source[0m [2X> Source( [0X[3Xmap[0X[2X ) ___________________________________________________[0Xattribute [2X> Range( [0X[3Xmap[0X[2X ) ____________________________________________________[0Xattribute [2X> SourceHom( [0X[3Xmap[0X[2X ) ________________________________________________[0Xattribute [2X> RangeHom( [0X[3Xmap[0X[2X ) _________________________________________________[0Xattribute Morphisms of [10X2dObjects[0m are implemented as [10X2dMappings[0m. These have a pair of 2d-objects as source and range, together with two group homomorphisms mapping between corresponding source and range groups. These functions return [10Xfail[0m when invalid data is supplied. [1X3.2 Morphisms of pre-crossed modules[0X [1X3.2-1 IsXModMorphism[0m [2X> IsXModMorphism( [0X[3Xmap[0X[2X ) ____________________________________________[0Xproperty [2X> IsCat1Morphism( [0X[3Xmap[0X[2X ) ____________________________________________[0Xproperty [2X> IsPreXModMorphism( [0X[3Xmap[0X[2X ) _________________________________________[0Xproperty [2X> IsPreCat1Morphism( [0X[3Xmap[0X[2X ) _________________________________________[0Xproperty A morphism between two pre-crossed modules $\mathcal{X}_{1} = (\partial_1 : S_1 \to R_1)$ and $\mathcal{X}_{2} = (\partial_2 : S_2 \to R_2)$ is a pair $(\sigma, \rho)$, where $\sigma : S_1 \to S_2$ and $\rho : R_1 \to R_2$ commute with the two boundary maps and are morphisms for the two actions: \partial_2 \sigma = \rho \partial_1, \qquad \sigma(s^r) = (\sigma s)^{\rho r}. Thus $\sigma$ is the [10XSourceHom[0m and $\rho$ is the [10XRangeHom[0m. When $\mathcal{X}_{1} = \mathcal{X}_{2}$ and $ \sigma, \rho $ are automorphisms then $(\sigma, \rho)$ is an automorphism of $\mathcal{X}_1$. The group of automorphisms is denoted by ${\rm Aut}(\mathcal{X}_1 ).$ [1X3.2-2 IsInjective[0m [2X> IsInjective( [0X[3Xmap[0X[2X ) _______________________________________________[0Xproperty [2X> IsSurjective( [0X[3Xmap[0X[2X ) ______________________________________________[0Xproperty [2X> IsSingleValued( [0X[3Xmap[0X[2X ) ____________________________________________[0Xproperty [2X> IsTotal( [0X[3Xmap[0X[2X ) ___________________________________________________[0Xproperty [2X> IsBijective( [0X[3Xmap[0X[2X ) _______________________________________________[0Xproperty [2X> IsEndomorphism2dObject( [0X[3Xmap[0X[2X ) ____________________________________[0Xproperty [2X> IsAutomorphism2dObject( [0X[3Xmap[0X[2X ) ____________________________________[0Xproperty The usual properties of mappings are easily checked. It is usually sufficient to verify that both the [10XSourceHom[0m and the [10XRangeHom[0m have the required property. [1X3.2-3 XModMorphism[0m [2X> XModMorphism( [0X[3Xargs[0X[2X ) _____________________________________________[0Xfunction [2X> XModMorphismByHoms( [0X[3XX1, X2, sigma, rho[0X[2X ) ________________________[0Xoperation [2X> PreXModMorphism( [0X[3Xargs[0X[2X ) __________________________________________[0Xfunction [2X> PreXModMorphismByHoms( [0X[3XP1, P2, sigma, rho[0X[2X ) _____________________[0Xoperation [2X> InclusionMorphism2dObjects( [0X[3XX1, S1[0X[2X ) ____________________________[0Xoperation [2X> InnerAutomorphismXMod( [0X[3XX1, r[0X[2X ) __________________________________[0Xoperation [2X> IdentityMapping( [0X[3XX1[0X[2X ) ___________________________________________[0Xattribute [2X> IsomorphismPermObject( [0X[3Xobj[0X[2X ) _____________________________________[0Xfunction These are the constructors for morphisms of pre-crossed and crossed modules. In the following example we construct a simple automorphism of the crossed module [10XX1[0m constructed in the previous chapter. [4X--------------------------- Example ----------------------------[0X [4X[0X [4Xgap> sigma1 := GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ][0X [4X [ (5,9,8,7,6) ] );;[0X [4Xgap> rho1 := IdentityMapping( Range( X1 ) );[0X [4XIdentityMapping( PAut(c5) )[0X [4Xgap> mor1 := XModMorphism( X1, X1, sigma1, rho1 );[0X [4X[[c5->PAut(c5))] => [c5->PAut(c5))]] [0X [4Xgap> Display( mor1 );[0X [4XMorphism of crossed modules :-[0X [4X: Source = [c5->PAut(c5))] with generating sets:[0X [4X [ (5,6,7,8,9) ][0X [4X [ (1,2,4,3) ][0X [4X: Range = Source[0X [4X: Source Homomorphism maps source generators to:[0X [4X [ (5,9,8,7,6) ][0X [4X: Range Homomorphism maps range generators to:[0X [4X [ (1,2,4,3) ][0X [4Xgap> IsAutomorphism2dObject( mor1 );[0X [4Xtrue [0X [4Xgap> Print( RepresentationsOfObject(mor1), "\n" );[0X [4X[ "IsComponentObjectRep", "IsAttributeStoringRep", "Is2dMappingRep" ][0X [4Xgap> Print( KnownPropertiesOfObject(mor1), "\n" );[0X [4X[ "IsTotal", "IsSingleValued", "IsInjective", "IsSurjective", "Is2dMapping",[0X [4X "IsPreXModMorphism", "IsXModMorphism", "IsEndomorphism2dObject",[0X [4X "IsAutomorphism2dObject" ][0X [4Xgap> Print( KnownAttributesOfObject(mor1), "\n" );[0X [4X[ "Name", "Range", "Source", "SourceHom", "RangeHom" ][0X [4X[0X [4X------------------------------------------------------------------[0X [1X3.3 Morphisms of pre-cat1-groups[0X A morphism of pre-cat1-groups from mathcalC_1 = (e_1;t_1,h_1 : G_1 -> R_1) to mathcalC_2 = (e_2;t_2,h_2 : G_2 -> R_2) is a pair (gamma, rho) where gamma : G_1 -> G_2 and rho : R_1 -> R_2 are homomorphisms satisfying h_2 \gamma = \rho h_1, \qquad t_2 \gamma = \rho t_1, \qquad e_2 \rho = \gamma e_1. [1X3.3-1 Cat1Morphism[0m [2X> Cat1Morphism( [0X[3Xargs[0X[2X ) _____________________________________________[0Xfunction [2X> Cat1MorphismByHoms( [0X[3XC1, C2, gamma, rho[0X[2X ) ________________________[0Xoperation [2X> PreCat1Morphism( [0X[3Xargs[0X[2X ) __________________________________________[0Xfunction [2X> PreCat1MorphismByHoms( [0X[3XP1, P2, gamma, rho[0X[2X ) _____________________[0Xoperation [2X> InclusionMorphism2dObjects( [0X[3XC1, S1[0X[2X ) ____________________________[0Xoperation [2X> InnerAutomorphismCat1( [0X[3XC1, r[0X[2X ) __________________________________[0Xoperation [2X> IdentityMapping( [0X[3XC1[0X[2X ) ___________________________________________[0Xattribute [2X> IsmorphismPermObject( [0X[3Xobj[0X[2X ) ______________________________________[0Xfunction [2X> SmallerDegreePerm2dObject( [0X[3Xobj[0X[2X ) _________________________________[0Xfunction The global function [10XIsomorphismPermObject[0m calls [10XIsomorphismPermPreCat1[0m, which constructs a morphism whose [10XSourceHom[0m and [10XRangeHom[0m are calculated using [10XIsomorphismPermGroup[0m on the source and range. Similarly [10XSmallerDegreePermutationRepresentation[0m is used on the two groups to obtain [10XSmallerDegreePerm2dObject[0m. Names are assigned automatically. [4X--------------------------- Example ----------------------------[0X [4X[0X [4Xgap> iso2 := IsomorphismPermObject( C2 );[0X [4X[[s3c4=>s3] => [Ps3c4=>Ps3]][0X [4Xgap> Display( iso2 );[0X [4XMorphism of cat1-groups :-[0X [4X: Source = [s3c4=>s3] with generating sets:[0X [4X [ f1, f2, f3, f4 ][0X [4X [ f1, f2 ][0X [4X: Range = [Ps3c4=>Ps3] with generating sets:[0X [4X [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12),[0X [4X ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10)[0X [4X (11,12) ][0X [4X [ (2,3), (1,2,3) ][0X [4X: Source Homomorphism maps source generators to:[0X [4X [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12),[0X [4X ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10)[0X [4X (11,12) ][0X [4X: Range Homomorphism maps range generators to:[0X [4X [ (2,3), (1,2,3) ][0X [4X[0X [4X------------------------------------------------------------------[0X [1X3.4 Operations on morphisms[0X [1X3.4-1 Order[0m [2X> Order( [0X[3Xauto[0X[2X ) ___________________________________________________[0Xattribute [2X> CompositionMorphism( [0X[3Xmap2, map1[0X[2X ) _______________________________[0Xoperation Composition of morphisms, written [10X(<map1> * <map2>)[0m for maps acting of the right, calls the [10XCompositionMorphism[0m function for maps acting on the left, applied to the appropriate type of 2d-mapping. [4X--------------------------- Example ----------------------------[0X [4X[0X [4Xgap> Order( mor1 );[0X [4X2[0X [4Xgap> GeneratorsOfGroup( d16 );[0X [4X[ (11,12,13,14,15,16,17,18), (12,18)(13,17)(14,16) ][0X [4Xgap> d8 := Subgroup( d16, [ c^2, d ] );;[0X [4Xgap> c4 := Subgroup( d8, [ c^2 ] );;[0X [4Xgap> SetName( d8, "d8" ); SetName( c4, "c4" );[0X [4Xgap> X16 := XModByNormalSubgroup( d16, d8 );[0X [4X[d8->d16][0X [4Xgap> X8 := XModByNormalSubgroup( d8, c4 );[0X [4X[c4->d8][0X [4Xgap> IsSubXMod( X16, X8 );[0X [4Xtrue[0X [4Xgap> incd8 := InclusionMorphism2dObjects( X16, X8 );[0X [4X[[c4->d8] => [d8->d16]][0X [4Xgap> rho := GroupHomomorphismByImages( d16, d16, [c,d], [c,d^(c^2)] );;[0X [4Xgap> sigma := GroupHomomorphismByImages( d8, d8, [c^2,d], [c^2,d^(c^2)] );;[0X [4Xgap> mor := XModMorphismByHoms( X16, X16, sigma, rho );[0X [4X[[d8->d16] => [d8->d16]][0X [4Xgap> comp := incd8 * mor;[0X [4X[[c4->d8] => [d8->d16]][0X [4Xgap> comp = CompositionMorphism( mor, incd8 );[0X [4Xtrue[0X [4X[0X [4X------------------------------------------------------------------[0X [1X3.4-2 Kernel[0m [2X> Kernel( [0X[3Xmap[0X[2X ) ___________________________________________________[0Xoperation [2X> Kernel2dMapping( [0X[3Xmap[0X[2X ) __________________________________________[0Xattribute The kernel of a morphism of crossed modules is a normal subcrossed module whose groups are the kernels of the source and target homomorphisms. The inclusion of the kernel is a standard example of a crossed square, but these have not yet been implemented. [4X--------------------------- Example ----------------------------[0X [4X[0X [4Xgap> c2 := Group( (19,20) );;[0X [4Xgap> i2 := Subgroup( c2, [()] );;[0X [4Xgap> X9 := XModByNormalSubgroup( c2, i2 );;[0X [4Xgap> sigma9 := GroupHomomorphismByImages( c4, i2, [c^2], [()] );;[0X [4Xgap> rho9 := GroupHomomorphismByImages( d8, c2, [c^2,d], [(),(19,20)] );;[0X [4Xgap> mor9 := XModMorphism( X8, X9, sigma9, rho9 );[0X [4X[[c4->d8] => [..]][0X [4Xgap> K9 := Kernel( mor9 );[0X [4X[Group( [ (11,13,15,17)(12,14,16,18) ] )->Group( [ (11,13,15,17)(12,14,16,18)[0X [4X ] )][0X [4X------------------------------------------------------------------[0X