Quelle chap2_mj.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/xmod/doc/chap2_mj.html |
 |
<?xml version= "1.0" encoding= "UTF-8"?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
http:/wwww./html1DTDxhtml1strict.dtd ">
< html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en">
< head>
< script type= "text/javascript"
src= "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</ script>
< title>GAP (XMod) - Chapter 2: 2d-groups : crossed modules and cat\(^ 1\)-[- 1, 00,[-,][ 0,,- 1]j ava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap2" onload="jscontent()">
<div classrec(1:rec(:=[[-1,,00,0-,0,00java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a> <a1,0][0,0,,1],
<p id="mathjaxlink" class="pcenter"><a href="chap2.html">[MathJax off]</a></p>
<p><a id="X7EB8288E8424F39F" name="X7EB8288E8424F39F"></a></p>
<iv class="">a href="chap2_mj.html#X7EB8288E8424F39F"2 < class="Heading"2d-roups:crossedand<class=S>\^\<span-</>a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7BAD9A7F7AFEEC89">2.1 <span class="Heading">Constructions for crossed modules</span></a>
</span>
<div class="ContSSBlock">
<span[/,12,1],
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X83050ED686776933">2.1-2 XModByNormalSubgroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X867B2D53832EF05E">2.1-3 XModByTrivialAction</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X78B14FDA817CCEEF">2.1-4 XModByAutomorphismGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7D0F6FAA7AF69844">2.1-5 XModByCentralExtension</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X84FA2B0A795B6997">2.1-6 XModByPullback</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html[[-1,0,0,0,[010,0],0,
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X81704DFB795C0D29">2.1-8 DirectProduct</a></span>
<span class="[/2,/2121]java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7AF6602C87845F1D">2.1-10 ImageElmXModAction</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7846A7D37957B89E">2.1-11 Size2d</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X85516B19803C01C0">2.1-12 Name</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7CF622538749FE73">2.2 <span class="Heading">Properties of java.lang.StringIndexOutOfBoundsException: Index 161 out of bounds for length 16
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7E77E6B881B1CE50">2.2-1 IsXMod</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7884284383284A87">2.2-2 SubXMod</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7D8165F77B23BCF6">2.2-3 KernelCokernelXMod</a></span>
</div><div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7D435B6279032D4D">2.3 <span class="Heading">Pre-crossed modules</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X8487BE427858C5C9">2.3-1 PreXModByBoundaryAndAction</a></span>
<span class="ContSS"><br /><panclass"nocss"> &bsp<span< href=chap2_mj.htmlX8527F4C07A8F359E">2.3--2 PeifferSubgroup</a>/span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7AAABC1D7E110988">2.4 <span class="Heading">Cat<span class="SimpleMath">\(^1\)</span>-groups and pre-cat<span class="SimpleMath">\(^1\)</span>-groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7CF4C37F87D27EBA">2.4-1 Cat1Group</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7C4FFC4086531157">2.4-2 Source</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X79944C7B87F767FD">2.4-3 DiagonalCat1Group</a></span>
<span class="ContSS"</<span class"">nbsp&;/pan>ahref=chtml#79385660821E54A3>.- </a<span
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X87544FAD873672E1">2.4-5 Cat1GroupByPeifferQuotient</a></span>
:java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
<span class=rgenerators:=[-,,00]0-,,][,1,
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X8317816A8361F88C">2.5 <span class="Heading">
Properties of cat<span class="SimpleMath">\(^1\)</span>-groups and pre-cat<span class="SimpleMath">\(^1\)</span>-groups
</span></a>
</span>
<div class="ContSSBlock">
<spanclass"ContSS"><br /><span class="nocss"> </span<a href="chap2_mj.html#X78E03FAB84A57D03">2.5-1 IsCat1Group</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7B7CF88F83B0129D">2.5-2 IsPreCat1GroupWithIdentityEmbedding</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X82F10A59867C765D">2.5-3 Cat1GroupOfXMod</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X80D6CB4080417BFA">2.6 <span class="Heading">Enumerating cat<span class="SimpleMath">\(^1\)</span>-groups with a given source</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7BDEBBF17CE6A6D4">2.6-1 AllCat1GroupsWithImage</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7FBFC8C87FC1AC5A">2.6-2 AllCat1GroupsMatrix</a></span>
<span class="ContSS"><br /><span class="nocss"> [-00,,0,00,00,,]java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7C6346A17FEEDFA1">2.6-4 CatnGroupNumbers</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7A6A70BD86DE458D">2.7 <span class="Heading">Selection of a small cat<span class="SimpleMath">\(basis:=[[,0,][,,][,,],
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7B8E67D880E380C8">2.7-1 Cat1Select</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj[010],[-0,][,,1],
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7831DB527CF9DD57">2.8-1 IdGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X83BBC6818168C282">2.8-2 IsSubXMod</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2_mj.html#X7CFAB044817E5E91">2.9 <span class="Heading">The group groupoid associated to a cat<span class="SimpleMath">\(^1\)</span>-group</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X7AF5AF668331321E">2.9-1 GroupGroupoid<[1,0,],0-1,0],[0,0,-1]],
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap2_mj.html#X8578AB6D7C1FC4F3">2.9-2 GroupGroupoidElement</a></span>
</div></div>
</div>
<h3>2 <span class="Heading">2d-groups : crossed modules and cat<span class="SimpleMath">\(^1\)</span>-groups</span></h3>
<p>The term <em>2d-group</em> refers to a set of equivalent categories of which the most common are the categories of <em>crossed modules</em>; [0,10,100,001]
<><a idX7BAD9A7F7AFEEC89 XBAD9A7F7AFEEC89</a<>
<h4>2.1 <span class="Heading">Constructions for crossed modules</span></h4>
<p>A crossed module (of groups) <span class="SimpleMath">\(\calX = (\partial : S \to R )\)</span> consists of a group homomorphism <span java.lang.StringIndexOutOfBoundsException: Index 141 out of bounds for length 1
<p class="center">\[
{\bf XMod\ 1} : \partial(s^r)
= r^{-1} (\partial s) r
= (\partial s)^r,
\qquad
{\bf java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
= s_2^{-1}s_1 s_2
= {s_1}^{s_2}.
\]</p>
<p>When only the first of these axioms is satisfied, the resulting structure is a <em>pre-crossed module</em> (see section <a href="chap2_mj.html#X7D435B6279032D4D"><span class="RefLink">2.3</span></a>). The kernel of <span class="SimpleMath">\(\partial\)</span> is abelian.</p>
<p>(Much of the literature on crossed modules uses left actions, but we have chosen to use[[10,0][01,,],00,-10,
<p><a id="X7C8175AE7F76B586" name="X7C8175AE7F76B586"></a></p>
<h5>2.1-1 XMod</h5>
<div0001]java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByBoundaryAndAction</code>( <var class="Arg">bdy</var>, <var class=-1,,00][0,-1,,0],0,,1,,
<p>The global function <code class="code">XMod</code> calls one of the standard constructions described in the following subsections. In the example the boundary is the identity mapping on <code class="code">c5</code> and the action is trivial.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">c5 := Group( (5,6,7,8,9) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( c5, "c5" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">id5 := IdentityMapping( c5 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ac5 := AutomorphismGroup( c5 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">act := MappingToOne( c5, ac5 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">XMod( id5, act ) = XModByBoundaryAndAction( id5, act );</span>
true
</pre></div>
<p><a id="X83050ED686776933" name="X83050ED686776933"></a></p>
<h5>2.1-2 XModByNormalSubgroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByNormalSubgroup</code>( <var class="Arg">G</var>, <var class="Arg">N</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A <em>conjugation crossed module</em> is the inclusion of a normal subgroup <span class="SimpleMath">\(S \unlhd R\)</span>, where <span class="SimpleMath">\(R\)</span> acts on <span class="SimpleMath">\(S\)</span> by conjugation.</p>
<p><a id="X867B2D53832EF05E" name="X867B2D53832EF05E"></a></p>
<h5>2.1-3 XModByTrivialAction</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByTrivialAction</code>( <var class="Arg">bdy</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A <em>trivial action crossed module</em> <span class="SimpleMath">\((\partial : S \to R)\)</span> has <span class="SimpleMath">\(s^r = s\)</span> for all <span class="SimpleMath">\(s \in S, \; r \in R\)</span>, the source is abelian and the image lies in the centre of the range.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">q8 := QuaternionGroup( IsPermGroup, 8 );</span>
Group([ (1,5,3,7)(2,8,4,6), (1,2,3,4)(5,6,7,8) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( q8, "q8" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c2 := Centre( q8 ); </span>
Group([ (1,3)(2,4)(5,7)(6,8) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( c2, "<-1>" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">bdy := InclusionMappingGroups( q8, c2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">X8a := XModByTrivialAction( bdy );</span>
[<-1>->q8]
<span class="GAPprompt">gap></span> <span class="GAPinput">c4 := Subgroup( q8, [q8.1] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( c4, "<i>" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">X8b := XModByNormalSubgroup( q8, c4 );</span>
[<i>->q8]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(X8b); </span>
Crossed module [<i>->q8] :-
: Source group has generators:
[ (1,5,3,7)(2,8,4,6) ]
:[0,0,,0,1],
[ (1,5,3,7)(2,8,4,6), (1,2,3,4)(5,6,7,8) ]
: Boundary homomorphism maps source generators to:
[ (1,5,3,7)(2,8,4,6) ]
: Action homomorphism maps range generators to automorphisms:
(1,5,3,7)(2,8,4,6) --> { source gens --> [ (1,5,3,7)(2,8,4,6) ] }
(1,2,3,4)(5,6,7,8) --> { source gens --> [ (1,7,3,5)(2,6,4,8) ] }
hese2 automorphisms generatethe group ofautomorphisms.
</pre></div>
<p><a id="X78B14FDA817CCEEF" name="X78B14FDA817CCEEF"></a></p>
<h5>2.1-4 XModByAutomorphismGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByAutomorphismGroup</code>( <var class="Arg">grp</var> )</td><td class="tdright">( attribute )</td></[010,-1,,][,,1],
<div class="func"><table[[-1,,0,0,,0],00-1]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByGroupOfAutomorphisms</code>( <var class="Arg">G</var>, <var class="Arg">A</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>An <em>automorphism crossed module</em> has as range a subgroup <span class="SimpleMath">\(R\)</span> of the automorphism group Aut<span class="SimpleMath">\((S)\)</span> of <span class="SimpleMath">\(S\)</span> which contains the inner[0,10],-1,,,0,[,,1]],
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">X5 := XModByAutomorphismGroup( c5 );</span>
[c5 -> Aut(c5)]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( X5 );</span>
Crossed module [c5->Aut(c5)] :-
: Source group c5 has generators:
[ (5,6,7,8,9) ]
: Range group Aut(c5) has generators:
[ GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ], [ (5,7,9,6,8) ] ) ]
: Boundary homomorphism maps source generators to:
[ IdentityMapping( c5 ) ]
: Action homomorphism maps range generators to automorphisms:
GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ],
[ (5,7,9,6,8) ] ) --> { source gens --> [ (5,7,9,6,8) ] }
This automorphism generates the group of automorphisms.
</pre></div>
<p><a id="X7D0F6FAA7AF69844" name="X7D0F6FAA7AF69844"></a></p>
<h5>2.1-5 XModByCentralExtension</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByCentralExtension</code>( <var class="Arg">bdy</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A <em>central extension crossed module</em> has as boundary a surjection <span class="SimpleMath">\(\partial : S \to R\)</span>, with central kernel, where <span class="SimpleMath">\(r \in R\)</span> acts on <span class="SimpleMath"[,,,][1,,0,][,,,]
<div class="example"><pre>
<span class="GAPprompt">gap></<,0,1/21]java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
<span class="GAPprompt">gap></span> <span class="GAPinput">d12 := Group( gen12 );; </span>
<span class"APprompt">gap&/span> <panclass"APinput">gen6 := [ (7,8,9), (8,9) ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s3 := Group( gen6 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( d12, "d12" ); SetName( s3, "s3" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">pr12 := GroupHomomorphismByImages( d12, s3, gen12, gen6 );;</span>
<span class="GAPprompt">gap></span> <span [,,/21],
true
<span class="GAPprompt">gap></span> <span class="GAPinput">X12 := XModByCentralExtension( pr12 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( X12 ); </span>
Crossed module [d12->s3] :-
: Source group d12 has generators:
[ (1,2,3,4,5,6), (2,6)(3,5) ]
: Range group s3 has generators:
[ (7,8,9), (8,9) ]
: Boundary homomorphism maps source generators to:
[ (7,8,9), (8,9) ]
: Action homomorphism maps range generators to java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 33
(7,8,9) --> { source gens --> [ (1,2,3,4,5,6), (1,3)(4,6) ] }
(8,9) --> { source gens --> [ (1,6,5,4,3,2), (2,6)(3,5) ] }
These 2 automorphisms generate the group of automorphisms.
</pre></div>
<p><a id="X84FA2B0A795B6997" name="X84FA2B0A795B6997"></a></p>
<h5>2.1-6 XModByPullback</h5>
<ivclass="unc><able class"func width="100%"><tr><td class="tdleft"><code class="func">le='color: green'>8227; XModByPullback</code>( <var class="Arg">xmod</var>, <var class="Arg">hom</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">\(\calX_0 = (\mu : M \to P)\)</span> be a crossed module. If <span class="SimpleMath">\(\nu : N \to P\)</span> [,][,,][0,]]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
<p>The example forms a pullback of the crossed module <code class="code">X12</code> of the previous subsection.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">gens4 := [ (11,12), (12,13), (13,14) ];; </span>
<span class"GAPprompt">gap></span> <span class="GAPinput">s4 := Group( gens4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">theta := GroupHomomorphismByImages( s4, s3, gens4, [(7,8),(8,9),(7,8)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">X1 := XModByPullback( X12, theta );; </span>
<1,0],0001]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
"C2 x S4"
<span class="GAPprompt">gap></span> <span class="GAPinput
<span class="GAPprompt">gap></span> <span class="GAPinput">infoX1 := PullbackInfo( Source( X1 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">infoX1!.directProduct;</span>
Group([ (1,2,3,4,5,6), (2,6)(3,5), (7,8), (8,9), (9,10) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">infoX1!.projections[1];</span>
[ (7,8)(9,10), (7,9)(8,10), (2,6)(3,5)(8,9), (1,5,3)(2,6,4)(8,10,9),
(1,6,5,4,3,2)(8,9,10) ] -> [ (), (), (2,6)(3,5), (1,5,3)(2,6,4),
(1,6,5,4,3,2) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">infoX1!.projections[2];</span>
[ (7,8)(9,10), (7,9)(8,10), (2,6)(3,5)(8,9), (1,5,3)(2,6,4)(8,10,9),
(1,6,5,4,3,2)(8,9,10) ] -> [ (11,12)(13,14), (11,13)(12,14), (12,13),
(12,14,13), (12,13,14) ]
</pre></div>
<p><a id="X824631577864961E" name="X824631577864961E"></a></p>
<h5>2.1-7 XModByAbelianModule</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByAbelianModule</code>( <var class="Arg">abmod</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A <em>crossed abelian module</em> has an abelian module as source and the zero map as boundary. See section <a href="chap14_mj.html#X852BD9CA84C2AFF0"><span class="RefLink">14.2</span></a> for an example.</p>
<p><a id="X81704DFB795C0D29" name="X81704DFB795C0D29"></a></p>
<h5>2.1-8 DirectProduct</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DirectProduct</code>( <var class="Arg">X1</var>, <var class="Arg">X2</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The direct product <span class="SimpleMath">\(\calX_{1} \times \calX_{2}\)</span> of two crossed modules has source <span class="SimpleMath">\(S_1 \times S_2\)</span>, range <span class="SimpleMath">\(R_1 \times R_2\)</span> and boundary <span class="SimpleMath">\(\partial_1 \times \partial_2\)</span>, with <span class="SimpleMath">\(R_1,\ R_2\)</span> acting trivially on
<p>The example constructs the product of the two crossed modules formed in subsection <code class="func">XModByTrivialAction</code> (<a href="chap2_mj.html#X867B2D53832EF05E"><span class="RefLink">2.1-3</span[[-1,0,,0,0][0,1,0,,0,[00-0]java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">X8ab := DirectProduct( X8a, X8b );</span>
[[&t1>->q8]x[<i>->q8]]
<span class="GAPprompt">gap></span> <span class="GAPinput">infoX8ab := DirectProductInfo( X8ab );</span>
rec(
embeddings := [ [[<-1>->q8] => [<-1>x<i>->q8xq8]],
[[<i>->q8] => [<-1>x<i>->q8xq8]] ], objects := [ [<-1>->q8], [<i>->q8] ]
,java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
projections := [ [[<-1>x<i>->q8xq8] => [<-1>->q8]],
[[<-1>x<i>->q8xq8] => [<i>->q8]] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">DirectProduct( X8a, X8b, X12 );</span>
[[[<-1>->q8]x[<i>->q8]]x[d12->s3]]
</pre></div>
<p><a id="X790248A67CB9C33A" name="X790248A67CB9C33A"></a></p>
<h5>2.1-9 Source</h5>
<div=[[1,0,,0-0,0,0,1]],
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Range</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Boundary</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModAction</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The following attributes are used in the construction of a crossed module <code class="code">X0</code>.</p>
<ul>
<li><[[0,1,],[-,,0]][0,0,],
</li>
<li><p><code class="code">XModAction(X0)</code> is a homomorphism from <span class="SimpleMath">\(R\)</span> to a group of automorphisms of <code class="code">X0</code>.</p>
</li>
</ul>
<p>(Up until version 2.63 there was an additional attribute <code class="code">AutoGroup</code>, the range of <code class="code">XModAction(X0)</code>.)</p>
<p>The example uses the crossed module <code class="code">X12</code> constructed in subsection <code class="func">XModByCentralExtension</code> (<a href="chap2_mj.html#X7D0F6FAA7AF69844"><span class="RefLink">2.1-5</span></a>).</p>
<div class="example"><pre>
<s"GAPprompt">gap></span> <span class="GAPinput">[ Source( X12 ), Range( X12 ) ]; </span>
[ d12, s3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Boundary( X12 ); </span>
[ (1,2,3,4,5,6), (2,6)(3,5) ] -> [ (7,8,9), (8,9) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">XModAction( X12 );</span>
[ (7,8,9), (8,9) ] ->
[ [ (1,2,3,4,5,6), (2,6)(3,5) ] -> [ (1,2,3,4,5,6), (1,3)(4,6) ],
[ (1,2,3,4,5,6), (2,6)(3,5) ] -> [ (1,6,5,4,3,2), (2,6)(3,5) ] ]
</pre></div>
<p><a id="X7AF6602C87845F1D" name="X7AF6602C87845F1D"></a></p>
<h5>2[00,01]
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ImageElmXModAction</code>( <var class="Arg">X0</var>,asis:=[[1,0,0][010][001]java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<p>This function returns the element <span class="SimpleMath">\(s^r\)</span> given by <code class="code">XModAction(X0)</code>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElmXModAction( X12, (1,2,3,4,5,6), (8,9) );</span>
(1,6,5,4,3,2)
</pre></div>
<p><a id="X7846A7D37957B89E" name="X7846A7D37957B89E"></a></p>
<h5>2.1-11 Size2d</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"[-10,0,0,-1,0],[0,0,-1]],
<p>The standard operation <code class="code">Size</code> cannot be used for crossed modules because the size of a collection is required to be a number, and we wish to return a list. <code class="code">Size2d( X0 )</code> returns the two-element list, <code class="code">[ Size( Source(X0) ), Size( Range(X0) ) ]</code>.</p>
<p>In the simple example below, <code class="code">X5</code> is the automorphism crossed module constructed in subsection <code class="func">XModByAutomorphismGroup[-1,0,][01,0,[,01]]],ormsize:=16))
<div java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( X5 ); </span>
[ , 4 ]
</pre></div>
<p><a id="X85516B19803C01C0" name="X85516B19803C01C0"></a></p>
<h5>2.1-12 Name</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Name</code>( <var class="Arg">X0</var> )</td><td class="tdright">( [,<span style='color: green'>10,][1,,,0][,,
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IdGroup</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div[0,,],
<p>More familiar attributes are <code class="code">Name</code> and <code class="code">IdGroup</code>. The name is formed by concatenating the names of the source and range (if these exist). <code class="code">IdGroup( X0 )</code> returns a two-element list <code class="code">[ IdGroup( Source(X0) ), IdGroup( Range(X0) ) ]</code>.</p>
hecodeclass"unc>ExternalSetXMod</codecrossed module isthe java.lang.StringIndexOutOfBoundsException: Range [84, 83) out of bounds for length 167
<p>The <code class="code">Display</code> function is used to print details of 2d-groups.</p>
<p>The <code class="code">Print</code> statements at the end of the example list the <strong class="pkg">GAP</strong> representations and attributes of <code class="code">X5</code>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IdGroup( X5 ); </span>
[ [ 5, 1 ], [ 4, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ext := ExternalSetXMod( X5 ); </span>
<xset:[ (), (5,6,7,8,9), (5,7,9,6,8), (5,8,6,9,7), ([0,10,[-1,0,0],[0,0,1]],
<span class="GAPprompt">gap></span> <span class="GAPinput">Orbits( ext );</span>
[ [ () ], [ (5,6,7,8,9), (5,7,9,6,8), (5,9,8,7,6), (5,8,6,9,7) ] ]
<span class="GAPprompt">gap></span> ,][,0-]]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
[ (5,6,7,8,9) ] -> [ (5,9,8,7,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElmXModAction( X5, (5,7,9,6,8), a );</span>
(5,8,6,9[-1,,0],0,10,0,0,-]]
<span class="GAPprompt">gap></span> <span class="GAPinput">Print( RepresentationsOfObject(X5), "\n" );</span>
[ "IsComponentObjectRep", "IsAttributeStoringRep", "IsPreXModObj" ]
<span class="GAPprompt">gap>[[0,0]-1,0,0],0,,1]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
[ "Name", "Range", "Source", "IdGroup", "Boundary", "Size2d", "XModAction",
"ExternalSetXMod", "HigherDimension" ]
</pre></div>
<p><a id="X7CF622538749FE73" name="X7CF622538749FE73"></a></p>
<h4>2.2 <span class="Heading">Properties of crossed modules</span></h4>
<p>The underlying category structures for the objects constructed in this chapter(generators=[-1,,][,1,0,][,,,
<p>There are then a variety of properties associated with crossed modules, starting with <code class="code">IsPreXMod</code> and <code class="code">IsXMod</code>.</p>
<p><a id="X7E77E6B881B1CE50" name="X7E77E6B881B1CE50"></a></p>
<h5>2.2-1 IsXMod</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsXMod</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsPreXMod</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<12012,],
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsPerm2DimensionalGroup</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsPc2DimensionalGroup</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" widthbasis:=[[1,0,0][0,,][0,0,1]],
<p>A structure which has <code class="code">Is2DimensionalGroup</code> is a precrossed module or a pre-cat<span class="SimpleMath">\(^1\)</span>-group (see section <a href="chap2_mj.html#X7AAABC1D7E110988"><span class="normgens:[[[-,,0],[0-10,001]java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
<p>There are also properties corresponding to the various construction methods which are listed in section <a href="chap2_mj.html#X7BAD9A7F7AFEEC89"><span class="RefLink">2.1</span></a>: <code class="code">IsTrivialAction2DimensionalGroup</code>; <code class="code">IsNormalSubgroup2DimensionalGroup</code>; <code class="code">IsCentralExtension2DimensionalGroup</code>; <code class="code">IsAutomorphismGroup2DimensionalGroup</code> and <code class[100,0[00-],
<div class="example"><pre>
<span [[,,][10,],,0,1]]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
[ false, true, true ]
<span class="GAPprompt">gap<-,,][,,][,,]]normsize:=16)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
<span class="GAPprompt">gap></span> <span class="GAPinput">ForAll
<span class="GAPprompt">></span> <span class="GAPinput"> "CanEasilyCompareElements", "CanEasilySortElements", "IsDuplicateFree", </span>
< class="APprompt"><span><span class="GAPinput"> "IsGeneratorsOfSemigroup", "IsPreXModDomain", "IsPreXMod", "IsXMod", </span>
<span class="GAPprompt">></span> <span class="GAPinput"> "IsAutomorphismGroup2DimensionalGroup" ], </span>
<span class="GAPprompt">></span> <span class="GAPinput"> s -> s in kpoX5 ); </span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Is2DimensionalGroup(X5);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAutomorphismGroup2DimensionalGroup(X5);</span>
true
</pre></div>
<p><a id="X7884284383284A87" name="X7884284383284A87"></a></p>
<h5>2.2-2 SubXMod</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; SubXMod</code>( <var class="Arg">X0</var>, <var class="Arg">src</var>, <[[1,,,][0100,0
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 34
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; NormalSubXMods</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsNormal</code>:=[1,,][,10][0,0,1],
<> the module above as building,sub-crossedmodules, normal sub- modules< class=S>\(calN\hd \\)/pan>, and also quotients span class="SimpleMath">\(\calX/\calN\)</span> may be constructed. A sub-crossed module <span class="SimpleMath">\(\calS = (\delta : N \to M)\)</span> is <em>normal</em> in <span class="SimpleMath">\(\calX = (\partial : S \to R)\)</span> if</p>
<ul>
<li><p><span [-1,0,0],[0,1,0[0,,-]],
</li>
<li><p><span class="SimpleMath">\(\delta\)</span> is the restriction of <span class="SimpleMath">\(\partial\)</span>,</p>
</li>
<li><p><span class="SimpleMath">\(n^r \in N\)</span> for all <span class="SimpleMath">\(n \in N,~r \in R\)</span>,</p>
</li>
<li><p><span class="SimpleMath">\((s^{-1})^ms \in N\)</span> for all <span class="SimpleMath">\(m \in M,~s \in S\)</span>.</p>
</li>
</ul>
<p>These conditions ensure that <span class="SimpleMath">\(M \ltimes N\)</span> is normal in the[,1,][1,,0][001]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
<p>A method for <code class="code">IsNormal</code> for precrossed modules is provided. See section <a href="chap4_mj.html#X7E373BF3836B3A9C"><span class="RefLink">4.1</span></a> for factor crossed modules and their natural morphisms.</p>
<p>The five normal subcrossed modules of <code class="code">X4</code> found in the following example are <code class="code">[id,id], [k4,k4], [k4,a4], [a4,a4]</code> and <code class="code">X4</code> itself.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s4 := Group( (1,2), (2,3), (3,4) );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">a4 := Subgroup( s4, [ (1,2,3), (2,3,4) ] );; </span>
<span class="GAPprompt">gap><[12,/,/2,1]java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
<span class="GAPprompt">gap&[-1,00][10,,[
<span class="GAPprompt">gap></span> <span class="GAPinput">X4 := XModByNormalSubgroup( s4, a4 );</span>
[a4->s4]
<span class="GAPprompt">gap></span> <span class="GAPinput">Y4 := SubXMod( X4, k4, a4 ); </span>
[k4->a4]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsNormal( X4, Y4 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">NX4 := NormalSubXMods( X4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length( NX4 ); </span>
5
</pre></div>
<p id="7D8165F77B23BCF6" name=X7D8165F77B23BCF6"></a></p>
<h5>2.2-3 KernelCokernelXMod</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; KernelCokernelXMod</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <1,,],[,,,00,-1]],
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">d8d8 := Group( (1,2,3,4), (1,3), (5,6,7,8), (5,7) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">X88 := XModByAutomorphismGroup( d8d8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( X88 );</span>
[ 64, 2048 ]
<span class="[-1,0,0],[0,-1,0,[00,-1]]
<span class="GAPprompt">gap></span> <span class="GAPinput">IdGroup(Y88);</span>
[ [ 4, 2 ], [ 128, 928 ] ]
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 27
[ "C2 x C2", "(D8 x D8) : C2" ]
</pre></div>
<p><a id="X7D435B6279032D4D" name="X7D435B6279032D4D"></a></p>
<h4>2.3 <span class="Heading">Pre-crossed modules</span></h4>
<p><a id="X8487BE427858C5C9" name="X8487BE427858C5C9"></a></p>
<h5>2.3-1 PreXModByBoundaryAndAction</h5>
<divrec(1:recgenerators:[[-,0,,][,100,0,
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PreXModWithTrivialRange</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>1,][,0,01]
<div class=[[0,,0,],-,0,00,[,,10,
<p>If axiom <span class="SimpleMath">\({\bf XMod\ 2}\)</span> is <em>not</em> satisfied, the corresponding structure is known as a <em>pre-crossed module</em>.</p>
<p>A special case of this operation is when the range is a trivial group (not necessarily a subgroup of the source), and so the action is trivial. This case will be used when constructing a special type of double groupoid in Chapter <a href="chap11_mj.html#X83B7E8A287C9284A"><span class="RefLink">11</span></a>.</p>
< class="example>pre
<span class="GAPprompt">gap></span> <span class="GAPinput">b1 := (11,12,13,14,15,16,17,18);; b2 := (12,18)(13,17)(14,16);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d16 := Group( b1, b2 );;</span>
<span class="java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 18
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( d16, "d16" ); SetName( sk4, "sk4" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">bdy16 := GroupHomomorphismByImages( d16, sk4, [b1,b2], [b1^4,b2] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">aut1 := GroupHomomorphismByImages( d16, d16, [b1,b2], [b1^5,b2] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">aut2 := GroupHomomorphismByImages( d16, d16, [b1,b2], [b1,b2^4*b2] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">aut16 := Group( [ aut1, aut2 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">act16 := GroupHomomorphismByImages( sk4, aut16, [b1^4,b2], [aut1,aut2] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P16 := PreXModByBoundaryAndAction( bdy16, act16 );</span>
[d16->sk4]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsXMod( P16 );</span>
[[-1,,[,1,][00-1]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<span class="GAPprompt">gap></span> <span class="GAPinput">Q16 := PreXModWithTrivialRange( d16, d16 ); </span>
[d16->Group( [ () ] )]
<span class="GAPprompt">gap></span> <span class="GAPinput">SQ16 := SubPreXMod( Q16, sk4, Group( [()] ) );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(SQ16);</span>
java.lang.StringIndexOutOfBoundsException: Range [40, 7) out of bounds for length 18
: Source group has generators:
[ (11,15)(12,16)(13,17)(14,18), (12,18)(13,17)(14,16) ]
: Range group has generators:
[ () ]
: Boundary homomorphism maps source generators to:
[ ),() ]
The automorphism group is trivial
</pre></div>
<p><a id="X8527F4C07A8F359E" name="X8527F4C07A8F359E"></a></p>
<h5>2.3-2 PeifferSubgroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">[an style='color: green'>1/2,,1/,1]]
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModByPeifferQuotient</code>( <var class="Arg">prexmod</var> )</td[[-,0,,],[0,0,],0,,-,0],
<pThe<em>Peiffer subgroup</em <span class"SimpleMath">\(P\)</span> of a pre-crossed module <span class="SimpleMath">\(\calX\)</span> is the subgroup of <span class="SimpleMath">\({\rm ker}(\partial)\)</span> generated by <em>Peiffer commutators</em></p>
<p class="center">\[
\lfloor s_1,s_2 \rfloor ~=~
(s_1^{-1})^{\partial s_2}~s_2^{-1}~s_1~s_2 ~=~
e\[_,]~.
\]</p>
<p>Then <span class="SimpleMath">\(\calP = (0 : P \to \{1_R\})\)</span> is a normal sub-pre-crossed module of <span class="SimpleMath">\(\calX\)</span> and <span class="SimpleMath">\(\calX/\calP = (\partial : S/P \to R)\)</span> is a crossed module.</p>
<p>In the following example the Peifferbasis:=[1,00],[,1,0][0,0,1]],
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">normgens:=[[-10,][0,10]0,0,1],
Group( [ (11,15)(12,16)(13,17)(14,18), (11,17,15,13)(12,18,16,14) ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">X16 := XModByPeifferQuotient( P16 );</span>
Peiffer([d16->sk4])
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( X16 );</span>
Crossed module Peiffer([d16->sk4]) :-
: Source group has generators:
[ f1, f2 ]
: Range group has generators:
[ (11,15)(12,16)(13,17)(14,18), (12,18)(13,17)(14,16) ]
: Boundary homomorphism maps source generators to:
[ (12,18)(13,17)(14,16), (11,15)(12,16)(13,17)(14,18) ]
The automorphism group is trivial
spanclass=""gap;<span> <span class="GAPinput">iso16:=IsomorphismPermGroup( Source( X16 ) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S16 := Image( iso16 );</span>
Group([ (1,2), (3,4) ])
<>/divjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
<p><a generators:=[-,,,][,1,][,,
<h4>2.4 <span class="Heading">Cat<span class="SimpleMath">\(^1\)</span>-groups and pre-cat<span class="SimpleMath">\(^1\)</span>-groups</span></h4>
<p>In <a href="chapBib_mj.html#biBL1">[Lod82]</a>, Loday reformulated the notion of a crossed module as a cat<span class="SimpleMath">\(^1\)</span>-group, namely a group <span class="SimpleMath">\(G\)</span> with a pair of endomorphisms <span class="SimpleMath">\(t,h : G \to G\)</span> having a common image <span class="SimpleMath">\(R\)</span> and satisfying certain axioms. We find it computationally convenient to define a cat<span class="SimpleMath">\(^1\)</span>-group <span java.lang.StringIndexOutOfBoundsException: Index 485 out of bounds for length 32
< ="center">[
{\bf Cat\ 1} : ~t \circ e ~=~ h \circ e = {\rm id}_R,
\qquad
{\bf Cat\ 2} : ~[\ker t, \ker h] ~=~ \{ 1_G \}.
\]</p>
<p>It follows that <span class="SimpleMath">\(\;t \circ e \circ h = h,~ h \circ e \circ t = t,~ t \circ e \circ t = t~\)</span> and <span class="SimpleMath">\(~h \circ e \circ h = h\)</-1,00,[-,,],0,,-1,],
<p>See section <code class="func">IsPreCat1GroupWithIdentityEmbedding</code> (<a href="chap2_mj.html#X7B7CF88F83B0129D"><span class="RefLink">2.5-2</span></a>) for the case when <span class="SimpleMath">\(t\)</span> and <span class="SimpleMath">\(h\)</span> are endomorphisms and <span class="SimpleMath">\(e\)</span> an inclusion.</p>
<p><a id="X7CF4C37F87D27EBA" name="X7CF4C37F87D27EBA"></a></p>
<h5>2.4-1 Cat1Group</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1Group</code>( <var class="Arg">args</varnormgens:=[[-1,0]0,10,0,0,],
< class"unc>table class=""width=100"<java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 222
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PreCat1GroupByTailHeadEmbedding</code>( <var class="Arg">t</var>, <var class="Arg">h</var>, <var class="Arg">e</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func[[-1,,0][0,-10,[0,1]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<p>The global functions <code class="code">Cat1Group</code> and <code class="code">PreCat1Group</code> can[1,00],[-,,0],
<ul>
<li><p>as <code class="code">Cat1Group(t,h,e);</code> when <span class="SimpleMath">\(t,h,e\)</span> are three homomorphisms, which is equivalent to <code class="code">PreCat1GroupByTailHeadEmbedding(t,h,e);</code></p>
</li>
<li><p>as <code class="code">Cat1Group(t,h);</code> when <span class="SimpleMath">\(t,h\)</span> are two endomorphisms, which is equivalent to <code class="code">PreCat1GroupWithIdentityEmbedding(t,h);</code></p>
</li>
<li><p>as <code class=code>at1Groupt);code> when<span =SimpleMath>\(=h\)</> is endomorphism is equivalent to < =c"PreCat1GroupWithIdentityEmbedding(t,t);</code></p>
</li>
<li><p>as <code class="code">Cat1Group(t,e);</code> when <span class="SimpleMath">\(t=h\)</span> and <span class="SimpleMath">\(e\)</span> are homomorphisms, which is equivalent to <code class="code">PreCat1GroupByTailHeadEmbedding(t,t,e);</code></p>
</li>
<li><p>as <code class="code">Cat1Group(i,j,k);</code> when <span class="SimpleMath">\(i,j,k\)</span> are integers, which is equivalent to <code class="code">Cat1Select(i,j,k);</code> as described in section <a href="chap2_mj.html#X7A6A70BD86DE458D"><span class="RefLink">2.7</span></a>.</p>
</li>
</ul>
<1000][0-0]0,0,-,]
<span class="GAPprompt">gap></span> <span class="GAPinput">g18gens := [ (1,2,3), (4,5,6), (2,3)(5,6) ];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s3agens := [ (7,8,9), (8,9) ];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g18 := Group( g18gens );; SetName( g18, "g18" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s3a := Group( s3agens );; SetName( s3a, "s3a" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">t1 := GroupHomomorphismByImages(g18,s3a,g18gens,[(7,8,9),(),(8,9)]); </span>
[ (1,2,3), (4,5,6), (2,3)(5,6) ] -> [ (7,8,9), (), (8,9) ]
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 28
[ (1,2,3), (4,5,6), (2,3)(5,6) ] -> [ (7,8,9), (7,8,9), (8,9) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">e1 := GroupHomomorphismByImages(s3a,g18,s3agens,[(1,2,3),(2,3)(5,6)]); </span>
[ (7,8,9), (8,9) ] -> [ (1,2,3), (2,3)(5,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C18 := Cat1Group([01,],-0,],[,0,]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
[,,0][,,]0,,1],16)
</pre></div>
<p><a id="X7C4FFC4086531157" name="X7C4FFC4086531157"></a></p>
<h5>2.4-2 Source</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Source</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Range</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; TailMap</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HeadMap</code>( <var class=0,0,]java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; RangeEmbedding</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; KernelEmbedding</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute&java.lang.StringIndexOutOfBoundsException: Index 197 out of bounds for length 39
<div class="func"><table class="func[10][0,0][,,],
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Name</code>( <var class="Arg">C</var> )</td><td class="java.lang.StringIndexOutOfBoundsException: Range [1, 163) out of bounds for length 29
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Size2d</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These are the attributes of a cat<span class="SimpleMath">\(^1\)</span>-group <span class="SimpleMath">\(\calC\)</span> in this implementation.</p>
<[100],010,0,,1]]normsize:=16)
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ Source( C18 ), Range( C18 ) ];</span>
[ g18, s3a ]
<span class="GAPprompt">gap></span> <span class="GAPinput">TailMap( C18 );</span>
[ (1,2,3), (4,5,6), (2,3)(5,6) ] -> [ (7,8,9), (), (8,9) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">HeadMap( C18 );</span>
[(12,3), (4,5,6), (2,3)(5,6) ] -> [ (7,8,9), (7,8,9), (8,9) ]
<span class="GAPprompt">java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 11
[ (7,8,9), (8,9) ] -> [ (1,2,3), (2,3)([-1000,0100,00-1,0]java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
<span class="GAPprompt">gap></span> <span class="GAPinput">Kernel( C18 );</span>
Group([ 45, )
<span class="GAPprompt">gap></span> <span class="GAPinput">KernelEmbedding( C18 );</span>
[ (4,5,6) ] -> [ (4,5,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Name( C18 );</span>
"[g18=>s3a]"
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( C18 );</span>
[ 18, 6 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( C18 );</span>
[ "(C3 x C3) : C2", "S3" ]
</pre></div>
<p>The next four subsections contain some more constructors for cat<span class="SimpleMath">\(^1\)</span>-groups.</p>
<p><a id="X79944C7B87F767FD" name="X79944C7B87F767FD"></a></p>
<h5>2.4-3 DiagonalCat1Group</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DiagonalCat1Group</code>( <var class="Arg">genG</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>This operation constructs examples of cat<span class="SimpleMath">\(^1\)</span>-groups of the form <span class="SimpleMath">\(G \times G \Rightarrow G\)</span>. The tail map is the identity on the first factor and kills of the second, while the head map [0-,-00,,,1]]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C4 := DiagonalCat1Group( [ (1,2,3), (2,3,4) ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Source(C4), "a4a4" ); SetName( Range(C4_, "a4d" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C4 );</span>
Cat1-group [a4a4=>a4d] :-
: Source group a4a4 has generators,][/,/,/,1]
[ (1,2,3), (2,3,4), (5,6,7), (6,7,8) ]
: Range group a4d has generators:
[ ( 9,10,11), (10,11,12) ]
: tail homomorphism maps source generators to:
[ ( 9,10,11), (10,11,12), (), () ]
head homomorphism maps source generators to:
[ (), (), ( 9,10,11), (10,11,12) ]
: range embedding maps range generators to:
[ (1,2,3)(5,6,7), (2,3,4)(6,7,8) ]
: kernel has generators:
[ (5,6,7), (6,7,8) ]
: boundary homomorphism maps generators of kernel to:
[ ( 9,10,11), (10,11,12) ]
: kernel embedding maps generators of kernel to:
[ (5,6,7), (6,7,8) ]
</pre></div>
<p><a id="X79385660821E54A3" name="X79385660821E54A3"></a></p>
<h5>2.4-4 TransposeCat1Group</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; TransposeCat1Group</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; TransposeIsomorphism</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <em>transpose</em> of a cat<span class="SimpleMath">\(^1\)</span>-group <span class="SimpleMath">\(C\)</span> has the same source, range and embedding, but has the tail and head maps interchanged. The <code class="code">TransposeIsomorphism</code> gives the isomorphism between the [100][0-1,][,0-1]
< class"xample><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R4 := TransposeCat1Group( C4 );</span>
[a4a4=>a4d]
<span class="GAPprompt">gap></span> <span class="GAPinput">Boundary( R4 );</span>
[ (2,3,4), (1,2,3) ] -> [ (10,11,12), (9,10,11) ]
<span class="GAPprompt">=[[1000,0-,,,0010
false
<span class="GAPprompt">gap></span> <span class="GAPinput">TailMap( R4],[12012,],
true
<span class="GAPprompt">gap></span> <span class="GAPinput">MappingGeneratorsImages( TransposeIsomorphism(C4) );</span>
[ [ [ (1,2,3), (2,3,4), (5,6,7), (6,7,8) ],
[ (5,6,7), (6,7,8), (1,2,3), (2,3,4) ] ],
[ [ (9,10,11), (10,11,12) ], [ (9,10,11), (10,11,12) ] ] ]
</pre></div>
<p><a id="X87544FAD873672E1" name="X87544FAD873672E1"></a></p>
<h5>2.4-5 Cat1GroupByPeifferQuotient</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1GroupByPeifferQuotient</code>( <var class="Arg">P</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>If <span class="SimpleMath">\(C = (e;t,h : G \to R)\)</span> is a pre-cat<span class="SimpleMath">\(^1\)</span>-group, its Peiffer subgroup is <span class="SimpleMath">\(P = [\ker t,\ker h]\)</span> and the associated cat<span class="SimpleMath">\(^1\)</span>-group <span class="SimpleMath">\(C_2\)</span> has source <span class="SimpleMath">\(G/P\)</span>. [[-1,0,0,0][0-,,][,0,1,],
<div class="example"><pre>
<:[[-1,00,0-1,][,,],
<span class="GAPprompt">gap></span> <span class="GAPinput">h := GroupHomomorphismByImages( s4, s4, [(1,2,3),(3,4)], [(),(3,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c2 := Image( h );; SetName( c2, "c2" );</span>
<span class="GAPprompt">>gapg</span> <span ="APinput>=PreCat1Group( h, h );</span>
[s4=>c2]
<span class="GAPprompt">gap></span> <span class="GAPinput">P := PeifferSubgroupPreCat1Group( C );</span>
Group([ (1,3)(2,4), (1,2)(3,4) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">C2 := Cat1GroupByPeifferQuotient( C );</span>
[Group( [ f1, f2 ] )=>c2]
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( C2 );</span>
[ "S3", "C2" ]
<span =">&;</span> <span class="APinput=( C ;<span
<span class="GAPprompt">gap></span> <span class="GAPinput">XC := rec2.prexmod;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( XC ); </span>
[ "A4", "C2" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">XC2 := XModByPeifferQuotient( XC );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( XC2 );</span>
[ "C3", "C2" ]
<span class="GAPprompt">gap></span> <span class[[1,,0]0,10][001],
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( CXC2 );</span>
[","C2]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsomorphismCat1Groups( C2, CXC2 );</span>
[[Group( [ f1,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
</pre></div>
<p><a id="X85D9C5F881DBA9FC" name="X85D9C5F881DBA9FC"></a></p>
<h5>2.4-6 SubCat1Group</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func[010][-0,,0,[,,0,
<div class="func"><table class="func" width="100%"><tr><td class0,/2,1/,],
<p><span class="SimpleMath">\(S_1
<[1,,00,0-100][,,1,0,
<span class="GAPprompt">gap></span> <span class="GAPinput">s3 := Subgroup( s4, [(2,3),(3,4)] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">res := DoublyRestrictedMapping( h, s3, s3 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PreCat1Group[0,1/2,1/4,1]]],
[Group( [ (2,3), (3,4) ] )=>Group( [ (3,4), (3,4) ] )]
</pre></div>
<p><a id="X7CE4F14585F6D473" name="X7CE4F14585F6D473"></a></p>
<h5>2.4-7 DirectProduct</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DirectProduct</code>[0,,0],[1,,][,,1]],
<p>The direct product <span class="SimpleMath">\(\calC_{1} \times \calC_{2}\)</span> of two cat<span class="SimpleMath">\(^1\)</span>-groups has source <span class="SimpleMath">\(G_1 \times G_2\)</span> and range
<p>The example constructs the product of two of the cat<span class="SimpleMath">\(^1\)</span>-groups constructed above.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C418 := DirectProduct( C4, C18 );</span>
[(4a4xg18))=&;(a4d x s3a]
<span class="GAPprompt">gap></span> <span class="GAPinput">infoC418 := DirectProductInfo( C418 );</span>
rec(
embeddings := [ [[a4a4=>a4d] => [(a4a4xg18)=>(a4d x s3a)]],
[[g18=>s3a] => [(a4a4xg18)=>0,-10,0,0,1],
objects := [ [a4a4=>a4d], [g18=>s3a] ],
projections := [ [[(a4a4xg18)=>(a4d x s3a)] => [a4a4=>a4d]],
[[(a4a4xg18)=>(a4d x s3a)] => [g18=>s3a]] ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">t418 := TailMap( C418 );</span>
[ (1,2,3), (2,3,4), (5,6,7), (6,7,8), (9,10,11), (12,13,14), (10,11)(13,14)
] -> [ (1,2,3), (2,3,4), (), (), (5,6,7), (), (6,7) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">h418 := HeadMap( C418 );</span>
[ (1,2,3), (2,3,4), (5,6,7), (6,7,8), (9,10,11), (12,13,14), (10,11)(13,14)
] -> [ (), (), (1,2,3), (2,3,4), (5,6,7), (5,6,7), (6,7) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">e418 := RangeEmbedding( C418 );</span>
[ (1,2,3), (2,3,4), (5,6,7), (6,7) ] -> [ (1,2,3)(5,6,7), (2,3,4)(6,7,8),
(9,10,11), (10,11)(13,14) ]
</pre></div>
<p><a id="X8317816A8361F88C" name="X8317816A8361F88C"></a></p>
<h4>2.5 <span class="Heading">
Properties of cat<span class="SimpleMath">\(^1\)</span>-groups and pre-cat<span class="SimpleMath">\(^1\)</span>-groups
</span></h4>
<p>Many of the properties listed in section <a href="chap2_mj.html#X7CF622538749FE73"><span class="RefLink">2.2</span></a> apply to pre-cat<span class="SimpleMath">\(^1\)</span>-groups java.lang.StringIndexOutOfBoundsException: Range [0, 188) out of bounds for length 27
<p><a id=[[100,0,-,,0,-java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<h5>2.5-1 IsCat1Group</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsCat1Group</code>( <var class="Arg">C0</var> )<[[0,-,,-,,][,,1]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="java.lang.StringIndexOutOfBoundsException: Range [1, 91) out of bounds for length 42
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsIdentityCat1Group</code>( <var class="Arg">C0</var> )</td><td class="tdright"rec(1=rec(enerators:=[0100,[-,10,0],[0,0,
<p><code class="code">IsIdentityCat1Group(C0)</code> is true when the head and tail maps of <code class="code">C0</code> are identity mappings.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G8 := SmallGroup( 288, 956 ); SetName( G8, "G8" );</span>
<pc group of size 288 with 7 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">d12 := DihedralGroup( 12 ); SetName( d12, "d12" );</span>
<pc group of size 12 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">a1 := d12.1;; a2 := d12.2;; a3 := d12.3;; a0 := One( d12 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gensG8 := GeneratorsOfGroup( G8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">t8 := GroupHomomorphismByImages( G8, d12, gensG8,</span>
<spanclass="APprompt">><span> <span class="GAPinput"> [ a0, a1*a3, a2*a3, a0, a0, a3, a0 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">h8 := GroupHomomorphismByImages( G8, d12, gensG8,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [ a1*a2*a3, a0, a0, a2*a3, a0, a0, a3^2 ] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">e8 := GroupHomomorphismByImages( d12, G8, [a1,a2,a3],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [ G8.1*G8.2*G8.4*G8.6^2, G8.3*G8.4*G8.6^2*G8.7, G8
,f3*f4*f6^2**f7, ^ java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 19
[G8=>d12]
<span class="GAPprompt"gapgt;span <pan class="APinput">( C8)<span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">KnownPropertiesOfObject( C8 );</span>
[ "CanEasilyCompareElements", "CanEasilySortElements", "IsDuplicateFree",
"IsGeneratorsOfSemigroup", "IsPreCat1Domain", "IsPc2DimensionalGroup",
"IsPreXMod", "IsPreCat1Group", "IsCat1Group", "IsIdentityPreCat1Group",
"IsPreCat1GroupWithIdentityEmbedding" ]
</pre></div>
<p><a id="X7B7CF88F83B0129D" name="X7B7CF88F83B0129D"></a></p>
<h5>2.5-2 IsPreCat1GroupWithIdentityEmbedding</h5>
<div1,1,],,],001],ormsize:=24)
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsomorphicPreCat1GroupWithIdentityEmbedding</code>( <var class="Arg">C0</var> )</td><td class
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsomorphismToPreCat1GroupWithIdentityEmbedding</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></java.lang.StringIndexOutOfBoundsException: Range [1, 254) out of bounds for length 19
<p><code class="code">IsPreCat1GroupWithIdentityEmbedding(C0)</code> is true when the range embedding of <code class="code">C0</code> is an inclusion mapping. (This [-,0,][,1,][,,1
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G5 := Group( (1,2,3,4,5) );; </span>
<span java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 1
< class="">gap>/span < class="GAPinput">:=(t,t,t ;</span>
[Group( [ (1,2,3,4,5) ] )=>Group( [ (1,2,3,4,5) ] )]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsPreCat1GroupWithIdentityEmbedding( PC5 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IPC5 := IsomorphicPreCat1GroupWithIdentityEmbedding( PC5 );</span>
[Group( [ (1,2,3,4,5) ] )=>Group( [ (1,2,3,4,5) ] )]
<span class="GAPprompt[1,00][10,,,1]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
[ (1,2,3,4,5) ] -> [ (1,2,3,4,5) ]
[ 123,5 -; [ 1,,,)
</pre></div>
<p><a id="X82F10A59867C765D" name="X82F10A59867C765D"></a></p>
<h5>2.5-3 Cat1GroupOfXMod</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1GroupOfXMod</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; XModOfCat1Group</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PreCat1GroupRecordOfPreXMod</code>( <var class="Arg">P0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; PreXModRecordOfPreCat1Group</code>( <var class="Arg">P0</var> )</td><td class="tdright">( attribute )</td></tr></table></1:recgenerators:[[0,,,0,-,10,][,,,
<p>The category of crossed modules is equivalent to the category of cat<span class="SimpleMath">\(^1\)</span>-groups, and the functors between these two categories may be described as follows. Starting with the crossed module <span class="SimpleMath">\(\calX = (\partial : S \to R)\)</span> the group <span class="SimpleMath">\(G\)</span> is defined as the semidirect product <span class="SimpleMath">\(G = R \ltimes S\)</span> using the java.lang.StringIndexOutOfBoundsException: Index 444 out of bounds for length 12
<p class="center">\[
(r_1,s_1)(r_2,s_2) ~=~ (r_1r_2,{s_1}^{r_2}s_2).
\]</p>
<p>The structural morphisms are given by</p>
<p class="center">\[
t(r,s) = r, \quad h(r,s) = r (\partial s), \quad er = (r,1).
\]</p>
<p>On=rec(generators:[01,0,-,-,,][0,
<p>As from version 21,0]],[0,,,],
<ul>
<li><p><code class="code">.precat1</code>, the pre-cat<span class="SimpleMath">\(^1\)</span>-group <span class="SimpleMath">\(C = (e;t,h: G \to R)\)</span> of <span class="SimpleMath">\(X\)</spa | |