<Chapter Label="Intro">
<Heading>Introduction</Heading>

This chapter serves as an introduction of the package &LINS;.

<Section Label="Intro Overview">
<Heading>Overview</Heading>

The package &LINS; provides an algorithm for computing the normal subgroups of a finitely presented group up to some given index bound. <P/>

Moreover it provides an interface for searching in the normal subgroup lattice of a finitely presented group.
For example, one can use this interface to search for <M>l</M> normal subgroups of index <M>n</M>. <P/>

The algorithm is based on work of David Firth <Cite Key="Firth"/>.
He implemented that algorithm in the algebra software MAGMA.
That implementation in MAGMA has been revised and rewritten to a great extent by Derek Holt. <P/>

The current implementation in &GAP; uses a table of groups that was computed by the code in <F>createTables.gi</F>.

</Section>

<Section Label="Examples">
<Heading>Examples</Heading>

In this section we present example sessions which demonstrate
how to use the main high-level functions provided by &LINS;. <P/>

<Subsection>
<Heading>Example : all normal subgroups up to index <M>n</M></Heading>

We compute all normal subgroups in <M>D_{50}</M>,
the dihedral group of size <M>50</M>.
<Example><![CDATA[
gap> G := DihedralGroup(50);
<pc group of size 50 with 3 generators>
gap> L := LowIndexNormalSubs(G, 50);;
gap> IsoTypes := List(L, StructureDescription);
[ "D50", "C25", "C5", "1" ]
]]></Example>

</Subsection>

<Subsection>
<Heading>Example : all normal subgroups of index <M>n</M></Heading>

We compute all normal subgroups of index <M>5^2 = 25</M> in <M>C_5^4</M>,
the direct product of <M>4</M> copies of the cyclic group of order <M>5</M>:
<Example><![CDATA[
gap> G := ElementaryAbelianGroup(5^4);
<pc group of size 625 with 4 generators>
gap> L := LowIndexNormalSubs(G, 5 ^ 2 : allSubgroups := false);;
gap> IsoTypes := Collected(List(L, StructureDescription));
[ [ "C5 x C5", 806 ] ]
]]></Example>

</Subsection>

</Section>

<Section Label="Main Functions">
<Heading>Main Functions</Heading>

In this section, we include all the main high-level functions provided to the user.
For advanced search methods in the lattice of normal subgroups, take a look at Chapter <Ref Chap="LINS Interface"/>. <P/>

<#Include Label="LowIndexNormalSubs">

</Section>

</Chapter>
