The term *4d-group* refers to a set of equivalent categories of which the most common are the categories of *crossed cubes* and *cat^3-groups*. A *4d-mapping* is a function between two 4d-groups which preserves all the structure.

The material in this chapter should be considered very experimental. As yet there are no functions for crossed cubes.

We shall use the following standard orientation of a cat^3-group calE on a group G. calE contains 8 groups; 12 cat^1-groups and 6 cat^2-groups forming the vertices; edges and faces of a cube, as shown in the following diagram.

\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> \\ }}

By definition, calE is generated by three commuting cat^1-groups (G ⇒ R), (G ⇒ Q) and (G ⇒ H), but it is more convenient to think of calE as generated by two cat^2-groups

*front*(calE), generated by (G ⇒ R) and (G ⇒ Q);*left*(calE), generated by (G ⇒ Q) and (G ⇒ H).

Because the tail, head and embedding maps all commute, it follows that *up*(calE), generated by (G ⇒ H) and (G ⇒ R), is a third cat^2-group. The three remaining faces (cat^2-groups) *right*(calE), *down*(calE) and *back*(calE) are then easily constructed. We shall always use the order [*front,up,left,right,down,back*] for the six faces.

`‣ Cat3Group` ( args ) | ( function ) |

`‣ PreCat3Group` ( args ) | ( function ) |

`‣ IsCat3Group` ( C ) | ( property ) |

`‣ PreCat3GroupByPreCat2Groups` ( L ) | ( operation ) |

The global functions `Cat3Group`

and `PreCat3Group`

are normally take as arguments a pair of cat^2-groups or a trio of cat^1-groups. In subsection `AllCat2GroupsIterator`

(8.5-2) the list of pairs `CatnGroupLists(d12).pairs`

contains the three entries `[6,8],[8,11]`

and `[6,11]`

. It follows that the sixth, eighth and eleventh cat^1-groups for `d12`

generate a cat^3-group.

gap> all1 := AllCat1Groups( d12 );; gap> C68 := Cat2Group( all1[6], all1[8] );; gap> C811 := Cat2Group( all1[8], all1[11] );; gap> C3Ga := Cat3Group( C68, C811 ); cat3-group with generating (pre-)cat1-groups: 1 : [d12 => Group( [ (), (1,6)(2,5)(3,4) ] )] 2 : [d12 => Group( [ (1,4)(2,5)(3,6), (1,3)(4,6) ] )] 3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )] gap> C3Gb := Cat3Group( all1[6], all1[8], all1[11] ); cat3-group with generating (pre-)cat1-groups: 1 : [d12 => Group( [ (), (1,6)(2,5)(3,4) ] )] 2 : [d12 => Group( [ (1,4)(2,5)(3,6), (1,3)(4,6) ] )] 3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )] gap> C3Ga = C3Gb; true

`‣ Front3DimensionalGroup` ( C3 ) | ( attribute ) |

`‣ Up3DimensionalGroup` ( C3 ) | ( attribute ) |

`‣ Left3DimensionalGroup` ( C3 ) | ( attribute ) |

`‣ Right3DimensionalGroup` ( C3 ) | ( attribute ) |

`‣ Down3DimensionalGroup` ( C3 ) | ( attribute ) |

`‣ Back3DimensionalGroup` ( C3 ) | ( attribute ) |

The six faces of a cat^3-group are stored as these attributes.

gap> C116 := Cat2Group( all1[11], all1[6] );; gap> Up3DimensionalGroup( C3Ga ) = C116; true

Once the list `CatnGroupLists(G).pairs`

has been obtained we may seek all triples [i,j],[j,k] and [k,i] or [i,k] of pairs in this list and then, for each such triple, construct a cat^3-group generated by the i-th, j-th and k-th cat^1-group on G.

`‣ AllCat3GroupTriples` ( G ) | ( operation ) |

`‣ AllCat3GroupsNumber` ( G ) | ( attribute ) |

`‣ AllCat3Groups` ( G ) | ( operation ) |

`‣ AllCat3GroupsUpToIsomorphism` ( G ) | ( operation ) |

The list of triples returned by the operation `AllCat3GroupTriples`

is saved as `CatnGroupLists(G).cat3triples`

. The length of this list is the number of cat^3-groups on G, and is saved as `CatnGroupNumbers(G).cat3`

.

As yet there is no operation `AllCat3GroupsUpToIsomorphism(G)`

.

gap> triples := AllCat3GroupTriples( d12 );; gap> CatnGroupNumbers( d12 ).cat3; 94 gap> triples[46]; [ 5, 7, 11 ] gap> all1 := AllCat1Groups( d12 );; gap> Cat3Group( all1[5], all1[7], all1[11] ); cat3-group with generating (pre-)cat1-groups: 1 : [d12 => Group( [ (), (1,4)(2,3)(5,6) ] )] 2 : [d12 => Group( [ (1,4)(2,5)(3,6), (2,6)(3,5) ] )] 3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )]

In this chapter and the previous one we are interested in cat^2-groups and cat^3-groups, and it is convenient in this section to give the more general definition. There are three equivalent descriptions of a cat^n-group.

A *cat^n-group* consists of the following.

2^n groups G_A, one for each subset A of [n], the

*vertices*of an n-cube.Group homomorphisms forming n2^n-1 commuting cat^1-groups,

\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,

the

*edges*of the cube.These cat^1-groups combine (in sets of 4) to form n(n-1)2^n-3 cat^2-groups calC_A,{i,j} for all {i,j} ⊆ A ⊆ [n],~ i ≠ j, the

*faces*of the cube.

Note that, since the t_A,i, h_A,i and e_A,i commute, composite homomorphisms t_A,B, h_A,B : G_A -> G_A ∖ B and e_A,B : G_A ∖ B -> G_A are well defined for all B ⊆ A ⊆ [n].

Secondly, we give the simplest of the three descriptions, again adapted from Ellis-Steiner [ES87].

A cat^n-group calC consists of 2^n groups G_A, one for each subset A of [n], and 3n homomorphisms

t_{[n],i}, h_{[n],i} : G_{[n]} \to G_{[n] \setminus \{i\}},~ e_{[n],i} : G_{[n] \setminus \{i\}} \to G_{[n]},

satisfying the following axioms for all 1 leqslant i leqslant n,}

the calC_[n],i ~=~ (e_[n],i; t_[n],i, h_[n],i : G_[n] -> G_[n] ∖ {i})~ are

*commuting*cat^1-groups, so that:(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),

(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).

Our third description defines a cat^n-group as a "cat^1-group of cat^(n-1)-groups".

A *cat^n-group* calC consists of two cat^(n-1)-groups:

calA with groups G_A, A ⊆ [n-1], and homomorphisms ddott_A,i, ddoth_A,i, ddote_A,i,

calB with groups H_B, B ⊆ [n-1], and homomorphisms dott_B,i, doth_B,i, dote_B,i, and

cat^(n-1)-morphisms t,h : calA -> calB and e : calB -> calA subject to the following conditions:

(t \circ e) ~\mbox{and}~ (h \circ e) ~\mbox{are the identity mapping on}~ \calB, \qquad [\ker t, \ker h] = \{ 1_{\calA} \}.

generated by GAPDoc2HTML