Mainly to fix notations and for the sake of completeness we recall here some well know definitions and constructions that we will need.
Consider a group ,
a subset
of
is called a set of generators iff the smallest subgroup that
contains
is all
.
Given a set of generators a finite sequence of the symbols
is called a word on the generators;
we say that the generators satisfy the relation
,
where
is a word on them,
if the element obtained multiplying the symbols of
is the identity;
a word is said to be in reduced form if all the pairs of the form
or
have been removed from it,
as this could left an empty word
we use the convention that the empty word is in reduced form
and call it the identity word, we usually represent it by
.
We would like to describe groups just naming their generators and
relations, but often, if not always this is just impossible, for
instance the Klein group is generated by two elements such that
,
but also the group of two elements
satisfies these properties with
.
One could argue that what we want is the largest group that satisfy
those relations, but then the problem of the existence of such a group
arise.
Fortunately one can prove that there is always such a group,
we reproduce here the construction because it is interesting in what
follows.
We first build a group that contains the generators
.
Consider the set of reduced words on the generators with the operation
of composition, it is easy to check that this is a group,
where the identity element is the empty word
(thus the name we gave it above),
and the inverse of a word
is the word
.
Notice that in fact the generators ``belong'' to this group,
each represented by the sequence
.
The group just built is called the free group on the generators,
we will write it as
or simply
.
The given relations are members of ,
so we can consider the smallest normal subgroup
of
that contains all the relations,
and let us call
the quotient
.
Now
does satisfy the prescribed relations,
to prove that
in the
largest possible group let
be a group
generated by a set
that satisfy the
relations,
then there is a natural function
that maps each word to the product of the symbols in
,
it is easy to see that this map is an homomorphism of groups,
and that its kernel contains
,
because
is a normal subgroup,
and since
satisfy the relations they are mapped to the
identity in
,
so
, from the isomorphism theorems follow
that
is an extension of
, so
is the largest group
generated by
subject to the given restrictions.
A group is said to have presentation
if is isomorphic to the largest group generated by the elements
that satisfies the relations
.
Of course the same group can have many presentations.
We now prove that it is possible to find the multiplication table of a finite group given a presentation for it, it is known that this is not possible for infinite groups, but we do not address that problem here.
Consider a group (possibly infinite) with a presentation
were is a word in the generators
,
we can associate a graph to the pair
as follows,
the vertices of the graph are the elements of
,
we join two vertices
and
by an edge
if there is a
generator
such that
,
we say that this edge has color
,
notice that the edge is naturally oriented leaving
and
arriving to
,
we add another oriented edge from
to
with color
.
This graph
is called the Cayley graph of
for the presentation
,
notice that in fact the graph depends on the presentation,
to see this is enough to add a new generator to a given presentation,
then the new graph contains two more edges on each vertex.
Given a word on the generators
and a vertex
in
there is only one path
such that it starts on
and its edges are colored
,
conversely to each path we can associate
a word which we will call the name of the path.
Notice that if a path starts in the element
and has name
its
ending vertex is exactly the one associated to the element in
which
the word
represents.
The Cayley graph can be used to find the multiplication
table of ,
since the set
generates
for each
element
in
there is a word
in the
generators such that
,
this means that the path starting from
with name
ends on the
vertex
,
notice also that the path starting from
with name
ends
on the element
,
thus we can find the product of
and
simply finding the ending
vertex of the path
.
Even more the words
induce a labeling in the nodes, we can use
that labeling to recognize the elements and write the multiplication
table.
We also just proved that the Cayley graph is connected, because each
element is connected to the vertex by the path with name
,
it can be easily proved too that a path is a loop iff its name
represents the identity in
.
In this way our original problem has been reduced to finding the Cayley graph of the group, although at first this doesn't look very promising (since we don't even have the order of the group, that is we don't even know how many vertices the graph has) we will prove that the Cayley graph really solves our problem.
We first observe that a Cayley graph satisfies the following
properties
The first assertion comes from the fact that
is non empty, above we proved the second.
This last two properties come from the definition of
This comes from the previous properties.
We noticed that a path is a loop iff its name is the identity in ,
but then its name must belong to
from the definition of
.
Suppose we have colored graph with vertex set
and colors
that satisfies the properties above,
we can define a function
that maps each word to the ending vertex of the path
defined in property
.
Consider the equivalence relation on
defined by
is clear that there is a bijection between and
.
On the other hand if
then
is a loop, but then
,
so
,
where
is the natural map
so is exactly the equivalence relation in the quotient
,
then there is a
and onto map
We want to extend to a isomorphism of graphs between
and
, in fact, two vertices
are joined
by an edge
of color
iff the ending vertex of
is the
vertex
iff
iff
iff
iff
is joined to
by an edge of color
.
Figure: An algorithm to calculate
Let us now consider the algorithm in figure ,
a vertex is called ``filled'' if has all the needed edges,
i.e. there is at least one edge of each color on it,
the algorithm ``fills'' a vertex adding all the needed edges,
since the destination of the edges are unknown at first an extra
vertex is added as destination,
is the starting vertex of the path
and
is the ending
vertex of it,
step (2.2.1) makes the path a loop,
this step may ``overfill'' the new (identified) vertex
because two or more edges of the same color may contain it,
this induces new identifications on the neighbors of the vertex
(to eliminate the extra edges),
this identifications must be propagated along the graph.
It is easy to see that if the algorithm stops then the graph obtained
satisfy the properties above, so it is isomorphic to .
We will now prove that
that if is finite the algorithm stops,
although this is quite intuitive a formal proof gives some insight.
Let be the graph produced after
iterations before
entering the external loop (step (2)),
notice that in
the path
is well defined,
if
, where
is the length of the word
;
for each
let
be the shortest word
(lexicographically minimal if there are several)
that satisfy
,
then after at most
iterations the graph
produced by the algorithm contains
at least one vertex for each element
,
namely
.
For any and
define
,
we want to prove that after a finite number of iterations the vertices
and
are joined by an edge of color
, we now that after
at most
iteration
has all its edges in particular
of
color
, if the destination of
is
then there is nothing
to prove, otherwise let
be the destination of
,
then
, but then there is a word
such that
, but
where y
,
but then after at most
the step (2.2) of the algorithm warrants that has been identified
with
.
Since there is a finite number of pairs
after a finite number of
iterations (
) the graph
contains an
isomorphic copy of
, namely the subgraph generated by the
vertices
where
, but then those are all the vertices of
,
if not so because the graph
is connected,
there must be one vertex
from where an
edge originates to an extra vertex
,
but from the construction there
is only one edge for each color coming out of
and all of them go
to the
vertices, this is a contradiction.
At last notice that all the
vertices are filled, so the
algorithm stops.