  
  [1X9 [33X[0;0YCat[22X^3[122X[101X[1X-groups and Crossed cubes[133X[101X
  
  [33X[0;0YThe term [13X4d-group[113X refers to a set of equivalent categories of which the ones
  we are most interested are the categories of [13Xcrossed cubes[113X and [13Xcat[22X^3[122X-groups[113X.
  A  [13X4d-mapping[113X  is  a  function between two 4d-groups which preserves all the
  structure.[133X
  
  [33X[0;0YThe  material in this chapter should be considered very experimental. As yet
  there are no functions for crossed cubes.[133X
  
  
  [1X9.1 [33X[0;0YFunctions for (pre-)cat[22X^3[122X[101X[1X-groups[133X[101X
  
  [33X[0;0YWe  shall  use the following standard orientation of a cat[22X^3[122X-group [22XcalE[122X on a
  group  [22XG[122X. [22XcalE[122X contains [22X8[122X groups; [22X12[122X cat[22X^1[122X-groups and [22X6[122X cat[22X^2[122X-groups forming
  the vertices; edges and faces of a cube, as shown in the following diagram.[133X
  
  
  [24X[33X[0;6Y\vcenter{\xymatrix{  &  H  \ar[dddd]  <+0.5ex>  \ar[dddd] <+0.0ex> \ar[rrrr]
  <+0.5ex>  \ar[rrrr]  <+0.0ex>  \ar[dr] <+0.6ex> & & & & N \ar[llll] <+0.6ex>
  \ar[dddd]  <+0.6ex> \ar[dddd] <+0.0ex> \ar[dr] <+0.6ex> & \\ & & G \ar[dddd]
  <+0.5ex>  \ar[dddd]  <+0.0ex>  \ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex> \ar[ul]
  <+0.5ex>  \ar[ul]  <+0.0ex>  & & & & R \ar[llll] <+0.6ex> \ar[dddd] <+0.5ex>
  \ar[dddd] <+0.0ex> \ar[ul] <+0.5ex> \ar[ul] <+0.0ex> \\ & & & & & & \\ & & &
  &  &  &  \\  &  M  \ar[uuuu]  <+0.6ex> \ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
  \ar[dr]  <+0.6ex>  &  &  & & L \ar[uuuu] <+0.6ex> \ar[llll] <+0.6ex> \ar[dr]
  <+0.6ex> & \\ & & Q \ar[uuuu] <+0.6ex> \ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
  \ar[ul]  <+0.5ex>  \ar[ul]  <+0.0ex>  & & & & P \ar[uuuu] <+0.6ex> \ar[llll]
  <+0.6ex> \ar[ul] <+0.5ex> \ar[ul] <+0.0ex> \\ }}[133X
  
  [124X
  
  [33X[0;0YBy definition, [22XcalE[122X is generated by three commuting cat[22X^1[122X-groups [22X(G ⇒ R), (G
  ⇒ Q)[122X and [22X(G ⇒ H)[122X, but it is more convenient to think of [22XcalE[122X as generated by
  two cat[22X^2[122X-groups[133X
  
  [30X    [33X[0;6Y[13Xfront[113X[22X(calE)[122X, generated by [22X(G ⇒ R)[122X and [22X(G ⇒ Q)[122X;[133X
  
  [30X    [33X[0;6Y[13Xleft[113X[22X(calE)[122X, generated by [22X(G ⇒ Q)[122X and [22X(G ⇒ H)[122X.[133X
  
  [33X[0;0YBecause  the  tail,  head  and  embedding  maps all commute, it follows that
  [13Xup[113X[22X(calE)[122X,  generated  by  [22X(G  ⇒  H)[122X and [22X(G ⇒ R)[122X, is a third cat[22X^2[122X-group. The
  three  remaining faces (cat[22X^2[122X-groups) [13Xright[113X[22X(calE)[122X, [13Xdown[113X[22X(calE)[122X and [13Xback[113X[22X(calE)[122X
  are then easily constructed. We shall always use the order [[13Xfront, left, up,
  right, down, back[113X] for the six faces.[133X
  
  [1X9.1-1 Cat3Group[101X
  
  [33X[1;0Y[29X[2XCat3Group[102X( [3Xargs[103X ) [32X function[133X
  [33X[1;0Y[29X[2XPreCat3Group[102X( [3Xargs[103X ) [32X function[133X
  [33X[1;0Y[29X[2XIsCat3Group[102X( [3XC[103X ) [32X property[133X
  [33X[1;0Y[29X[2XPreCat3GroupByPreCat2Groups[102X( [3XL[103X ) [32X operation[133X
  
  [33X[0;0YThe global functions [10XCat3Group[110X and [10XPreCat3Group[110X normally take as arguments a
  pair  of  cat[22X^2[122X-groups  [[13Xfront,  left[113X], or a trio of cat[22X^1[122X-groups [[13Xfront-up,
  front-left = left-up, left-left[113X].[133X
  
  [33X[0;0YIn    subsection   [2XAllCat2GroupsIterator[102X   ([14X8.6-4[114X)   the   list   of   pairs
  [10XCatnGroupLists(d12).pairs[110X   contains  the  three  entries  [10X[6,8],[8,11][110X  and
  [10X[6,11][110X.  It follows that the sixth, eighth and eleventh cat[22X^1[122X-groups for [10Xd12[110X
  generate a cat[22X^3[122X-group.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xalld12 := AllCat1Groups( d12 );; [127X[104X
    [4X[25Xgap>[125X [27XC68 := Cat2Group( alld12[6], alld12[8] );; [127X[104X
    [4X[25Xgap>[125X [27XC811 := Cat2Group( alld12[8], alld12[11] );;[127X[104X
    [4X[25Xgap>[125X [27XC3Ga := Cat3Group( C68, C811 );[127X[104X
    [4X[28Xcat3-group with generating (pre-)cat1-groups:[128X[104X
    [4X[28X1 : [d12 => Group( [ (), (1,6)(2,5)(3,4) ] )][128X[104X
    [4X[28X2 : [d12 => Group( [ (1,4)(2,5)(3,6), (1,3)(4,6) ] )][128X[104X
    [4X[28X3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )][128X[104X
    [4X[25Xgap>[125X [27XC3Gb := Cat3Group( alld12[6], alld12[8], alld12[11] );;[127X[104X
    [4X[25Xgap>[125X [27XC3Ga = C3Gb;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X9.1-2 Front3DimensionalGroup[101X
  
  [33X[1;0Y[29X[2XFront3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XLeft3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XUp3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XRight3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XDown3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XBack3DimensionalGroup[102X( [3XC3[103X ) [32X attribute[133X
  
  [33X[0;0YThe six faces of a cat[22X^3[122X-group are stored as these attributes.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XC116 := Cat2Group( alld12[11], alld12[6] );;[127X[104X
    [4X[25Xgap>[125X [27XUp3DimensionalGroup( C3Ga ) = C116;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X9.2 [33X[0;0YEnumerating cat[22X^3[122X[101X[1X-groups with a given source[133X[101X
  
  [33X[0;0YOnce  the  list  [10XCatnGroupLists(G).pairs[110X  has  been obtained we may seek all
  triples  [22X[i,j],[j,k][122X  and [22X[k,i][122X or [22X[i,k][122X of pairs in this list and then, for
  each  such  triple,  construct a cat[22X^3[122X-group generated by the [22Xi[122X-th, [22Xj[122X-th and
  [22Xk[122X-th cat[22X^1[122X-group on [22XG[122X.[133X
  
  [1X9.2-1 AllCat3GroupTriples[101X
  
  [33X[1;0Y[29X[2XAllCat3GroupTriples[102X( [3XG[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XAllCat3GroupsNumber[102X( [3XG[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XAllCat3Groups[102X( [3XG[103X ) [32X operation[133X
  
  [33X[0;0YThe  list  of triples returned by the operation [10XAllCat3GroupTriples[110X is saved
  as  [10XCatnGroupLists(G).cat3triples[110X.  The length of this list is the number of
  cat[22X^3[122X-groups on [22XG[122X, and is saved as [10XCatnGroupNumbers(G).cat3[110X.[133X
  
  [33X[0;0YAs yet there is no operation [10XAllCat3GroupsUpToIsomorphism(G)[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xtriples := AllCat3GroupTriples( d12 );;[127X[104X
    [4X[25Xgap>[125X [27XCatnGroupNumbers( d12 ).cat3; [127X[104X
    [4X[28X94[128X[104X
    [4X[25Xgap>[125X [27Xtriples[46];[127X[104X
    [4X[28X[ 5, 7, 11 ][128X[104X
    [4X[25Xgap>[125X [27Xalld12 := AllCat1Groups( d12 );; [127X[104X
    [4X[25Xgap>[125X [27XCat3Group( alld12[5], alld12[7], alld12[11] );[127X[104X
    [4X[28Xcat3-group with generating (pre-)cat1-groups:[128X[104X
    [4X[28X1 : [d12 => Group( [ (), (1,4)(2,3)(5,6) ] )][128X[104X
    [4X[28X2 : [d12 => Group( [ (1,4)(2,5)(3,6), (2,6)(3,5) ] )][128X[104X
    [4X[28X3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X9.3 [33X[0;0YDefinition and constructions for cat[22X^n[122X[101X[1X-groups and their morphisms[133X[101X
  
  [33X[0;0YIn  this  chapter and the previous one we are interested in cat[22X^2[122X-groups and
  cat[22X^3[122X-groups,  and it is convenient in this section to give the more general
  definition. There are three equivalent descriptions of a cat[22X^n[122X-group.[133X
  
  [33X[0;0YA [13Xcat[22X^n[122X-group[113X consists of the following.[133X
  
  [30X    [33X[0;6Y[22X2^n[122X  groups  [22XG_A[122X,  one  for  each  subset [22XA[122X of [22X[n][122X, the [13Xvertices[113X of an
        [22Xn[122X-cube.[133X
  
  [30X    [33X[0;6YGroup homomorphisms forming [22Xn2^n-1[122X commuting cat[22X^1[122X-groups,[133X
  
  
  [24X      [33X[0;6Y\calC_{A,i}  ~=~  (e_{A,i};\;  t_{A,i},\;  h_{A,i}  \  :\ G_A \to G_{A
        \setminus  \{i\}}),  \quad\mbox{for all} \quad A \subseteq [n],~ i \in
        A,[133X
  
  [124X
  
        [33X[0;6Ythe [13Xedges[113X of the cube.[133X
  
  [30X    [33X[0;6YThese  cat[22X^1[122X-groups  combine  (in  sets  of  [22X4[122X)  to  form  [22Xn(n-1)2^n-3[122X
        cat[22X^2[122X-groups  [22XcalC_A,{i,j}[122X  for all [22X{i,j} ⊆ A ⊆ [n],~ i ≠ j[122X, the [13Xfaces[113X
        of the cube.[133X
  
  [33X[0;0YNote that, since the [22Xt_A,i, h_A,i[122X and [22Xe_A,i[122X commute, composite homomorphisms
  [22Xt_A,B,  h_A,B  :  G_A -> G_A ∖ B[122X and [22Xe_A,B : G_A ∖ B -> G_A[122X are well defined
  for all [22XB ⊆ A ⊆ [n][122X.[133X
  
  [33X[0;0YSecondly, we give the simplest of the three descriptions, again adapted from
  Ellis-Steiner [ES87].[133X
  
  [33X[0;0YA cat[22X^n[122X-group [22XcalC[122X consists of [22X2^n[122X groups [22XG_A[122X, one for each subset [22XA[122X of [22X[n][122X,
  and [22X3n[122X homomorphisms[133X
  
  
  [24X[33X[0;6Yt_{[n],i},  h_{[n],i}  :  G_{[n]}  \to G_{[n] \setminus \{i\}},~ e_{[n],i} :
  G_{[n] \setminus \{i\}} \to G_{[n]},[133X
  
  [124X
  
  [33X[0;0Ysatisfying the following axioms for all [22X1 leqslant i leqslant n[122X,}[133X
  
  [30X    [33X[0;6Ythe [22XcalC_[n],i ~=~ (e_[n],i; t_[n],i, h_[n],i : G_[n] -> G_[n] ∖ {i})~[122X
        are [13Xcommuting[113X cat[22X^1[122X-groups, so that:[133X
  
  [30X    [33X[0;6Y[22X(e_1  ∘  t_1)  ∘  (e_2 ∘ t_2) = (e_2 ∘ t_2) ∘ (e_1 ∘ t_1), quad (e_1 ∘
        h_1) ∘ (e_2 ∘ h_2) = (e_2 ∘ h_2) ∘ (e_1 ∘ h_1),[122X[133X
  
  [30X    [33X[0;6Y[22X(e_1  ∘  t_1)  ∘  (e_2 ∘ h_2) = (e_2 ∘ h_2) ∘ (e_1 ∘ t_1), quad (e_2 ∘
        t_2) ∘ (e_1 ∘ h_1) = (e_1 ∘ h_1) ∘ (e_2 ∘ t_2).[122X[133X
  
  [33X[0;0YOur   third   description   defines  a  cat[22X^n[122X-group  as  a  "cat[22X^1[122X-group  of
  cat[22X^(n-1)[122X-groups".[133X
  
  [33X[0;0YA [13Xcat[22X^n[122X-group[113X [22XcalC[122X consists of two cat[22X^(n-1)[122X-groups:[133X
  
  [30X    [33X[0;6Y[22XcalA[122X  with  groups  [22XG_A,  A  ⊆  [n-1][122X,  and  homomorphisms  [22Xddott_A,i,
        ddoth_A,i, ddote_A,i[122X,[133X
  
  [30X    [33X[0;6Y[22XcalB[122X with groups [22XH_B, B ⊆ [n-1][122X, and homomorphisms [22Xdott_B,i, doth_B,i,
        dote_B,i[122X, and[133X
  
  [30X    [33X[0;6Ycat[22X^(n-1)[122X-morphisms [22Xt,h : calA -> calB[122X and [22Xe : calB -> calA[122X subject to
        the following conditions:[133X
  
  
  [24X      [33X[0;6Y(t  \circ  e) ~\mbox{and}~ (h \circ e) ~\mbox{are the identity mapping
        on}~ \calB, \qquad [\ker t, \ker h] = \{ 1_{\calA} \}.[133X
  
  [124X
  
  [1X9.3-1 PreCatnGroup[101X
  
  [33X[1;0Y[29X[2XPreCatnGroup[102X( [3XL[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XCatnGroup[102X( [3XL[103X ) [32X operation[133X
  
  [33X[0;0YThe  operation  [10X(Pre)CatnGroup[110X  expects as input a list of cat[22X^1[122X-groups. For
  our  group  [10Xd12[110X  we  may  construct various cat[22X^4[122X-groups, and here is one of
  them.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XPC4 := PreCatnGroup( [ alld12[5], alld12[7], alld12[11], alld12[12] ] );[127X[104X
    [4X[28X(pre-)cat4-group with generating (pre-)cat1-groups:[128X[104X
    [4X[28X1 : [d12 => Group( [ (), (1,4)(2,3)(5,6) ] )][128X[104X
    [4X[28X2 : [d12 => Group( [ (1,4)(2,5)(3,6), (2,6)(3,5) ] )][128X[104X
    [4X[28X3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )][128X[104X
    [4X[28X4 : [d12 => Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] )][128X[104X
    [4X[25Xgap>[125X [27XIsCatnGroup( PC4 );                                             [127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XHigherDimension( PC4 );[127X[104X
    [4X[28X5[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  a  cat[22X^5[122X-group  we  may  start with the cyclic group whose order is the
  product  of  the  first  five  primes.  With  this  group  we  may  form  [22X32[122X
  cat[22X^1[122X-groups and [22X528[122X cat[22X^2[122X-groups.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XG := Group( (1,2), (3,4,5), (6,7,8,9,10), (11,12,13,14,15,16,17),[127X[104X
    [4X[25X>[125X [27X               (20,21,22,23,24,25,26,27,28,29,30) );;[127X[104X
    [4X[25Xgap>[125X [27XSetName( G, "C2310" );[127X[104X
    [4X[25Xgap>[125X [27Xall1 := AllCat1Groups( G );;[127X[104X
    [4X[25Xgap>[125X [27XPrint( "G has ", CatnGroupNumbers( G ).cat1, " cat1-groups\n" );[127X[104X
    [4X[28XG has 32 cat1-groups[128X[104X
    [4X[25Xgap>[125X [27XPC5 := PreCatnGroup( [ all1[2], all1[5], all1[13], all1[25], all1[32] ] );[127X[104X
    [4X[28X(pre-)cat5-group with generating (pre-)cat1-groups:[128X[104X
    [4X[28X1 : [C2310 => Group( [ (), (), (), (), (1,2) ] )][128X[104X
    [4X[28X2 : [C2310 => Group( [ (), (), (), (3,4,5), (1,2) ] )][128X[104X
    [4X[28X3 : [C2310 => Group( [ (), (), ( 6, 7, 8, 9,10), (3,4,5), (1,2) ] )][128X[104X
    [4X[28X4 : [C2310 => Group( [ (), (11,12,13,14,15,16,17), ( 6, 7, 8, 9,10), (3,4,5), [128X[104X
    [4X[28X  (1,2) ] )][128X[104X
    [4X[28X5 : [C2310 => Group( [ (20,21,22,23,24,25,26,27,28,29,30), [128X[104X
    [4X[28X  (11,12,13,14,15,16,17), ( 6, 7, 8, 9,10), (3,4,5), (1,2) ] )][128X[104X
    [4X[25Xgap>[125X [27XHigherDimension( PC5 );[127X[104X
    [4X[28X6[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
