Computation in word-hyperbolic groups

David B. A. Epstein and Derek F. Holt

1 Introduction

The purpose of this paper is to describe two algorithms for computing with word-hyperbolic groups. Both of them have been implemented in the second author’s package KBMAG [Holt, 1995].

The first is a method of verifying that a group defined by a given finite presentation is word-hyperbolic, using a criterion proved by Papasoglu in [Papasoglu, 1994], which states that all geodesic triangles in the Cayley graph of a group are thin if and only if all geodesic bigons are thin. This is very similar to an algorithm described in [Wakefield, 1997], but it contains a simplification which appears to improve the performance substantially. It also improves a less developed approach to the problem described in [Holt, 1996].

The second algorithm provides a method of estimating the constant of hyperbolicity of the group with respect to the given generating set. We do not know of any previously proposed general method for solving this problem that has any prospect of being practical. Our current implementation is experimental, and is very heavy on its use of memory for all but the most straightforward examples, but it does at least succeed on examples like the Von-Dyck triangle groups and the two-dimensional surface groups.

Both of them follow a general philosophy of group-theoretical algorithms that construct finite state automata. This approach was originally proposed in the algorithms described in Chapter 5 of [Epstein et al., 1992] for computing automatic structures, and employed in their implementations for short-lex structures described in [Holt, 1996]. The basic idea is first to find a method of constructing likely candidates for the required automata, which we shall call the working automata, The second step is to construct other (usually larger and more complicated) test automata of which the sole purpose is to verify the correctness of the working automata. In the case when this verification fails, it should be possible to use words in the language of the test automata to construct improved versions of the working automata. One practical difficulty with this approach is that experience shows that incorrect working automata and the resulting test automata are much larger than the correct ones, so it can be extremely important to find good candidates on the first pass.

The two algorithms dealt with in this paper are described in Sections 3 and 4. Some details of their performance on some examples are presented in Section 5. Unfortunately, we need to recall quite a lot of notation from related earlier works, and we do this in Section 2.

There are a number of computational problems in which it is useful to know hyperbolic constants which are either the same as those in this paper, or are closely related to them. Some examples of such problems follow.

In another paper we will describe a linear algorithm to put a word in a word-hyperbolic group into short-lex normal form. The linear estimate is due to Mike Shapiro (unpublished). Our method, which is a bit different, may be usable in practice, though the ideas have not yet been implemented. The standard algorithm for converting a word into normal form in an automatic group is quadratic, as shown in [Epstein et al., 1992].

We also plan to show how to construct the automata which accept 1) all bi-infinite geodesics, 2) all pairs of asymptotic geodesics and 3) all pairs of biinfinite geodesics which are within a finite Hausdorff distance of each other. Such algorithms are necessary if one is to have any hope of a constructive description of the limit space of a word-hyperbolic group, starting with generators and relations of the group. Some of these automata are also needed in Epstein’s n log(n) solution of the conjugacy problem (not yet published).

2 Notation

Throughout the paper, G will denote a group with a given finite generating set X. The identity element of G will be denoted by 1_{G}. Let A = X ∪ X^{−1}, and let A∗ be the set of all words in A. For u, v ∈ A∗, we denote the image of u in G by \overline{u}, and u =_{G} v will mean the same as \overline{u} = \overline{v}. For a word u ∈ A∗, l(u) will denote the length of u and u(i) will denote the prefix of u of length i, with u(i) = u for i ≥ l(u).

Let Γ = Γ_{X}(G) be the Cayley graph of G with respect to X. We make Γ into a metric space in the standard manner, by letting all edges have unit length, and defining the distance ∂(x, y) between any two points of Γ to be the minimum length of paths connecting them. (The points of Γ include both the vertices, and points on the edges of Γ.) This makes Γ into a geodesic space, which means that for any x, y ∈ Γ there exist geodesics (i.e. shortest paths) between x and y. For g ∈ G, l(g) will denote the length of a geodesic path from the base vertex 1_{G} of Γ to g.

A geodesic triangle in Γ consists of three not necessarily distinct points a, b, c together with three directed geodesic paths u, v, w joining bc, ca and ab, respectively. The vertices a, b, c of the triangle are not necessarily vertices of Γ; they might lie in the interior of an edge of Γ.

There are several equivalent definitions of word-hyperbolicity. The most convenient for us is the following. Let Δ be a geodesic triangle in Γ with vertices a, b, c and sides u, v, w as above. (Hence l(u) = ∂(b, c), etc.) Let ρ(a) = (l(v) + l(w) − l(u))/2 and define ρ(b), ρ(c) correspondingly. Then ρ(b) + ρ(c) = l(u), so any point d on u satisfies either ∂(d, b) ≤ ρ(b) or ∂(d, c) ≤ ρ(c), and similarly for v and w. The points d, e, f on u, v, w with ∂(d, b) = ρ(b) and ∂(d, c) = ρ(c), etc., are known as the meeting points of the triangle.

In a constant curvature geometry (the euclidean plane, the hyperbolic plane or the sphere), the meeting points of a triangle are the points where the inscribed circle meets the edges. In more general spaces, such as Cayley graphs, the term inscribed circle has no meaning, but the meeting points can still be defined.

Figure 1. This picture shows the meeting points as the intersection of the inscribed circle with the edges of the triangle in the case of constant curvature geometry.

Suppose a, b and c are vertices in the Cayley graph. Then the meeting points are also vertices if and only if the perimeter l(u) + l(v) + l(w) is even.

Let δ ∈ ℝ_{+}. Then we say that Δ is δ-thin if, for any r ∈ ℝ with 0 ≤ r ≤ ρ(x), the points p and q on v and w with ∂(p, a) = ∂(q, a) = r satisfy ∂(p, q) ≤ δ, and similarly for the points within distance ρ(b) of b and ρ(c) of c. We call such points p and q Δ-companions, or, if Δ is understood, just companions. Note that the definition makes sense even when the triangle Δ is not geodesic—we measure distances along the edges of the triangle. Normally companions are distinct, but there can be many situations where they coincide—for example two geodesics sides of a triangle could have an intersection consisting of a disjoint union of three intervals. Mostly points on the triangle have exactly one companion, but the meeting points normally have two companions—once again, in degenerate situations two or all three of the meeting points may coincide.

The group G is called word-hyperbolic if there exists a δ such that all geodesic triangles in Γ are δ-thin. (It turns out that this definition is independent of the generating set X of G, although the minimal value of δ does depend on X.) The multi-author article [Alonso et al, 1991] is a good reference for the basic properties of word-hyperbolic groups.

We also need to recall some terminology concerning finite state automata. This has been chosen to comply with that used in [Holt, 1996] as far as possible. The reader should consult [Epstein et al., 1992] for more details on the definitions and basic results relevant to the use of finite state automata in combinatorial group theory.

Let W be a finite state automaton with input alphabet A. We denote the set of states of W by S(W) and the set of initial and accepting states by I(W) and A(W) respectively. In a non-deterministic automaton there may be more than one transition with a given source and label, and some transitions, known as ε-transitions, may have no label. In a deterministic automaton, there are no ε-transitions, at most one transition with given source and label, and W has only one initial state. (This type of automaton is named partially deterministic in [Epstein et al., 1992].) In this case, we denote the unique initial state by σ_{0}(W) and, for each x ∈ A and σ ∈ S(W), we denote the target of a transition from σ with label x by σ^{x} if it exists. We can then define σ^{u}, for σ ∈ S(W) and u ∈ A∗, in the obvious way whenever all of the required transitions exist. The automata in this paper can be assumed to be deterministic unless otherwise stated.

The automata that we consider may be one-variable or two-variable. In the latter case, two words u and v in A∗ are read simultaneously, and at the same speed. This creates a technical problem if u and v do not have the same length. To get round this, we introduce an extra symbol $, which maps onto the identity element of G, and let A^{†} = A ∪ {$}. Then if (u, v) is an ordered pair of words in A, we adjoin a sequence of $’s to the end of the shorter of u and v if necessary, to make them both have the same length. The resulting pair will be denoted by (u, v)^{†}, and can be regarded as an element of (A^{†} × A^{†})∗. Such a pair has the property that the symbol $ occurs in at most one of u and v, and only at the end of that word, and it is known as a padded pair. We shall assume from now on, without further comment, that all of the two-variable automata that arise have input language A^{†} × A^{†} and accept only padded pairs.

Note that if M is a two-variable automaton, then we can form a nondeterministic automaton with language equal to {u | ∃v: (u, v)^{†} ∈ L(M)} simply by replacing the label (x, y) of each transition in M by x. (This results in an ε-transition in the case x = $.) We call this technique quantifying over the second variable of M.

Following [Holt, 1996], we call a two-variable automaton M a word-difference automaton for the group G, if there is a function α : S(M) → G such that

(i) α(σ_{0}(M)) = 1_{G}, and (ii) for all x, y ∈ A^{†} and τ ∈ S(M) such that τ^{(x,y)} is defined, we have

α(τ^{(x,y)}) = \overline{x}^{−1}α(τ)\overline{y}. We shall assume that all states τ in a word-difference automaton M are accessible; that is, there exist words u, v in A∗ such that σ_{0}(M)^{(u,v)^{†}} = τ. It follows from properties (i) and (ii) that α(τ) = \overline{u^{−1}v}, and so the map α is determined by the transitions of M.

Conversely, given a subset D of G containing 1_{G}, we can construct a worddifference automaton D with S(D) = D, σ_{0}(D) = 1_{G} and, for d, e ∈ D and x, y ∈ A^{†} a transition d → e with label (x, y) whenever x^{−1}dy =_{G} e. The map α is the identity map. We call this the word-difference automaton associated with D. (We have chosen not to specify the set A(D) of accepting states of D, because this may depend on the context.) Having constructed the automaton, we throw away the elements of D which are not accessible from the initial state σ_{0}(D).

If u, v ∈ A∗, then we call the set D = \{\overline{u(i)}^{−1}\overline{v(i)} | i ∈ ℤ, i ≥ 0\} the set of word-differences arising from (u, v). Then (u, v) is in the language of the associated word-difference machine D provided that \overline{u}^{−1}\overline{v} ∈ A(D).

The group G is said to be automatic (with respect to X), if it has an automatic structure. This consists of a collection of finite state automata. The first of these, denoted by W, is called the word-acceptor. It has input alphabet A, and accepts at least one word in A mapping onto each g ∈ G. The remaining automata M_{x}, are called the multipliers. There is one of these for each generator x ∈ A, and also one for x = 1_{G}. These are two-variable, and accept (w_{1}, w_{2})^{†} for w_{1}, w_{2} ∈ A∗, if and only if w_{1}, w_{2} ∈ L(W) and w_{1}x =_{G} w_{2}. See [Epstein et al., 1992] for an exposition of the basic properties of automatic groups. It is proved in Theorem 2.3.4 of that book that there is a natural construction of the multipliers M_{x} of an automatic structure as word-difference machines.

Now we fix a total order on the alphabet A. The automatic structure is called short-lex if the language L(W) of the word-acceptor consists of the short-lex least representatives of each element g ∈ G; that is the lexicographically least among the shortest words in A∗ that map onto g. The existence of such a structure for a given group G depends in general on the generating set X of G, but word-hyperbolic groups are known to be short-lex automatic for any choice of generators. (This is Theorem 3.4.5 of [Epstein et al., 1992].)

The group G is called strongly geodesically automatic with respect to X if there is an automatic structure in which L(W) is the set of all geodesic words from 1_{G} to g for g ∈ G. It is proved in Corollary 2.3 of [Papasoglu, 1994] that this is the case if and only if G is word-hyperbolic with respect to X (from which it follows that this property is independent of X). This result will be the basis of our test for verification of word-hyperbolicity in Section 3; the procedure that we describe will verify strong geodesic automaticity.

We shall assume throughout the paper that our group G = ⟨X⟩ is shortlex automatic with respect to X, and that we have already computed the corresponding short-lex automatic structure {W, M_{x} | x ∈ A ∪ {1_{G}}}. We assume also that the set D_{M} of all word-differences that arise in the multipliers M_{x} together with the associated word-difference machine D_{M} in which 1_{G} is the unique accepting state has been computed. These automata can be used to reduce (in quadratic time) words u ∈ A∗ to their short-lex equivalent word in G and so, in particular, we can solve the word problem efficiently in G. The above computations can all be carried out using the KBMAG package [Holt, 1995].

3 Verifying hyperbolicity

Papasoglu ([Papasoglu, 1994]) has shown that a necessary and sufficient condition for a group to be word-hyperbolic is as follows. Let Γ be the Cayley graph with respect to some set of generators. The condition is that there is a number c_{P}, such that, for any two geodesic paths u, v : [0, ℓ] → Γ parametrised by arclength, if u(0) = v(0) and u(ℓ) = v(ℓ), then, for all t satisfying 0 ≤ t ≤ ℓ, d_{Γ}(u(t), v(t)) ≤ c_{P}. The least possible value of c_{P} is called Papasoglu’s constant. Such a configuration of u and v is called a geodesic bigon. In order to know that all geodesic bigons have uniformly bounded width, there is no loss of generality in restricting to the case where u(0) = v(0) is a vertex of the Cayley graph. We can also restrict to the case where u(ℓ) = v(ℓ) is either a vertex of the Cayley graph or the midpoint of an edge. It is unknown whether the uniform thinness of such geodesic bigons follows from the uniform thinness of the more special geodesic bigons with both ends vertices.

Our algorithm not only verifies word-hyperbolicity for a given group, but also gives a precise computation of the smallest possible value of Papasoglu’s constant. In fact, it gives even more precise information, namely the set of word-differences \overline{u(i)}^{−1}\overline{v(i)}, where u and v vary over all geodesic bigons with u(0) = v(0) a vertex and i varies over all positive integers. In all the examples we have looked at, we have observed that the number of such group elements is very much smaller than the number of group elements of length at most c_{P}. This is important in practical computations.

The algorithm for verifying word-hyperbolicity proceeds by constructing sequences W D_{n}, GE_{n}, GW_{n}, T_{n}, for (n > 0), of finite state automata. (These letters stand respectively for ‘word-difference’, ‘geodesic-equality’, ‘geodesic word acceptor’ and ‘test’.) In general, for n > 0, WD_{n} will be a set of elements of G containing {1_{G}}, and W D_{n} will be the associated word-difference machine in which 1_{G} is the only accepting state.

We define WD_{1} to be the set D_{M} defined at the end of Section 2, and let W be the short-lex word-acceptor. Then, when n ≥ 1, we define GE_{n}, GW_{n} and T_{n} as follows. We define the language

L(GE_{n}) = {(u, v) ∈ A∗ × A∗ | (u, v) ∈ L(W D_{n}), v ∈ L(W), l(u) = l(v)}.

Recall that all elements of L(W) are geodesics and that the only accept state of W D_{n} is 1_{G}. It follows that in the previous definition, \overline{u} = \overline{v} and that u and v are both geodesics. Now we define the language

L(GW_{n}) = {u ∈ A∗ | ∃v ∈ A∗: (u, v) ∈ L(GE_{n})}.

Again, u ∈ L(GW_{n}) must be a geodesic.

Then we define the language

L(T_{n}) = {w ∈ A∗ \ L(GW_{n}) |
∃u: (w, u) ∈ L(W D_{n}), u ∈ L(GW_{n}), l(u) = l(w)}.

Again, u and w are both geodesics in the previous definition.

Figure 2. This illustrates the geodesic paths u, v and w described in Section 3.

If L(T_{n}) is empty for some n, then the procedure halts. Otherwise, we find a geodesic word w ∈ L(T_{n}), reduce it to its short-lex least representative v, and define WD_{n+1} to be the union of WD_{n} and the set of word-differences arising from (w, v). Then we can define the automaton W D_{n+1} and construct the other automata for the next value of n.

Theorem 3.1 The above procedure halts if and only if G is strongly geodesically automatic with respect to X.

Proof: First note that, if L(T_{n}) is non-empty for some n, and contains the word w reducing to v ∈ L(W), then the word-differences arising from (w, v) cannot all lie in WD_{n}. For otherwise we would have (w, v) ∈ L(W D_{n}), and hence (w, v) ∈ L(GE_{n}) and w ∈ L(GW_{n}). But w has been chosen so that it is not in L(GW_{n}). Hence WD_{n+1} strictly contains WD_{n}. Thus, if the procedure does not halt, then the number of word-differences arising from pairs of geodesics (u, v) with u =_{G} v cannot be finite, and so by Theorem 2.3.5 of [Epstein et al., 1992] G cannot be strongly geodesically automatic.

Conversely, suppose that the procedure does halt, and that L(T_{n}) is empty for some n ≥ 1. We claim that L(GW_{n}) is equal to the set of all geodesic words. If we can show this, then it would follow from the definition that L(GE_{n}) is equal to the set of pairs of geodesic words (u, v) such that v ∈ L(W) and u =_{G} v. But then, if u_{1}, u_{2} ∈ A∗ are geodesics with l(\overline{u_{1}}^{−1}\overline{u_{2}}) ≤ 1 and u_{1}, u_{2} reduce to v_{1}, v_{2} ∈ L(W), then (u_{1}, v_{1}), (u_{2}, v_{2}) ∈ L(W D_{n}) whereas (v_{1}, v_{2}) ∈ L(D_{M}). This would show that the word-differences arising from (u, v) have bounded length, and so G is strongly geodesically automatic by Theorem 2.3.5 of [Epstein et al., 1992]. Thus it suffices to establish the claim that L(GW_{n}) is equal to the set of all geodesic words.

Suppose that the claim is false, and let u be a minimal length geodesic word not contained in L(GW_{n}). Since L(GW_{n}) contains the empty word, u = wx for some word w and some x ∈ A. Then w is a geodesic word and l(w) = l(u) − 1. Suppose that w reduces to v ∈ L(W). Then w ∈ L(GW_{n}) and (w, v) ∈ L(GE_{n}). So (w, v) ∈ L(W D_{n}). Therefore (u, vx) = (wx, vx) ∈ L(W D_{n}).

If vx ∈ L(W), then by definition of GE_{n} we get (u, vx) ∈ L(GE_{n}), and so u ∈ L(GW_{n}), a contradiction. On the other hand, if vx ∉ L(W) and vx reduces to v′ ∈ L(W), then (v, v′) ∈ L(M_{x}). From the definition of W D_{1} we have (vx, v′) ∈ L(GE_{1}), which implies vx ∈ L(GW_{r}) for all r ≥ 1. But then u ∈ L(T_{n}), contrary to assumption. □

The above procedure is very similar to that described in [Wakefield, 1997]. The principal difference is that our definition of the test-machines T_{n} is rather simpler. Furthermore, in our implementation, we do not construct the nondeterministic automaton resulting from the quantification over the second variable in the definition of L(T_{n}). Instead, we construct the two-variable automaton with language

{(w, u) | (w, u) ∈ L(W D_{n}), u ∈ L(GW_{n}), l(u) = l(w)},

and check during the course of the construction whether there are any words w ∉ L(GW_{n}) that arise. If the construction completes and we find no such w, then L(T_{n}) is empty. Otherwise we abort after finding some fixed number of words (such as 500) w ∉ L(GW_{n}) and use all of these words with their short-lex reductions to generate new word-differences.

So the procedure stops if and only if G is word-hyperbolic. If it stops at the n-th stage, then WD_{n} is a finite set of word-differences which gives the best possible value of Papasoglu’s constant for the particular choice of generators. More precisely, the procedures described above find the set of all word-differences for all geodesic bigons in which both vertices are vertices of the Cayley graph, and in which at least one of the two sides is labelled by a short-lex minimal word. But by using standard composite operations on two-variable automata as defined in [Holt, 1996] for example, we can easily compute from this the word-differences for general geodesic bigons in which at least one of the vertices is a vertex of the Cayley graph, and indeed this can be done in our implementation. Moreover, we have constructed an automaton whose language is the set of all geodesics in the Cayley graph that start and end at vertices of the Cayley graph.

4 Finding the constant of hyperbolicity

Throughout this section, we assume that G = ⟨X⟩ is a word-hyperbolic group and that δ > 0 is a constant such that all geodesic triangles in Γ_{X}(G) are δ-thin. The aim is to devise a practical algorithm to find such a δ, which should of course be as small as possible. As before, we assume that we have already calculated the short-lex automatic structure for G with respect to X.

4.1 The reverse of a finite state automaton

Our procedure makes use of reversed automata, and so we start with a brief discussion of this topic.

If w ∈ A∗ is a word, then we denote the reversed word by w^{R}. Let M be a finite state automaton with alphabet A. We want to form the reversed automaton M^{R} with language {w^{R} | w ∈ L(M)}. We can define a non-deterministic version NM^{R} of M^{R}, simply by reversing the arrows of all transitions, and interchanging the sets of initial and accepting states. Then we can build a deterministic machine M^{R} with the same language in the standard way, by replacing the set Σ = S(NM^{R}) of states of NM^{R} with its power set P(Σ), and, for T, Υ ∈ P(S), defining a transition in M^{R} with a label x from T to Υ, if Υ is the set of all states υ of M from which there exists an arrow labelled x in M with target some τ ∈ T. If we think of x as a partial map p_{x} from S(M) to itself, then the existence of an arrow in M^{R} from T to Υ is equivalent to saying that Υ is the full inverse image of T in S(M) under p_{x}.

The initial state of M^{R} is the set of all accepting states of M and a state of M^{R} is accepting whenever it contains an initial state of M.

In practice, we do not need to use the complete power set P(Σ). We start with the set of accepting states of M as initial state of M^{R}, and then construct the accessible states and transitions of M^{R} as the orbit of the initial state under the action of A∗.

Let σ_{0}(M) and σ_{0}(M^{R}) be the initial states of M and M^{R} respectively. Suppose that v, w ∈ A∗, σ_{0}(M)^{v} = τ, and σ_{0}(M^{R})^{w} = T ⊆ P(Σ). Then, from the construction above, we see that τ ∈ T if and only if vw^{R} ∈ L(M). We shall need this property below, and when we compute the reverse of an automaton we need to remember the subsets of Σ that define the states of M^{R}. (This means that we cannot minimise M^{R}, but in practice this does not appear to be a problem because, at least for word-acceptors of automatic group, M^{R} does not seem to have many more states than M.)

4.2 Reduction to short-lex geodesic triangles

The reader should now recall the notation for δ-thin hyperbolic triangles with vertices a, b, c and edges u, v, w in the Cayley graph Γ = Γ_{X}(G) defined in Section 2. We shall call a geodesic triangle in Γ short-lex geodesic, if its

Figure 3. A triangle with short-lex sides, annotated as in the text.

vertices are vertices of Γ and if the words A∗ corresponding to the edges of the triangle (which we shall also denote by u, v, w) all lie in L(W); that is, they are all short-lex minimal words.

It is important to work with short-lex triangles, because in general there are far more geodesic triangles and consideration of all of these is likely to make an already difficult computational problem impossible.

Our algorithms are designed to compute the minimal δ ∈ ℕ such that all short-lex geodesic triangles are δ-thin. In fact they do considerably more than this, because they compute the set of word-differences that arise from the word-pairs (u, v), where u and v are the words from the two sides of such a triangle that go from a vertex of the triangle as far as the meeting points on the two sides.

From the following proposition, we derive a bound on the value of the thinness constant of hyperbolicity for arbitrary geodesic triangles. As before, let D_{M} be the set of word-differences associated with the multiplier automata M_{x} in the short-lex automatic structure of G, and let γ be the length of the longest element in D_{M}. Let γ′ be the length of the longest element in the final stable set WD_{n} of word-differences defined in Section 3. Although the bound in the next proposition will in general be too large, the fact that γ and γ′ are usually smaller than δ means that it is likely only to be wrong by a small constant factor.

Proposition 4.1 Suppose that all short-lex geodesic triangles in Γ are δ-thin. Then all geodesic triangles in Γ are (δ + 2(γ + γ′) + 3)-thin.

Proof: Let Δ be any geodesic triangle in Γ. We fix a direction around the triangle which we call clockwise. We define a new triangle Δ′, which is equal to Δ except that its vertices are (if necessary) moved clockwise around Δ to the nearest vertex of Γ. Thus each vertex is moved through a distance less than one 1, and it follows easily that the meeting points of the triangle move through a distance less than 2. It is not difficult to see that if p and q are Δ-companions (see Section 2 for definition), then there exist Δ′-companions p′ and q′ with ∂(p, p′) + ∂(q, q′) < 2. (A careful argument is needed if p and q are near meeting points.) It follows that, if Δ′ is δ′-thin for some δ′, then Δ is (δ′ + 2)-thin.

Let a, b, c be the vertices of Δ′ in clockwise order. Let a′ be the vertex on the union of the three sides of Δ′, adjacent to a in an anticlockwise direction, and similarly for b′ and c′. (So the vertices of Δ lie on the edges (a′, a), (b′, b) and (c′, c).) We will assume that the six vertices {a, a′, b, b′, c, c} are distinct, and leave to the reader the minor modifications needed for the cases where two or more of them coincide.

Let u, v and w be the paths from b to c, c to a and a to b, respectively, defining short-lex reduced words u, v and w in L(W), and let Δ′′ be the resulting short-lex geodesic triangle with vertices a, b and c. The triangle Δ′ is not necessarily geodesic, but the paths u′, v′, w′ on Δ′ from b to c′, c to a′ and a to b′, respectively, are geodesic, because they are subpaths of the sides of Δ.

Let u′′, v′′ and w′′ be the paths from b to c′, c to a′ and a to b′, respectively, defining short-lex reduced words in L(W). The situation is illustrated in Figure 4.

Then u and u′′ are words in L(W) that have the same starting point in Γ and end a distance one apart. So the word-differences arising from (u, u′′) lie Figure 4. This diagram illustrate the situation described in the proof of Proposition 4.1. in D_{M}. Since the paths u′ and u′′ have the same starting and end points, u′ is a geodesic and u′′ ∈ L(W), the word-differences arising from (u′, u′′) lie in WD_{n}. It follows that the word-differences arising from (u, u′) have length at most γ + γ′, and similarly for (v, v′) and (w, w′).

Figure 5. These illustrates the origin of δ + 2(γ + γ′) + 1 in the expression bounding ∂(p′, q′). In the diagram on the left, l(ca) = l(ca′) + 1, and in the diagram on the right, l(ca) = l(ca′). The shapes of the curves are due to the fact that we are sometimes looking at points which are equidistant from a and sometimes at points which are equidistant from c. Interested readers are left to work out the details for themselves.

The triangles Δ′ and Δ′′ have the same vertices a, b and c. Each side of Δ′ is at least as long as the corresponding side of Δ′′, but no more than one unit longer—this can be deduced from the fact that the sides of the original triangle Δ are geodesic. It follows that the distance from a vertex of Δ′ to its two adjacent Δ′-meeting points is within one unit of its distance to its two adjacent Δ′′-meeting points. We then see that, if all pairs p, q of Δ′′- companions satisfy ∂(p, q) ≤ δ, then all pairs p′, q′ of Δ′-companions satisfy ∂(p′, q′) ≤ δ + 2(γ + γ′) + 1. The result now follows.

Part of the argument is illustrated in Figure 5 □

4.3 The automata F RD and F RD^{3}

In this section, we describe a finite state automaton which we shall call F RD, which stands for ‘forward, reverse, difference’. Roughly speaking, it is a twovariable machine which reads the two sides emerging from a vertex of a shortlex geodesic triangle as far as the meeting points on those two sides. We also describe an associated automaton F RD^{3} which consists of three copies of F RD. The three pairs of words read by F RD^{3} will be accepted when they are the three pairs of edges emerging from the three vertices of some short-lex geodesic triangle, ending and meeting at the meeting points of the triangle.

Figure 6. This diagram shows the meeting vertices, denoted by d, e and f. Companions have been joined by a line. The diagram on the left shows the situation where the perimeter of the triangle is even and the diagram on the right where the perimeter is odd.

When the perimeter l(u) + l(v) + l(w) of a short-lex geodesic triangle is even, the meeting points d, e, f are vertices of Γ which lie on u = bc, v = ca and w = ab respectively. When the perimeter is odd, however, each meeting point lies in the middle of an edge of Γ, which is not convenient for us. We therefore move them to a neighbouring vertex and re-define d, e, f to be the points on u, v, w at distance ρ(b) + 1/2, ρ(c) + 1/2 and ρ(a) + 1/2 from b, c and a, respectively, and call d, e, f the meeting vertices. Each of the three vertices of the triangle has two incident sides, one in the clockwise direction and the other in the anti-clockwise direction, starting from the vertex. In these terms, if we start at a vertex of the triangle and move away from this vertex along the two sides of the triangle emerging from it, one edge at a time, then we have to move one extra edge along the clockwise side than the anti-clockwise side to reach the meeting vertices on the two sides.

Let W be the word acceptor for the short-lex automatic structure of G. We assume that the reverse W^{R} of W has been computed, as described in 4.1. For a short-lex geodesic triangle with meeting vertices d, e and f defined as above, we denote the elements of G corresponding to paths from f to e, d to f, and e to d, by r, s and t, respectively. This is illustrated in Figure 6.

Let D_{1} be the set of elements r of G that arise by considering all such triangles. (By symmetry, this set includes all of the elements s and t as well.) Let D_{2} denote the set of all elements of G of the form

\{\overline{w(i)}^{−1}\overline{v^{R}(i)} | i ∈ ℤ, 0 ≤ i ≤ ρ(a)\},

for all triangles under consideration; that is, the set of word-differences arising from reading the two edges of the triangle from a up to the meeting points. (For triangles with even perimeter, the elements r, s, t lie in both D_{1} and D_{2}.)

Let D_{T} = D_{1} ∪ D_{2}. Then our assumption that geodesic triangles are δ-thin implies that D_{T} is finite, and that its elements have length at most δ + 1.

The automaton F RD is defined as follows. Its states are triples (σ, Σ, g) with σ ∈ S(W), Σ ∈ S(W^{R}) and g ∈ D_{T}. (This explains the name F RD.) For x ∈ A and y ∈ A^{†}, a transition is defined with label (x, y) from (σ, Σ, g) to (σ′, Σ′, g′) if and only if σ^{x} = σ′, Σ^{y} = Σ′ and x^{−1}gy =_{G} g′. (We allow y but not x to be the padding symbol because, in the case of triangles with odd perimeter, we need to read one extra generator from the left hand edge than the right hand edge to get to the meeting vertex. We define Σ^{$} = Σ for all Σ.) The initial state is (σ_{0}(W), σ_{0}(W^{R}), 1_{G}). The accepting states of F RD are those with the third component g ∈ D_{1}.

The above description is not quite correct. In fact, each state has a fourth component which is either 0 or 1, and is 1 only when a pair (x, $) has been read. There are no transitions from such states. This fourth component ensures that only a single $ at the end of the word y can occur.

We also need to consider an automaton F RD^{3}, which consists of the product of three independent copies F RD_{a}, F RD_{b} and F RD_{c} of F RD. Its input consists of sextuples of words (u_{a}, v_{a}, u_{b}, v_{b}, u_{c}, v_{c}) ∈ (A∗)^{6}, where (u_{a}, v_{a}), (u_{b}, v_{b}) and (u_{c}, v_{c}) are input to the three copies of F RD. A state of F RD^{3} consists of a triple (τ_{a}, τ_{b}, τ_{c}), where τ_{a} = (σ_{a}, Σ_{a}, g_{a}) is a state of F RD_{a}, etc. The initial state of F RD^{3} is the triple consisting of the initial states of the three copies.

To specify the set A(F RD^{3}) of accepting states, we recall that a state Σ of W^{R} is a subset of the set S(W) of states of W. We have (τ_{a}, τ_{b}, τ_{c}) ∈ A(F RD^{3}) if and only if σ_{a} ∈ Σ_{b}, σ_{b} ∈ Σ_{c}, σ_{c} ∈ Σ_{a}, and g_{c}g_{b}g_{a} = 1_{G}.

The proof of the following lemma should now be clear.

Lemma 4.2 The triple (u_{a}, v_{a}, u_{b}, v_{b}, u_{c}, v_{c}) is accepted by F RD^{3} if and only if u_{b}v_{c}^{R}, u_{c}v_{a}^{R} and u_{a}v_{b}^{R} all lie in L(W) and form the three sides of a short-lex geodesic triangle in Γ.

4.4 Proving correctness of F RD

If we can construct F RD, then we can compute the value of the hyperbolic thinness constant δ for short-lex geodesic triangles as the maximum of the lengths of the words in D_{T}. (Or more exactly, this number plus 1, because of our re-definition of the meeting points of the triangles.) Conversely, we have already computed W and W^{R}, so the construction of F RD only requires us to find the set D_{T}. The idea is to construct a candidate for F RD, and then to verify that it is correct.

In one of our short-lex geodesic triangles, two of the edge-words u, v can be chosen as arbitrary elements of L(W), and the third is then determined as the representative in L(W) of (\overline{uv})^{−1}. So we can proceed by choosing a large number of random pairs of words in u, v ∈ L(W) (for example we might choose 10000 such pairs of length up to 50), computing w as described, and then computing the set D_{T} of word-differences arising from all of these triangles. We do this several times until the set D_{T} appears to have stopped growing in size. (We are assuming that G is word-hyperbolic, so we know that the correct set D_{T} is finite.) We then proceed to the verification stage, which is computationally the most intensive.

The idea is to compute a two-variable finite state automaton GP (geodesic pairs) of which the language is the subset of A∗×A∗ defined by the expression

{(w_{1}, w_{2})^{†} ∈ A∗ × A∗ |
∃(u_{a}, v_{a}, u_{b}, v_{b}, u_{c}, v_{c}) ∈ L(F RD^{3}) : w_{1} = u_{a}v_{b}^{R}, w_{2} = v_{a}u_{c}^{R}}.

Then GP accepts the set of pairs of sides (w, v^{R}) emerging from the vertex a in the triangles that are accepted by the current version of F RD^{3}. (During the course of the program, F RD changes as more information is incorporated into it.) Thus F RD is correct if and only if L(GP) = L(W) × L(W^{R}). Since checking for equality of the languages of minimised deterministic automata is easy, we can perform this check provided that we can construct GP.

Furthermore, if the check fails then our definition of GP ensures that L(GP) ⊂ L(W) × L(W^{R}). So we can find one or more specific word pairs (w_{1}, w_{2}) ∈ L(W) × L(W^{R}) \ L(GP) and then compute the word-differences arising from the short-lex geodesic triangle having w_{1} and w_{2}^{R} as two of its sides. We can then adjoin these to D_{T} and return to the construction of F RD.

The construction of GP can be carried out in principle, but because of the large number of quantified variables involved in the above expression, a naive implementation would be hopelessly expensive in memory usage.

We now give a second and more detailed version of our implementation of this construction, in a way that makes the computation easier to carry out. It remains heavy in its memory usage, but it does at least work for easy examples. The basic objects collected during the course of the computation are the word-differences D_{T} referred to above, which are used in constructing F RD, and the triples (r, s, t) of small triangles in the Cayley graph whose vertices are the meeting vertices of some short-lex geodesic triangles. The situation is shown in Figure 6.

The general idea is to map out a short-lex geodesic triangle by advancing from one vertex, say a, using F RD. Then, at a certain moment, the machine ‘does the splits’, with a non-deterministic jump corresponding to one of the small (r, s, t)-triangles. To complete the triangle, the two legs have to be followed to the other vertices b and c, respectively, of the large triangle. Each of the legs follows the reverse of F RD.

Here is a third, even more explicit, version of the construction, which can be skipped by readers who are only interested in the conceptual description of the program. We assume that we have constructed a candidate for F RD explicitly. We do not construct F RD^{3} explicitly, but we do make a list of all triples (r, s, t) such that r, s, t ∈ S(F RD) and (r, s, t) ∈ A(F RD^{3}). Having done that, we can forget the structure of the states of F RD as triples, and simply manipulate them as integers.

We also need a version of an automaton F RD^{R} that accepts the reverse language of F RD. In this case it is convenient to work with a partially nondeterministic version—that is, it is deterministic except that there are many initial states, not just one. The states are subsets of S(F RD) as described in 4.1 and the transitions and accepting states are also as described there. But instead of having a unique initial state, for each accepting state τ of F RD we make the singleton subset {τ} into an initial state of F RD^{R}. Note also that if (u, v)^{†} ∈ L(F RD) with l(u) = l(v) + 1, then the reversed pair accepted by F RD^{R} is (u^{R}, $v^{R}); that is, the padding symbol comes at the beginning rather than the end. In general, let us denote the word-pair formed by inserting the padding symbol at the beginning by ^{†}(u, v).

We shall now describe a non-deterministic version NGP of GP (geodesic pairs). Subsequent to its construction, it can be determinised using the usual subset construction, minimised, and its language compared with L(W) × L(W)^{R}.

The precise description of NGP is rather technical, so we shall first attempt to explain its operation. A (padded) pair of words (w_{1}, w_{2})^{†} is to be accepted if and only it satisfies the expression above; that is, (w_{1}, w_{2}) = (u_{a}v_{b}^{R}, v_{a}u_{c}^{R}), where (u_{a}, v_{a})^{†} ∈ L(F RD), and there exist words u_{b}, v_{c} ∈ A∗ with (u_{b}, v_{b})^{†}, (u_{c}, v_{c})^{†} ∈ L(F RD) and (u_{a}, v_{a}, u_{b}, v_{b}, u_{c}, v_{c}) ∈ L(F RD^{3}).

Equivalently, (writing the reverses of u_{b}, u_{c}, v_{b} and v_{c} by capitalising u and v), (w_{1}, w_{2})^{†} is accepted if and only of (w_{1}, w_{2}) = (u_{a}V_{b}, v_{a}U_{c}) where (u_{a}, v_{a})^{†} ∈ L(F RD), and there exist words U_{b}, V_{c} ∈ A∗ with ^{†}(U_{b}, V_{b}), †(U_{c}, V_{c}) ∈ L(F RD^{R}) and

(u_{a}, v_{a}, U_{b}^{R}, V_{b}^{R}, U_{c}^{R}, V_{c}^{R}) ∈ L(F RD^{3}).

So the accepting path of (w_{1}, w_{2}) through NGP will be in two parts, the first (u_{a}, v_{a}) and the second (V_{b}, U_{c}). A picture of this is shown in Figure 7. Furthermore, we have either l(u_{a}) = l(v_{a}) or l(u_{a}) = l(v_{a}) + 1, depending on whether the perimeter of the geodesic triangle which has w_{1} and w_{2} as two of its sides is even or odd. In the first case, it is possible for (V_{b}, U_{c}) to be empty, which occurs when the vertices b and c of the geodesic triangle coincide.

The first part of the path through NGP is simply a path through F RD, ending at a state σ ∈ A(F RD). In Figure 7, an intermediate state is also denoted by σ.

The second part corresponds to the two paths (U_{b}, V_{b}) and (U_{c}, V_{c}) through F RD^{R}. These paths must end at the unique accepting state of F RD^{R}. This part of NGP is non-deterministic, because we need to quantify over their first and second variables, respectively, as described in Section 2. The initial states π_{1} = {σ_{1}} and π_{2} = {σ_{2}} of these two paths through F RD^{R} must be such that (σ, σ_{1}, σ_{2}) ∈ A(F RD^{3}). This is equivalent to (u_{a}, v_{a}, U_{b}^{R}, V_{b}^{R}, U_{c}^{R}, V_{c}^{R}) ∈ L(F RD^{3}). In Figure 7 intermediate states are denoted by (ρ_{1}, ρ_{2}).

In our implementation of NGP, we prefer to avoid ε-transitions, and so the non-deterministic jump from the first to the second part of the path is combined with the first transitions in the second part of the path. In the case where there is a padding symbol, the last transition in the first part of the path is combined with the first transitions in the second part. An advantage of this is that we can eliminate the use of the padding symbol in the middle of a word, which can otherwise be quite troublesome to deal with (in terms of writing special code to take the unnecessary padding symbols into account).

The jump also introduces a large amount of non-determinism into NGP. The states of NGP are triples (σ, ρ_{1}, ρ_{2}), where σ ∈ S(F RD) ∪ {∞} and

ρ_{1}, ρ_{2} ∈ S(F RD^{R}) ∪ {0, ∞}. For each such state either ρ_{1} = ρ_{2} = 0 and σ ≠ ∞, or σ = ∞ and ρ_{1} ≠ 0 ≠ ρ_{2}. Informally, 0 and ∞ as just introduced have the following significance. In the course of accepting a string, the three components σ, ρ_{1} and ρ_{2} each have to pass through F RD exactly once. More precisely, the component σ passes once through F RD during the first part of the path and the components ρ_{1} and ρ_{2} pass through F RD^{R} once during the

Figure 7. This shows the path in the automaton, broken into a first part which is in the automaton F RD and a second part which is in two copies of the automaton F RD^{R}. second part of the path, each time moving from an initial state to an accept state of F RD or F RD^{R} respectively. It is convenient to assign the name ∞ to the state σ after it has completed its passage through F RD. We need to attach names to the states ρ_{i} (i = 1, 2) during the first part of the path, and we attach the name 0 to remind us that ρ_{i} has not yet started its passage through F RD^{R}. When a padding symbol is read in w_{i}, the state ρ_{i} is set to ∞ to remind us that the passage of ρ_{i} through F RD^{R} is now complete. In other words, the state is set to ∞ the next move after arriving at the vertex of the triangle. We do not allow ρ_{1} = ρ_{2} = ∞, because we will stop if we reach both vertices b and c simultaneously.

We can save space by storing the triple (σ, 0, 0) as a pair (σ, 0) and the triple (∞, ρ_{1}, ρ_{2}) as a pair (ρ_{1}, ρ_{2}). It is easy to see that this captures all the information. In this discussion, we continue to use more revealing triples, rather than more concise pairs.

The unique initial state is (σ_{0}(F RD), 0, 0). The accepting states are (∞, ρ_{1}, ρ_{2}) where either ρ_{1} = ∞ or ρ_{1} lies in A(F RD^{R}) and the same is true for ρ_{2}. The reader may like to be reminded that a state of A(F RD^{R}) is an accept state of F RD^{R}, and that this is a subset of the set of states of F RD which contains the initial state σ_{0}(F RD).

There is also another kind of accept state, corresponding to the situation b = c, that is, that there are two different geodesics from a to b = c. This means that w_{1} =_{G} w_{2}. Since we are dealing with short-lex geodesics, w_{1} will be short-lex from a to b and w_{2} will be the reverse of a shortlex geodesic from c to a. Such an accept state has the form (σ, 0) where (σ, σ_{0}(F RD), σ_{0}(F RD)) ∈ A(F RD^{3}).

There are other degenerate situations, but the others are all covered by the main description, as the reader can easily verify.

There are three types of transitions of NGP, which we shall now describe. In general, we denote the label of such a transition by (x_{ab}, x_{ac}), where x_{ab}, x_{ac} ∈ A^{†}. (The idea is that x_{ab} represents a variable generator in the path from a to b.) The first two types of transition correspond to the transitions of the first and second parts of the accepting path of (w_{1}, w_{2}) through NGP, and the third type of transition corresponds to a jump from the first to the second part.

Transitions of the first type have the form (σ, 0, 0) → (τ, 0, 0) where there is a transition σ → τ of F RD with the same label. However, we must have x_{ab}, x_{ac} ∈ A; that is, x_{ac} is not allowed to be the padding symbol $. (Any such transition (x, $) of F RD will be absorbed into the jump, and combined with the first transitions of the two copies of F RD^{R} after the jump, which are bound to have labels of the form (y, $) as we see from Figure 6. Recall that we do not want the padding symbol to occur in the middle of either of the words w_{1}, w_{2}. The strategy explained here avoids that danger.)

Transitions of the second type have the form (∞, π_{1}, π_{2}) → (∞, ρ_{1}, ρ_{2}).

They occur whenever there exist x_{db}, x_{dc} ∈ A^{†} and transitions π_{1} → ρ_{1} and π_{2} → ρ_{2} of F RD^{R} with labels (x_{db}, x_{ab}) and (x_{ac}, x_{dc}), respectively. There is the further restriction that x_{ab} = $ if and only if x_{db} = $. This means that our path has previously arrived at the vertex b—see Figure 7. In this case we have ρ_{1} = ∞ and either π_{1} = ∞ or π_{1} ∈ A(F RD^{R}). Similarly, x_{ac} = $ if and only if x_{dc} = $. In this case ρ_{2} = ∞ and either π_{2} = ∞ or π_{2} ∈ A(F RD^{R}). As explained above, we cannot have x_{ab} = x_{ac} = $. In other words, padding symbols occur only at the end of at most one of the words w_{1}, w_{2}.

The transitions of the third type are jumps from (σ, 0, 0) to (∞, ρ_{1}, ρ_{2}). These are of two subtypes, depending on whether the geodesic triangle defined by the accepting paths that pass through them has perimeter of even or odd length.

Those of even perimeter subtype occur when there exist x_{db}, x_{dc} ∈ A and initial states π_{1} = {σ_{1}}, π_{2} = {σ_{2}} of F RD^{R} with the property that (σ, σ_{1}, σ_{2}) ∈ A(F RD^{3}). Furthermore there are transitions π_{1} → ρ_{1} and π_{2} → ρ_{2} with labels (x_{db}, x_{ab}) and (x_{ac}, x_{dc}) respectively. There is the further restriction that x_{ab} = $ if and only if x_{db} = $, and in this case we have ρ_{1} = ∞ and π_{1} ∈ A(F RD^{R}). Similarly, x_{ac} = $ if and only if x_{dc} = $, and in this case ρ_{2} = ∞ and π_{2} ∈ A(F RD^{R}).

Those of the odd perimeter subtype arise only for x_{ab}, x_{ac} ∈ A, and they occur when there is a transition σ → σ′ with label (x_{ab}, $) of F RD. Furthermore, there exists x_{dc} ∈ A and initial states π_{1} = {σ_{1}}, π_{2} = {σ_{2}} of F RD^{R} with the property that (σ′, σ_{1}, σ_{2}) ∈ A(F RD^{3}). Also, there are transitions π_{1} → ρ_{1} and π_{2} → ρ_{2} with labels (x_{db}, $) and (x_{ac}, $) respectively.

5 Examples

In this final section, we describe the performance of these algorithms on the following four examples.

G_{1} = ⟨a, b, c, d | a^{−1}b^{−1}abc^{−1}d^{−1}cd = 1⟩,
G_{2} = ⟨a, b | a^{2} = b^{3} = (ab)^{7} = 1⟩,
G_{3} = ⟨a, b | (b^{−1}a^{2}ba^{−3})^{2} = 1⟩ and

G_{4} = ⟨a, b, c, d, e, f | a^{4} = b^{4} = c^{4} = d^{4} = e^{4} = f^{4} =

aba^{−1}e = bcb^{−1}f = cdc^{−1}a = ded^{−1}b = efe^{−1}c = faf^{−1}d = 1⟩.

Of these, G_{1} is a surface group of a genus two torus, G_{2} is the (2, 3, 7)- von Dyck group, G_{3} is obtained from one of the well-known family of non-Hopfian Baumslag-Solitar groups by squaring the single relator, and G_{4} is the symmetry group of a certain tessellation by dodecahedra of hyperbolic 3-space as featured in the video ‘Not Knot’ ([Not Knot]). They are all wordhyperbolic groups.

For all four the verification of hyperbolicity, as described in Section 3, was relatively easy, with the first three examples completing in a few seconds, and G_{4} requiring about 20 seconds cpu-time. We present details of these calculations in Table 1. The automata W D_{n}, GE_{n}, GW_{n} and T_{n} are as described in Section 3, and the constants γ and γ′ are as defined before Proposition 4.1. The notation m → n in the table means that an automaton had m states when it was first constructed, and it was then minimised to an equivalent automaton with n states. The last example demonstrates the phenomenon that the automata involved are smaller when the data is correct.

Table 1. Verifying Hyperbolicity

Grp n S(W D_{n}) S(GE_{n})  S(GW_{n}) S(T_{n}) γ γ′
G_{1} 1  33  121 → 49 49 → 49 265 4 4
G_{2} 1  30  627 → 92 80 → 52 936
2  32  664 → 94 78 → 54 769 7 7
G_{3} 1  55  689 → 136 152 → 96 1270 6 6
G_{4} 1  75  896 → 284 454 → 409 10635
2  97  1135 → 309 443 → 378 12407
3  103  1211 → 318 424 → 63 1713 4 4

In Table 2, we present details of the calculation of the thinness constant for short-lex geodesic hyperbolic triangles in the first three of the examples. The set D and the automata F RD, F RD^{3}, NGP and GP are as defined in Section 4 (where NGP is the non-deterministic version of GP). The separate lines of data for each group represent successive attempts at the computation, with the last line representing the correct data. After each attempt, the automaton with language L = L(W) × L(W^{R}) \ L(GP) was constructed and, when it was nonempty, words (w_{1}, w_{2}) ∈ L were found and used to find an improved set D. The language L was found to be empty after the final computation for each group, thereby proving correctness of the data.

The behaviour of G_{3}, which is the most difficult example for which we have successfully completed the calculations, is probably the best indicator of the way in which more difficult examples are likely to behave. For example, the largest and most memory intensive part of the computation is the determinisation of NGP, and many parts of the calculations are significantly more expensive on the earlier passes, when the data is incorrect, than in the final correct stage. These computations were carried out using a maximum of 256 megabytes of core memory and about the same amount of swap space.

We have not yet been able to complete the calculations for G_{4}; indeed we have not progressed further than the first construction of NGP, which has several million states. We will need more memory (probably more than a gigabyte) if we are to proceed to construct the determinised version GP.

Table 2. Finding the Constant of Hyperbolicity

Grp D S(F RD) A(F RD^{3}) S(NGP)  S(GP)  δ
G_{1} 25  137  65785  12249  8049 → 2185
49  169  65857  12281  5457 → 625  4
G_{2} 104 1174  73822  89802  35824 → 4904
111 1199  74047  90450  31374 → 1508 7
G_{3} 71  755  795436  274186 1872679 → 531434
195 1430  801745  280240 1695944 → 443570
241 1741  806923  284328 1237158 → 85044
257 1845  807136  284478  676645 → 3803 8

References

[Alonso et al, 1991] J. Alonso, T. Brady, D. Cooper, V. Ferlini, M. Lustig, M. Mihalik, M. Shapiro and H. Short, Notes on word-hyperbolic groups, in E. Ghys, A. Haefliger and A. Verjovsky, eds., Proceedings of the Conference Group Theory from a Geometric Viewpoint held in I.C.T.P., Trieste, March 1990, World Scientific, Singapore, 1991.

[Epstein et al., 1992] D.B.A. Epstein, J.W. Cannon, D.F. Holt, S.V.F. Levy, M.S. Paterson, W. Thurston (1992), Word Processing in Groups, AKPeters, Natick, Mass.

[Holt, 1995] Derek F. Holt, KBMAG—Knuth-Bendix in Monoids and Automatic Groups, software package (1995), available by anonymous ftp from

ftp.maths.warwick.ac.uk in directory people/dfh/kbmag2.

[Holt, 1996] D.F. Holt, The Warwick automatic groups software, in Geometrical and Computational Perspectives on Infinite Groups, in DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 25, ed. G. Baumslag et. al., 1996, 69–82.

[Not Knot] Charlie Gunn and Delle Maxwell, Not Knot, video ISBN 0-86720-240-8, published by AKPeters, Natick, Mass., with a booklet by D.B.A. Epstein and C. Gunn.

[Papasoglu, 1994] , P. Papasoglu, Strongly geodesically automatic groups are hyperbolic, (Warwick preprint) (1994) (to appear).

[Wakefield, 1997] P. Wakefield, Procedures for Automatic groups, Ph.D. Thesis, University of Newcastle upon Tyne, 1997.