Since this thesis will deal with many computational issues, it may be helpful to make precise some computational terms. We start with a definition of “algorithm”, a term which is generally well understood, but whose precise definition is debatable. In this thesis, we opt for a definition in line with the Church–Turing thesis, which has been favoured by a variety of authors since it was established [Min67, Gur00].
The Church–Turing thesis evolved from work by G¨odel, Church and Turing in the 1930s, in which they established three different models of computation: general recursive functions
[G¨od31], λ-calculus [Chu36], and Turing machines [Tur37]. These three models were soon shown to be equivalent, with any method computable on one being computable on both the others. This led to the Church–Turing thesis: the opinion that the informal notion of an algorithm is accurately characterised by each of these three models, and therefore that they should be used as a definition of “algorithm”. This gives rise to our chosen definition.
Definition 1.85. An algorithm is a computational method which can be simulated by a Turing machine.
A Turing machine is a conceptual machine based on a finite state automaton which interacts with an infinite tape. There are several different formulations of a Turing machine, all of which are equivalent in terms of the set of computational methods that they can run. Though this definition is not central to this thesis, we present one such formulation here for completeness.
Definition 1.86. ATuring machine is a tuple (Q,Σ, q0, δ, H) where
• Qis a set, called the set of states;
• q0∈Qis a state known as theinitial state;
• δ:Q×Σ→Q×Σ× {L,R}is a function known as thetransition function, which uses the current state and a character from the tape to process a step in the computation;
• H⊆Qis a subset of states known as thehalting states.
This machine is paired with a conceptual infinitetape – a sequence of characters from Σ which continues infinitely in both directions. This tape is provided as an input to the algorithm. The machine starts in stateq0 with its read/write head pointed to a given position on the tape. On
each step of computation, it starts in a state q, reads a symbolσ from the read/write head’s position on the tape, and uses (q, σ)δ to produce a triple (q0, σ0, d) from Q×Σ× {L,R}: it then changes state from q to q0, replaces the character σon the tape with σ0, and moves the read/write head one character to the left or right according tod. This process is repeated until the machine enters a state in H, at which time it halts, having completed its operation. The program’s output is the resulting tape.
This definition encompasses every computation which can be run on today’s electronic com- puters, and is therefore certainly applicable to any practical implementation of the algorithms described in this thesis.
Now that we have a definition of an algorithm, we can define decidability. Decidability is not a core topic of this thesis, but it will be worth going into at least some detail, particularly around ideas related to semigroup presentations. A deeper discussion of decidability can be found in, for example, [End01].
Definition 1.87. A class of problems isdecidable if there exists a single algorithm which is guaranteed to return a correct answer to any instance of one of those problems in a finite amount of time.
Note that although an algorithm may be guaranteed to complete in finite time, the length of time might be unbounded; that is, an actual run of the algorithm, though guraranteed to complete, might take an arbitrarily long time.
Decidability is always something that should be considered when designing an algorithm that may act on infinite objects. In this thesis, particularly in Chapter 2, we encounter semigroup presentations, which have an interesting decidability feature.
Definition 1.88. LethX|Ribe a semigroup presentation. Theword problemforhX|Ri
is the following question: given two wordsu, v∈X+, douandvrepresent the same semigroup element?
For many individual semigroup presentations, the word problem is decidable. For example, consider the following presentation.
Example 1.89. LetS be defined by the presentation
ha, b|ab=bai.
The word problem for this presentation is decidable: two words represent the same element of S if and only if they contain the same number of occurrences of a and the same number of occurrences ofb.
In Example 1.89, there is an algorithm to answer the word problem; hence, we say that
ha, b|ab=baihas decidable word problem. However, we have not shown the word problem in general to be decidable, since our algorithm does not apply to every semigroup presentation, only to the one considered in the example. It turns out that there is no single algorithm which can be applied to every presentation to solve its word problem. In fact, we can make a stronger statement: there are some presentations for which there is not even a specific algorithm to solve the word problem. Consider the following example from Makanin, which has only three generators.
Example 1.90(Makanin, 1966). The presentation
ha, b, c|c2b2=b2c2, bc3b2=cb3c2, ac2b2=b2a, abc3b2=cb2a, b2c2b4c2=b2c2b4c2ai
has undecidable word problem [Mak66].
Furthermore, consider the following example from Cijtin, perhaps the simplest undecidable presentation, with 5 generators but only 33 occurrences of those generators in its relations.
Example 1.91(Cijtin, 1957). The presentation
ha, b, c, d, e|ac=ca, ad=da, bc=cb, bd=db, ce=eca, de=edb, c2e=c2aei
has undecidable word problem [Cij57, C+86].
These two examples show that even relatively simple presentations can give rise to semi- groups with undecidable word problem. Hence, no algorithm we give for solving the word problem can be guaranteed to finish in finite time. Furthermore, since words can be arbitrarily long, and presentations can have an arbitrarily large set of relations, solving the word problem can take an unbounded finite length of time even if it is decidable. This means that it may be impossible to tell whether an algorithm for the word problem will complete or not, since it is not clear in advance whether a given semigroup has decidable word problem. At a given stage while such an algorithm is running, it may be that an answer is about to be returned, but it may instead be that it will run forever, and it may be impossible to tell the difference between those two possibilities.
Aside from the word problem, there are a great many other properties of finite presentations which are undecidable in general. For example, there is no algorithm which can take an arbitrary finite presentation and decide whether the semigroup it describes:
• is finite;
• has an identity;
• has a zero;
• has idempotents;
• has a nontrivial subgroup;
• is an inverse semigroup;
• is regular; or
• is simple.
References for these facts, and a survey of many other decidability problems for finitely presented semigroups, can be found in [CM09].