6 The “ATLAS of Finite Groups”
Tải bản đầy đủ - 0trang
410
Handbook of Computational Group Theory
Thomas Breuer maintains a library of ordinary and modular character
tables of finite groups, which is accessed via GAP. It contains all character
tables in the “ATLAS”, and many others, including the maximal subgroups
of the groups in the “ATLAS”; see the Web site [GAP]. A library of table of
marks (see Section 10.5) of various finite groups is also available in GAP.
Wilson, Parker, and Bray provide an extensive online library of
permutation and matrix representations of the finite simple groups and
their variations, featuring explicit matrices and permutations for the group
generators; see the Web site [ATL]. Information is also provided on standard
generators for the groups, which were discussed in Subsection 7.8.2 in
connection with setting up isomorphisms between a standard copy of the
group G in question and an arbitrary group known to be isomorphic to G.
This database is now also available via MAGMA.
As was mentioned in Section 10.3, MAGMA also has an internal library
containing information about the finite simple groups and their variations
of order up to about 107, including their (maximal) subgroups and outer
automorphisms.
© 2005 by Chapman & Hall/CRC Press
Chapter 12
Rewriting Systems and the
Knuth-Bendix Completion
Process
Coset enumeration, which was studied in detail in Chapter 5, is designed to
provide information about the finite quotients of a finitely presented group. It
can be used to prove that such a group is finite, but rarely to prove that it is
infinite. The algorithms described in Chapter 9 can tell us about other types
of quotients of finitely presented groups, such as abelian, nilpotent, or
polycyclic quotients, from which we can, on occasion, deduce that the group
is infinite.
The methods to be discussed in the final two chapters of this book provide
a completely different approach to computing with finitely presented groups.
Their principal aim is to find a normal form for group elements, together
with an algorithm for putting words in the group generators into normal
form. When successful, they enable us to determine the finiteness or
infiniteness of the group (and often the finiteness or infiniteness of the orders
of elements of the group), since we can generally count the number of distinct
normal forms. They may also enable us to compute neighborhoods of the
origin in the Cayley graph of the group, and possibly to compute the growth
function of the group.
Of course, we can only achieve these aims if the group has a solvable word
problem and, as we noted at the beginning of Chapter 5, this is not the case
in general. Fortunately, many of the interesting classes of finitely presented
groups that arise in practice, particularly those, such as knot groups, that
arise from topology or geometry, do turn out to have a solvable word problem.
Furthermore, as we shall see in Chapter 13, many of these are automatic
groups and are consequently amenable to the computational methods to be
described there.
In this chapter we shall present the basic theory of rewriting systems over
a fixed finite alphabet, together with its applications to CGT. We shall come
to that in Section 12.2. First we need to generalize the basic theory of finitely
presented groups to semigroups and monoids.
411
© 2005 by Chapman & Hall/CRC Press
412
Handbook of Computational Group Theory
12.1 Monoid presentations
The basic theory of monoid presentations follows the same lines as that of
group presentations, which we dealt with in Section 2.4 and, as we shall see,
a group presentation can be regarded as a special case of a monoid
presentation. However, the method of defining a group presentation using
the normal closure of a set of relators in a free group does not carry over
directly to monoids; instead, we need to use the idea of a congruence on a
monoid. Some of the material in this and later sections of this chapter is
based on the presentation in Sims’ book [Sim94].
12.1.1 Monoids and semigroups
Roughly, a monoid is a group without inverses, and a semigroup is a group
without inverses or an identity. More formally:
DEFINITION 12.1 A semigroup is a set S equipped with an associative
binary operation Њ; that is, xЊ(yЊz)=(xЊy)Њz for all x, y, z∈S.
DEFINITION 12.2 A monoid is a set M equipped with an associative binary
operation o, together with an identity element e∈M that satisfies eЊx=xЊe=x
for all x∈M.
As we did for groups, we shall generally omit the o symbol, and write xy
instead of xЊy, and we shall write 1 rather than e for the identity element,
or 1M for the identity of M. For additive examples, we use 0 for the identity.
In fact, we shall not be very much concerned with semigroups here,
although the theory of finitely presented semigroups is not really very different
from that of monoids. From any semigroup we can immediately define a
monoid simply by adjoining an identity element.
A subsemigroup of a semigroup S is a subset of S that is itself closed
under the binary operation of S, and a submonoid of a monoid M is a subset
that is closed under the binary operation and contains the identity element
of M.
Here are some examples of semigroups and monoids. The nonnegative
integers form a monoid under addition with identity 0. The nonzero natural
numbers form a subsemigroup but not a submonoid of under addition.
The elements of any ring form a semigroup under multiplication in the
ring and, if the ring has a unit element 1, then they form a monoid.
Recall that, if X and Y are sets, then a relation from X to Y is simply a
subset of X×Y, and the relation R is called a function if, for each x∈X, there
is a unique y∈Y with (x, y)∈R. The composition RS of a relation R from X
© 2005 by Chapman & Hall/CRC Press
Rewriting Systems and the Knuth-Bendix Completion Process
413
to Y and a relation S from Y to Z is defined by
If X is a fixed set, then the set Rel(X) of all relations from X to X forms a
monoid under composition, and the set Fun(X) of all functions from X to X
forms a submonoid of Rel(X). The identity element is of course the identity
function {(x, x)|x∈X}. The set Sym(X) of all bijections from X to X is a
submonoid, and indeed a subgroup, of Fun(X).
From now on we shall discuss monoids only. The reader should have no
difficulty in formulating analogous results for semigroups.
If X is a subset of a monoid M, then the submonoid of M generated by X is
defined to be the intersection of all submonoids of M that contain X, and this
can easily be shown to be equal to the set of all elements of M that can be
written as strings x1…xr with each xi∈X. We allow the empty string ε,
which is defined to represent the identity 1M. A monoid M is said to be
finitely generated if there exists a finite set X generating M.
Monoid homomorphisms are defined as you might expect. For monoids M
and N, a monoid homomorphism from M to N is a function f:M→N satisfying
f(xy)=f(x)f(y) for all x, y∈M and f(1M)=1N.
Notice that there is a difference here from group theory in that, for monoids,
the property f(1M)=1N does not follow from f(xy)=f(x)f(y) for all x, y∈M, and
so we can have a map f:M→N that is a semigroup homomorphism but not
a monoid homomorphism. For example, let M=N={0, 1} under multiplication,
and let f(0)=f(1)=0. It is easily checked that the image im(f) of any monoid
homomorphism f:M→N is a submonoid of N.
Now we come to a significant difference from group theory. The kernel of
a group homomorphism ϕ is a particular type of subgroup, from which we
can form a quotient group that is isomorphic to im(ϕ).
We can do something similar for monoids, but not by using a special type
of submonoid. The problem is that, although the set of elements x∈M with
f(x)=1N forms a submonoid of M, unlike in the group case, the pairs x, y∈M
for which f(x)=f(y) are not uniquely determined by this subgroup. We need
to replace the idea of a special type of subgroup by a certain type of
equivalence relation, known as a congruence on the monoid.
DEFINITION 12.3 A congruence on a monoid M is an equivalence relation
~ on M with the property that x~y implies xz~yz and zx~zy for all x, y, z∈M.
PROPOSITION 12.4 Let f:M→N be a monoid homomorphism and define
~ on M by
. Then ~ is a congruence on M.
The proof is straightforward. The congruence ~ defined in this proposition is
called the kernel ker(f) of the homomorphism f. From a congruence ~ on
© 2005 by Chapman & Hall/CRC Press
414
Handbook of Computational Group Theory
M, we can form the quotient structure M/~ in which the elements are the
equivalence classes under ~, with the multiplication [x][y]=[xy], where [x]
denoted the equivalence class of x∈M. Notice that, if x~x′ and y~y′ then, by
definition of a congruence, xy~x′y~x′y′, so this multiplication is well-defined,
and M/~ clearly has the identity element [1M]. The map M→M/~ defined by
is a monoid homomorphism.
Monomorphisms, epimorphisms and isomorphisms of monoids are defined
in the same way as for groups. The analogue of the first isomorphism theorem
for monoids is:
THEOREM 12.5 Let f:M→N be a monoid homomorphism with kernel~.
Then the map
defines a monoid isomorphism from M/~ to im(f).
PROOF It is routine to verify that this map is a well-defined monoid
homomorphism that is injective and surjective.
Of course, a group is just a special case of a monoid, so we would hope that
this theory of equivalences and quotient monoids would correspond properly
when applied to a monoid that happens to be a group. This is indeed the case.
When M and N are groups, and f:M→N is a homomorphism, and ~ is the
kernel of f as we have defined it for monoid homomorphisms, then x~y if and
only if x and y are in the same coset of K, where K is the kernel as it would
be defined for a group homomorphism. So, although we have two distinct
definitions for the kernel of f in this situation, each of them is derived easily
from the other.
The normal closure of a subset X of a group G was defined in Definition 2.7
to be the smallest normal subgroup of G containing X. There is an analogous
idea for monoids. An equivalence relation on any set M is, by definition, a
subset of M×M, and so we can talk about the intersection of a collection of
equivalence relations, and it is routine to check that the result is itself an
equivalence relation. (In the case of an empty collection, the intersection is
defined to be M×M.) It is equally routine to check that the intersection of a
collection of congruences on a monoid M is itself a congruence. So for any
subset of M×M, we can define the congruence on M generated by to be
the intersection of all congruences that contain .
PROPOSITION 12.6 Let M be a monoid, let ⊆M×M, and let ~ be the
congruence generated by . Let us call m, n∈M directly equivalent if we
have m=uvw, n=uv′w, for some u,v,v′,w∈M with (v,v′) ∈ or (v′, v) ∈ .
Then, for m,n∈M, (m, n)∈~ if and only if there is a sequence m=m0, m1,…,
mr=n of elements of M, with r≥0, such that mi and mi+1 are directly equivalent
for 0≤i
© 2005 by Chapman & Hall/CRC Press
Rewriting Systems and the Knuth-Bendix Completion Process
415
PROOF Define ~′ on M by (m, n) ∈~′ if and only if the condition defined in
the proposition holds. It is routine to check that ~′ is a congruence on M that
contains . Further, by definition of a congruence, any congruence on M
that contains ~ must contain ~′, so we have ~=~′.
12.1.2 Free monoids and monoid presentations
DEFINITION 12.7 A monoid F is free on the subset X of F if, for any
monoid M and any map :X→M, there exists a unique monoid
homomorphism ′:F→M with ′(x)=(x) for all x∈X.
The proof of the following result is identical to that of the equivalent result
for free groups, Proposition 2.47.
PROPOSITION 12.8 (i) Two free monoids on the same set X are isomorphic.
(ii) Free monoids on X1 and X2 are isomorphic if and only if |X1|=|X2|.
Existence is much easier to prove than is the case for free groups. Recall
from Definition 2.48 that, for any set X, X* is defined to be the set of all
strings or words over X. It is obvious that X* forms a monoid with identity
element εX under the operation of concatenation of strings.
PROPOSITION 12.9 For any set X, the monoid X* is free on X.
PROOF For a monoid M and a map :X → M, the unique monoid
homomorphism X*→M that restricts to on X is the map sending x1…xr to
(x1)…(xr).
We can now define a monoid presentation.
DEFINITION 12.10 Let X be a set, and let be a subset of X*×X*. Then
is defined to be the quotient monoid X*/σ, where σ is the
congruence on X* generated by . This is also called the monoid with
generating set X and defining relations .
The elements of are called the defining relations of the presentation. A
relation (u,v)∈ is usually written as u=v. A monoid M is said to be finitely
presented (or sometimes, more accurately, finitely presentable) if M is
isomorphic to
with X and both finite. In specific examples,
if X={x1,…, xn} and ={(u1, v1),…, (um, vm)}, then we shall often write
rather than
.
© 2005 by Chapman & Hall/CRC Press
416
Handbook of Computational Group Theory
For a set X, let A:=XʜX-1 as in Subsection 2.4.1. Let
be the subset
of A*×A*, and let ~x be the congruence generated
by
. Then the reader can check that the free group F(X) defined in
Subsection 2.4.1 is equal to the quotient monoid
.
We have the following analogue of Theorem 2.52.
THEOREM 12.11 Let X be a set, let
be a subset of X*×X*, let M be a
monoid, and let :X→M be a map with the property that, for all (u, v)∈ ,
we have (x1)…(xr)=(y1)…(ys), where u=x1…xr, v= y1…ys, and xi,yj∈X.
Then there exists a unique monoid homomorphism
for which ′([x])=(x) for all x∈X, where [x] represents the equivalence class
of x in
.
PROOF If ′ is to be a homomorphism, then it must satisfy ([u])=
(x1)…(xr) for all u=x1…xr∈X*, and so we have uniqueness.
By definition of a free monoid and Proposition 12.9, there exists a
homomorphism ′′:X*→M with ′′(x)=(x) for all x∈X. The assumption on
says precisely that each element of is in the kernel of ′′, and so ker(′′)
is a congruence on X* that contains . Hence it also contains the congruence
~ on X* generated by , and so ′′(u)=′′(v) whenever u~v. But this says
precisely that the map
defined by
′[(u)]=(x1)…(xr) for all u=x1…xr∈X* is well-defined, and it is clearly a
monoid homomorphism satisfying ′([x])=(x) for all x∈X.
Example 12.1
Let
generated by
r≥2, and that
consists of
. The reader can verify that the congruence
for all r, s∈ with
.
As we did for groups, we shall generally denote an element [w] in a
finitely presented monoid simply by w, and use v=M w to mean [v]=[w]. The
following theorem shows that, as an alternative to Definition 2.4, we could
define a group presentation as a special case of a monoid presentation.
THEOREM 12.12 Let X be a set, let A:=XʜX-1, and let
A*×A*. Then the group defined by the presentation
monoid defined by the presentation
.
be a subset of
is equal to the
PROOF The elements of
and of
are equivalence
classes of A* under congruences ~1 and ~2, respectively, and we have to show
that ~1=~2. Let R be the set of words uv-1 corresponding to elements (u, v)∈
© 2005 by Chapman & Hall/CRC Press
Rewriting Systems and the Knuth-Bendix Completion Process
417
and let
with F the free group on X. Then, by definition, for w1,
w2∈A*, we have w1 ~1 w2 if and only if w1N=w2N. This is certainly the case
if
and, since ~2 is the congruence generated by
, it
follows that w1 ~2 w2 implies w1 ~1 w2. Conversely, since N is generated as a
subgroup of F by the elements g-1uv-1g with (u, v)∈ , w1 ~1 w2 implies that
w1=F w2w, where w is a product of some of these generators of N and their
inverses. Since
, this implies w1 ~2 w2w. But if (u, v)∈ , then u ~2 v
and hence uv-1 ~2 ε and
. Since ~2 is a congruence, we have
w2w ~2 w2 and hence w1 ~2 w2.
Exercises
1. Prove that, if the finitely generated monoid M is generated by X, then
X has a finite subset that generates M.
2. Find an example of monoids M, N and a submonoid of M that can occur
as
for more than one monoid homomorphism
f:M→N.
3. Complete the details of the proof that the intersection of the congruences
on M containing a given subset X of M×M is itself a congruence on M
that contains X.
4. Let M be a group, let be a subset of M×M, and let ~ be the congruence
generated by . Show that x~y if and only if xy-1 is in the normal closure
in M of the set
.
5. Prove directly from the definition that, if a monoid M is free on X, then X
generates M.
6. Prove that any monoid that is generated by a single element is defined
by a presentation with a single defining relation.
12.2 Rewriting systems
We turn now to the theory of rewriting systems over a fixed finite alphabet.
There is a large body of literature on this topic, which has applications to
all branches of algebra. For a historical account, with an extensive
bibliography, we refer the reader to the article by Buchberger [Buc87]. One
of the earliest papers describing the use of critical pairs and the completion
process in a very general setting is that of Knuth and Bendix [KB70], after
whom this process is usually named. Applications to group theory are
described in the two papers of Gilman: [Gil79] and [Gil84]. There is also an
extensive treatment of this topic, with details of algorithms and their
implementation in [Sim94],
© 2005 by Chapman & Hall/CRC Press
418
Handbook of Computational Group Theory
We let A be a finite set, known as the alphabet, and let A* be the free
monoid of strings over A. A rewriting system on A* is a set of ordered
pairs (w1, w2), with w1, w2∈A*. The elements of are called rewrite-rules,
and w1 and w2 are called, respectively, the left- and right-hand sides of the
rule. The idea is that we can replace occurrences of w1 in a string by w2. We
shall assume throughout that no two distinct rules have the same lefthand sides.
For u, v∈A*, we write u→S v if there exist strings x, y, w1, w2∈A* such
that u=xw1y, v=xw2y and (w1, w2)∈ ; in other words, if v is obtained from u
by making a single substitution using a rewrite-rule. We shall omit the
subscript when there is no danger of ambiguity.
DEFINITION 12.13 A string u∈A* is said to be ( -)irreducible or ( -)reduced
if there is no string v∈A* with u→v.
We denote the reflexive, transitive closure of → by →*. Hence u→*v if and
only if, for some n≥0, there exist u=u0, u1,…, un=v∈A* with ui→ui+1 for
0≤i
only if, for some n≥0, there exist u=u0, u1,…, un=v with
(†)
The system is called Noetherian (or terminating) if there is no infinite
chain of strings ui(i>0) with ui→ui+1 for all i. This implies that for any u∈A*
there exists an irreducible v∈A* with u→*v.
We call confluent if, whenever u, v1, v2∈A* with u→*v1 and u→*v2,
there exists w∈A* with vi→*w and v2→*w, and we call complete if it is
Noetherian and confluent.
It is called locally confluent if whenever u, v1, v2∈A* with u→v1 and
u→v2, there exists w∈A* with v1→*w and v2→*w.
The following sequence of lemmas demonstrates that completeness is a
highly desirable property for rewriting-systems to possess. For u∈A*, we
define the set desc(u) of descendants of u to be
. So
u is irreducible if and only if desc(u) is empty.
LEMMA 12.14 Suppose that
u∈A*.
is Noetherian. Then desc(u) is finite for all
PROOF Suppose that desc(u) is infinite. Since no two rules in have the
same left-hand side, there are only finitely many w with u→w. Thus there
exists u2∈A* with u→u2 and desc(u2) infinite. Similarly, there exists u3 with
© 2005 by Chapman & Hall/CRC Press
Rewriting Systems and the Knuth-Bendix Completion Process
419
u2→u3 and desc(u3) infinite, and we get an infinite chain {ui} with ui→ui+1,
contradicting the assumption that is Noetherian.
LEMMA 12.15 Suppose that
is complete.
is Noetherian and locally confluent. Then
PROOF We shall prove that, under the given hypotheses, for all u∈A*
there is a unique irreducible w with u→*w. The result clearly follows
from this. The proof is by induction on |desc(u)|, the result being clear
for |desc(u)|=0. Suppose that u=u 0→u 1→ … → um and
, with um and , irreducible. By local confluence, there exists v
with u1→*v and
. Let v→*w with w irreducible. Since
, it follows by inductive hypothesis that,
which completes the proof.
LEMMA 12.16 If is Noetherian and locally confluent, then each equivalence
class under * contains a unique -irreducible element.
PROOF Let u and v be irreducible strings with u *v. Then there exist
u=u0, u1,…, un=v∈A* satisfying the equation (†) above. We have to prove
that u=v. This is clear if n=0, so we use induction on n. By Lemma 12.15
is confluent, so there exists w∈A* with u→*w and u2→*w. Since u is
irreducible, we must have u=w, and so we can replace u2 by u in the diagram,
and the result follows by induction.
The systems that we shall be considering will all be Noetherian, but they
will not always be confluent. The following lemma provides a method of
checking confluence (and hence completeness) constructively, at least when
is finite.
LEMMA 12.17 The system is locally confluent if and only if the following
conditions are satisfied for all pairs of rules (u1, t1), (u2, t2)∈ .
(i) If u1=rs and u2=st with r, s, t∈A* and s ε, then there exists w∈A* with
t1t→*w and rt2→*w.
(ii) If u1=rst and u2=s with r, s, t∈A* and s ε, then there exists w∈A* with
t1→*w and rt2t→*w.
PROOF First assume that is locally confluent. Then in both cases,
the existence of w follows by applying the definition of local confluence
to the string rst. Conversely, assume that the conditions (i) and (ii) are
valid, and let u be a string with u→v1 and u→v2. Then u must have two
substrings u1 and u2 such that there exist rules (u1, t1), (u2, t2)∈ that are
© 2005 by Chapman & Hall/CRC Press
420
Handbook of Computational Group Theory
used in the reductions to v1 and and v2. If u1 and u2 do not overlap in u,
then we have u=ru1su2t for some strings r, s, t and v1=rt1su2t, v2=ru1st2t.
Thus v1→w and v2→w, with w=rt1st2t. Otherwise, u1 and u2 overlap in ,
and (after interchanging the rules if necessary) we must have one of the
two situations postulated in conditions (i) and (ii) of the lemma. It then
follows by assumption that there exists w∈A* with v1→*w and v2→*w, so
is locally confluent.
A pair of rules satisfying either of the two conditions of the lemma is called
a critical pair. If one of these conditions fail (so is not confluent), we end
up with two distinct irreducible strings w1 and w2 that are irreducible and
equivalent under *. We can resolve this instance of incompleteness by
adjoining either (w1, w2) or (w2, w1) to as a new rule. We can then continue
with the check for local confluence.
We shall assume from now on that is finite unless explicitly stated
otherwise.
The procedure of examining critical pairs and adjoining new rules to if
necessary is known as the Knuth-Bendix completion process. It may happen
that this process eventually terminates with a finite complete set , which
is what we would like. In many cases, however, the process does not
complete, but it does, in principal, generate an infinite complete set of
rules. In a few examples, as we shall see, such an infinite set can have a
very transparent structure, which can make it almost as useful as a finite
complete set.
In general, it can be difficult to decide which of (w1, w2) or (w2, w1) to adjoin
to in order to resolve a critical pair. In the applications that we shall be
considering, we resolve this problem by imposing a well-ordering ≤ on A*
that has the property that u≤v implies uw≤vw and wu≤wv for all w∈A*.
Such an ordering is known as a reduction ordering. Then we make the
larger of w1 and w2 the left-hand side of the new rule.
The assumption on the ordering ensures that u→*v implies u≥v and,
since it is a well-ordering, will necessarily be Noetherian. Thus, if is
complete, then the irreducible elements correspond to the least representatives
in the * equivalence classes.
One of the most commonly used examples of a reduction ordering is a
shortlex ordering, as defined in Definition 2.60. For example, if A={a, b, c}
and (just to be awkward) we decide to order A by b
strings in the associated shortlex order are
From now on, we shall assume that the rules are ordered according to some
such well-ordering, although not necessarily a shortlex ordering. (A completely
different well-ordering, appropriate for polycyclic groups, will be considered
in Section 12.4.)
© 2005 by Chapman & Hall/CRC Press