DEGREE SPECTRA OF RELATIONS ON COMPUTABLE STRUCTURES

A Dissertation

Presented to the Faculty of the Graduate School

of Cornell University

in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

by

Denis Roman Hirschfeldt August 1999 \begin{matrix}c \\ ◯ \end{matrix} 1999 Denis Roman Hirschfeldt

DEGREE SPECTRA OF RELATIONS ON COMPUTABLE STRUCTURES

ALL RIGHTS RESERVED Denis Roman Hirschfeldt, Ph.D. Cornell University 1999

The study of additional relations on computable structures began with the work of Ash and Nerode [2]. The concept of degree spectra of relations was later introduced by Harizanov [18]. In this dissertation, several new examples of possible degree spectra of relations on computable structures are given. In particular, it is shown that, for every c.e. degree a, the set {0, a} can be realized as the degree spectrum of an intrinsically c.e. relation on a structure of computable dimension two, thus answering a question of Goncharov and Khoussainov [16]. Some extensions of this result are given, and the methods used in proving it are employed to construct a computably categorical structure whose expansion by a single constant has computable dimension ω. Degree spectra of relations on computable models of particular algebraic theories are also investigated. For example, it is shown that, for every n > 0, there is a computable integral domain with a subring whose degree spectrum consists of exactly n c.e. degrees, including 0. In contrast to this result, it is shown, for instance, that the degree spectrum of a computable relation on a computable linear ordering is either a singleton or infinite. In both cases, sufficient criteria for similar results to hold of a given class of structures are provided.

BIOGRAPHICAL SKETCH

Denis Roman Hirschfeldt was born in Rio de Janeiro, Brazil, where he attended the Escola Americana do Rio de Janeiro, graduating in 1989. He received a B.A. in mathematics from the University of Pennsylvania in 1993 and an M.S. in Computer Science from Cornell University in 1998. In 1999–2000, he will be a Postdoctoral Research Fellow at Victoria University of Wellington, New Zealand. After that, he will be an L.E. Dickson Instructor at the University of Chicago.

To my parents, Ruth and Jury. iv

ACKNOWLEDGEMENTS

Throughout my education, I have benefited from the craft of many dedicated and inspiring teachers, in and out of the classroom. They have not only helped shape my intellectual development, but have provided me with a model and a goal. Even if I only have the space to mention a few of them below, they all have my deep gratitude.

My parents, Ruth and Jury, to whom this dissertation is dedicated, were my first teachers and, through their love and friendship, continue to teach me always about the most important things in life. Even if my education and career keep me physically distant from them, I would like them to know that they are always with me, a constant influence, and that they will always have my deepest love, gratitude, and respect. To them and to my brother Robert I also owe a great deal for the lively and stimulating intellectual atmosphere they provided throughout my childhood and adolescence.

I could not have hoped for a better advisor than Richard Shore. The chance to interact with a world-class mathematician who also happens to be a master teacher ready to give more than generously of his time, knowledge, and experience to his students was crucial to my mathematical development. I came into Cornell a student interested in mathematics; if I can now claim to be a mathematician, Richard is the person most responsible for this. He is the sort of advisor whose students get together surreptitiously to speak well of him.

I also thank the other members of my committee, Anil Nerode and Dexter Kozen, for their help and advice.

Bakh Khoussainov has been a valuable friend and collaborator, whose enthusiasm and intellectual fearlessness have been an inspiration.

I thank Rod Downey for inviting me to Victoria University of Wellington in October–November, 1998, and for all that he taught me while I was there.

I thank Jim Lipton for steering me toward logic and Cornell.

I thank Arkadii Slinko for very useful comments regarding the material in chapter 5.

Finally, I gratefully acknowledge the support of the Alfred P. Sloan Foundation through a Doctoral Dissertation Fellowship for the academic year 1998–1999.

I have met some wonderful people in my six years in Ithaca, and have made what I am sure will be lasting friendships. Rather than risk leaving anyone out, I will thank all my friends here collectively, and hope that they will understand that I left the writing of these acknowledgements for the last minute and want to get this over and done with. Besides, the thing with true friends is, they always know who they are.

TABLE OF CONTENTS

1 Introduction 1 1.1 Basic Definitions and Notation . . . . . . . . . . . . . . . . . . . . . 3 1.2 Summary of Results . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Examples of Degree Spectra of Relations 10 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Σ_{n}^{0}, Π_{n}^{0}, and Δ_{n}^{0} Degrees . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Degrees Below a Given C.E. Degree . . . . . . . . . . . . . . . . . . 20 2.4 Easy Finite Degree Spectra . . . . . . . . . . . . . . . . . . . . . . 37

3 Finite Degree Spectra of Relations 39 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2 Proof of Theorem 3.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3 Proof of Theorem 3.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.4 Proof of Theorem 3.1.6 . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.5 Proof of Theorem 3.1.7 . . . . . . . . . . . . . . . . . . . . . . . . . 123

4 Expansions of Computably Categorical Structures 128 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.2 Proof of Theorem 4.1.3 . . . . . . . . . . . . . . . . . . . . . . . . . 129

5 Relations on Algebraic Structures I: Positive Results 191 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 5.2 A Sufficient Condition . . . . . . . . . . . . . . . . . . . . . . . . . 194 5.3 Undirected Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 5.4 Integral Domains and Commutative Semigroups . . . . . . . . . . . 204 6 Relations on Algebraic Structures II: Negative Results 218

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.2 General Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.3 Linear Orderings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 6.4 1-decidable Structures . . . . . . . . . . . . . . . . . . . . . . . . . 234

Bibliography 239

LIST OF TABLES

3.1 D_{0}, …, D_{6} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.1 H_{0}, …, H_{6} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

LIST OF FIGURES

2.1 The N_{k} and P_{k} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 [2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3 [(1, 2, 3), {2}] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1 [2] and [{2, 3}] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2 The basic coding strategy . . . . . . . . . . . . . . . . . . . . . . . 46 3.3 Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4 Isomorphism recovery . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.5 The result of either of the operations ([3], [4]) · [2] or [2] · ([3], [4]) . 56 3.6 Recovery in a two-strategy scenario: (A^{0})_{0} . . . . . . . . . . . . . . 79 3.7 Recovery in a two-strategy scenario: (A^{0})_{1} in case r_{1,s+1} = 0 …. 80 3.8 Recovery in a two-strategy scenario: (A^{0})_{1} in case r_{1,s+1} = 1 …. 81 3.9 [2]^{+} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.1 The backbone graph . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4.2 The basic diagonalization strategy . . . . . . . . . . . . . . . . . . 136 4.3 The result of any of [2] ⊙ ([3], [4]), [3] ⊙ ([2], [4]), or [4] ⊙ ([2], [3]) . 139 4.4 A 3, (0, 1)-operation . . . . . . . . . . . . . . . . . . . . . . . . . . 143

5.1 Part of the graph H_{G} . . . . . . . . . . . . . . . . . . . . . . . . . 202

Chapter 1

Introduction

There has been increasing interest over the last few decades in the study of the effective content of Mathematics. One field whose effective content has been the subject of a large body of work, dating back at least to the early 1960’s, is model theory. (A valuable reference is the handbook [7]. In particular, the introduction and the articles by Ershov and Goncharov and by Harizanov give useful overviews, while the articles by Ash and by Goncharov cover material related to the topic of this dissertation.)

Several different notions of effectiveness of model-theoretic structures have been investigated. This dissertation is concerned with computable structures, that is, structures with computable domains whose constants, functions, and relations are uniformly computable.

In model theory, we identify isomorphic structures. From the point of view of computable model theory, however, two isomorphic structures might be very different. For example, it is not hard to build two isomorphic computable groups, only one of which has a computable center. We do not wish to say that these two presentations are the same. Thus, for our purposes, studying structures up to isomorphism is not enough. Instead, we study structures up to computable isomorphism. This leads naturally to the idea of a computable presentation of a structure, which is, roughly speaking, a computable copy of this structure. (Formal definitions of this and other concepts will be given below.)

One way in which we may attempt to understand the differences between noncomputably isomorphic computable presentations of a structure M is to compare (from a computability-theoretic point of view) the images in these presentations of a particular relation on the domain of M. (Of course, this is only interesting if this relation is not the interpretation in M of a relation in the language of M.) The study of additional relations on computable structures began with the work of Ash and Nerode [2] and has been continued in a large number of papers. (References can be found in the aforementioned articles in [7].)

One approach to the study of relations on computable structures, which began with the work of Harizanov [18], is to look at the collection of (Turing) degrees of the images of a relation in different computable presentations of a structure, which is known as the degree spectrum of the relation. This dissertation is mainly concerned with the question of which sets of degrees can be realized as degree spectra of relations on computable structures, both in the general case and with certain restrictions imposed on the relation or the structure. The latter case will bring us to the intersection of computable model theory and computable algebra.

In the remaining parts of this introductory chapter, we first give the fundamental definitions and notations that will be used throughout the rest of this dissertation, and then summarize the results contained therein.

1.1 Basic Definitions and Notation

For basic notions of computability theory and model theory, the reader is referred to [34] and [23], respectively. By degree, we will mean Turing degree unless otherwise specified. In order to avoid confusion with our symbol for or, we will denote the join of degrees a and b by a ⋎ b.

Whenever we mention a computably enumerable (c.e.) set X, we assume we have fixed some computable enumeration of X and let X[s] denote the part of X enumerated after s + 1 many steps. Similarly, if we mention a Δ_{2}^{0} set Y then we assume we have fixed some computable approximation of Y and let Y [s] denote the result of performing s + 1 many steps of this approximation.

For any set X, let X ↾ m = X ∩ {0, …, m − 1}. For any function f, let f ↾ m be the function obtained by restricting dom(f) to dom(f) ↾ m.

The e^{th} Turing functional with oracle X is denoted by Φ_{e}(X), and its value at x by Φ_{e}(X; x). Let Φ_{e}(X)[s] be the evaluation of Φ_{e}(X[s]) at stage s and let Φ_{e}(X, x)[s] be the value of this evaluation at x. The use functions of Φ_{e}(X; x) and Φ_{e}(X; x)[s] are denoted by φ_{e}(X; x) and φ_{e}(X; x)[s], respectively.

Fix a one-to-one function from ω × ω onto ω and let ⟨a, b⟩ denote the image under this function of the ordered pair consisting of a ∈ ω and b ∈ ω. We will write ⟨a, b, c⟩ instead of ⟨a, ⟨b, c⟩⟩, and similarly for longer sequences of natural numbers. For x ∈ ω and i = 0, 1, π_{i}(x) will denote the i^{th} coordinate of the ordered pair coded by x. That is, if x = ⟨a, b⟩ then π_{0}(x) = a and π_{1}(x) = b.

If x⃗ = (x_{0}, …, x_{m}) and y⃗ = (y_{0}, …, y_{n}) are sequences then x⃗(i) = x_{i} and x^{⌢}y⃗ is the sequence (x_{0}, …, x_{m}, y_{0}, …, y_{n}). We will write x^{⌢}z instead of x^{⌢}(z), where (z) is the sequence consisting of the single element z.

One of the central notions of computable model theory is that of a computable structure. We will always assume that we are working with computable languages.

1.1.1. Definition. A structure A is computable if both its domain |A| and the atomic diagram of ⟨A, a⟩_{a∈|A|} are computable.

If, in addition, the n-quantifier diagram of ⟨A, a⟩_{a∈|A|} is computable then A is n-decidable, while if the full first-order diagram of ⟨A, a⟩_{a∈|A|} is computable then A is decidable.

It will be more convenient to treat equality in computable structures as actual equality rather than as a relation. This is not an important distinction, however, since every computable structure is computably isomorphic to some computable structure B such that if a ≠ b ∈ |B| then B ⊨ a ≠ b.

In Chapters 3 and 4, we will have to consider partial computable directed graphs, which we define as follows.

1.1.2. Definition. A partial computable directed graph G consists of two 0, 1-valued partial computable functions Φ and Ψ, the former unary and the latter binary, such that if Φ(x)[s] ↓= Φ(y)[s] ↓= 1 then Ψ(x, y)[s] ↓. The graph G (resp. G[s]) is the graph whose domain has characteristic function Φ (Φ[s]) and whose edge relation has characteristic function Ψ (Ψ[s]).

As we have discussed above, the following definition is a natural one to make in the context of computable model theory.

1.1.3. Definition. An isomorphism from a structure M to a computable structure is called a computable presentation of M. (We often abuse terminology and refer to the image of a computable presentation as a computable presentation.)

If M has a computable presentation then it is computably presentable.

An important notion in computable model theory is the number of computable presentations of a computably presentable structure.

1.1.4. Definition. The computable dimension of a computably presentable structure M is the number of computable presentations of M up to computable isomorphism.

A structure of computable dimension 1 is said to be computably categorical.

We will also have occasion to consider structures that, while not computably categorical, have relatively simple isomorphisms between their various computable presentations.

1.1.5. Definition. A computably presentable structure is Δ_{2}^{0}-categorical if any two of its presentations are isomorphic via a Δ_{2}^{0} map.

In Chapter 3, we will also consider c.e. presentations. We will take the more general of two possible definitions of c.e. structure, in which equality is c.e. rather than computable. It will be clear that the results involving c.e. structures in Chapter 3 also hold for the less general definition.

1.1.6. Definition. A structure A is c.e. if its domain |A| is computable and the atomic diagram of ⟨A, a⟩_{a∈|A|} is c.e..

An isomorphism from a structure M to a c.e. structure is called a c.e. presentation of M. (As in the computable case, we often refer to the image of a c.e. presentation as a c.e. presentation.)

If M has a c.e. presentation then it is c.e. presentable.

The c.e. dimension of a c.e. presentable structure M is the number of c.e. presentations of M up to computable isomorphism.

It is convenient to assume that the domain of a c.e. structure is computable rather than c.e., but this makes no real difference, since any structure with c.e. domain is computably isomorphic to a structure with computable domain.

As we have mentioned above, the study of additional relations on computable structures began with the work of Ash and Nerode [2], who were concerned with relations that maintain some degree of effectiveness in different computable presentations of a structure.

1.1.7. Definition. Let U be a relation on the domain of a computable structure A and let ℭ be a class of relations. U is intrinsically ℭ on A if the image of U in any computable presentation of A is in ℭ.

In [2], conditions that guarantee that a relation is intrinsically computable or intrinsically c.e. were given. More recent work has led to a number of other conditions guaranteeing that a relation is intrinsically ℭ for various classes ℭ (see [3], for example).

Invariant structures will often be important in this dissertation.

1.1.8. Definition. A relation U on a structure M is invariant if, for every automorphism f : M ≅ M, f(U) = U.

The following definition, which, as mentioned above, is the main topic of study of this dissertation, is due to Harizanov [18].

1.1.9. Definition. Let U be a relation on the domain of a computable structure A. The degree spectrum of U on A, DgSp_{A}(U), is the set of degrees of the images of U in all computable presentations of A.

It is also interesting to consider degree spectra of relations with respect to other reducibilities.

1.1.10. Definition. Let r be a reducibility, such as many-one reducibility (m-re-ducibility) or truth-table reducibility. Let U be a relation on the domain of a computable structure A. The r-degree spectrum of U on A, DgSp_{A}^{r}(U), is the set of r-degrees of the images of U in all computable presentations of A.

1.2 Summary of Results

In Chapter 2, we give some examples of sets of degrees that can be realized as degree spectra of relations on computable structures. We show, for instance, that for every c.e. degree a and every computable ordinal α, the set of α-c.e. degrees less than or equal to a can be realized as the degree spectrum of an intrinsically α-c.e. relation on a computable structure. (For a definition of α-c.e. sets and degrees, see Section 2.3.)

In Chapter 3, we consider finite degree spectra of relations. These were first studied by Harizanov [20], who showed that there exists a Δ_{2}^{0} degree a such that {0, a} can be realized as the degree spectrum of a relation on a computable structure of computable dimension 2. Khoussainov and Shore and Goncharov [25],[16] later improved this result by showing the existence of a c.e. degree a such that {0, a} can be realized as the degree spectrum of an intrinsically computable relation on a computable structure of computable dimension 2.

In Section 3.2, we show that, in fact, for every c.e. degree a, {0, a} can be realized as the degree spectrum of an intrinsically c.e. relation on a computable structure. In Section 3.3, we show that this result remains true if we also require that the structure in question have computable dimension 2. This last result, which answers a question of Goncharov and Khoussainov [16], has been independently obtained by Khoussainov and Shore [24].

There are at least two natural directions in which these results can be extended. In Section 3.4, we show that, for every uniformly c.e. collection of sets S, the set of degrees of elements of S can be realized as the degree spectrum of an intrinsically computable relation on a computable structure. Then, in Section 3.5, we show that if α ∈ ω ∪ {ω} then, for every α-c.e. degree a, {0, a} can be realized as the degree spectrum of an intrinsically α-c.e. relation on a computable structure. As we will see, all of these results also hold for m-degree spectra of relations, and hence for r-degree spectra of relations for any reducibility r weaker than m-reducibility.

The methods of Chapter 3 can be used to answer a question about what can happen to the computable dimension of a computably categorical structure when it is expanded by finitely many constants. Cholak, Goncharov, Khoussainov, and Shore [4] showed that if k > 0 then there exists a computably categorical structure A and an a ∈ |A| such that ⟨A, a⟩ has computable dimension k. This left open the question of whether there exists a computably categorical structure whose expansion by some finite set of constants has computable dimension ω. In Chapter 4, which reports on joint work with Bakhadyr Khoussainov and Richard Shore, we answer this question in the affirmative.

The structures built in Chapters 3 and 4 are all directed graphs. It is interesting to ask for which well-known algebraic theories do the results of those chapters remain true if we also require that the structures in question be models of the given theory. We address this question in Chapter 5, in which we give a sufficient condition for the results of Chapters 3 and 4 (as well as other related results) to remain true if we also require that the structures in question be models of a given theory, and apply it to the cases of undirected graphs, integral domains, and commutative semigroups.

Chapter 6 contains results that are in contrast to those of Chapter 5, namely, conditions that guarantee that the degree spectrum of a relation is either a singleton or infinite. These conditions are used to show, for example, that a computable relation on a computable linear ordering is either intrinsically computable or has infinite degree spectrum.

Examples of Degree Spectra of

Relations

2.1 Introduction

In this chapter, we give a few examples of sets of degrees that can be realized as degree spectra of relations. Before we proceed, we make three brief observations.

The first one is rather simple: For any class of relations ℭ, if U is an intrinsically ℭ k-ary relation on a computable structure A then V = (|A|)^{k} − U is intrinsically co-ℭ and DgSp_{A}(V) = DgSp_{A}(U).

Now let U and V be k-ary relations on the domains of computable graphs A = ⟨|A| , E⟩ and B = ⟨|B| , F ⟩, respectively. Let C = ⟨|C| , R, Q⟩ be the computable structure in the language with one binary and one unary relation defined by

|C| = {2x | x ∈ |A|} ∪ {2x + 1 | x ∈ |B|},

R = {(2x, 2y) | E(x, y)} ∪ {(2x + 1, 2y + 1) | F (x, y)},

and

Q = {2x | x ∈ |A|}.

Let

W = {(2x_{0}, …, 2x_{k−1}) | (x_{0}, …, x_{k−1}) ∈ U} ∪

{(2x_{0} + 1, …, 2x_{k−1} + 1) | (x_{0}, …, x_{k−1}) ∈ V }.

It is easy to check that

DgSp_{C}(W) = {c | ∃a, b(a ∈ DgSp_{A}(U) ∧ b ∈ DgSp_{B}(V) ∧ c = a ⋎ b)}. Furthermore, if A and B are Δ_{2}^{0}-categorical then so is C, and, for any class of relations ℭ closed under m-equivalence and finite disjoint unions, if U and V are intrinsically ℭ then so is W.

It is not hard to modify this construction to handle the case in which U and V do not necessarily have the same arity and A and B are arbitrary computable structures, and hence establish the following result. 2.1.1. Proposition. Let A and B be sets of degrees and let C = {c | ∃a, b(a ∈ A ∧ b ∈ B ∧ c = a ⋎ b)}. Let ℭ be a class of relations closed under m-equivalence and finite disjoint unions. If both A and B can be realized as degree spectra of (intrinsically ℭ) relations on the domains of (Δ_{2}^{0}-categorical) computable structures then so can C.

Our final observation is about degree spectra of relations with respect to different reducibilities. Let r and s be reducibilities such that r is stronger than s, and let U be a relation on a computable structure A. Then DgSp_{A}^{s}(U) is equal to the set of s-degrees that contain at least one r-degree in DgSp_{A}^{r}(U). Thus, for example, when we construct in the next section a relation U on a computable structure A such that DgSp_{A}^{m}(U) consists of all Σ_{n}^{0} m-degrees (other than the m-degrees of ∅ and ω), it will be the case that, for any reducibility r weaker than m-reducibility, DgSp_{A}^{r}(U) consists of all Σ_{n}^{0} r-degrees.

2.2 Σ_{n}^{0}, Π_{n}^{0}, and Δ_{n}^{0} Degrees

Let C_{0} be the directed graph consisting of a single node and no edges and let C_{1} be the directed graph consisting of two nodes x and y with an edge from x to y. Consider the directed graph G = ⟨|G| , E⟩ that is the disjoint union of infinitely many copies of each of C_{0} and C_{1}. Let U be the unary relation on the domain of G that holds of x if and only if there is a y such that E(x, y). Since U is defined by an existential formula in the language of directed graphs, U is intrinsically c.e.. We claim that DgSp_{G}(U) consists of all c.e. degrees. (In fact, DgSp_{G}^{m}(U) consists of all c.e. m-degrees other than the m-degrees of ∅ and ω.)

Indeed, let A be an infinite and coinfinite c.e. set and let a_{0}, a_{1}, … be a computable enumeration of A. Define a directed graph G with edge relation F as follows. Let |G| = ω and, for x, y ∈ ω, let F (x, y) hold if and only if, for some k ∈ ω, x = 2a_{k} and y = 2k + 1. It is easy to check that G is a computable presentation of G. Furthermore, U^{G}(x) ⇔ x = 2a ∧ a ∈ A, and hence U^{G} ≡_{m} A.

By modifying this example, it is possible to realize, for any n ∈ ω, all n-c.e. degrees as the degree spectrum of an intrinsically n-c.e. relation on a computable structure. We will not do this here, since we will show in the next section that, for any c.e. degree a and any computable ordinal α, we can realize the α-c.e. degrees below a as the degree spectrum of an intrinsically α-c.e. relation on a computable structure. Instead, we will explore another natural generalization of the above example, given in the following theorem. 2.2.1. Theorem. Let n > 0. There exists an intrinsically Σ_{n}^{0} relation U on a computably presentable structure M such that DgSp_{M}(U) consists of all Σ_{n}^{0} degrees. Proof. The structure M will be a directed graph; more specifically, it will be a tree. We begin by defining trees N_{k} and P_{k}, k ⩽ n. When we say that a copy of a tree T is attached to a node r, we mean that there is a node s such that there is an edge from r to s and s together with its successors form a copy of T .

1. N_{0} consists of a single node. P_{0} = ∅.

2. N_{1} consists of a single node. P_{1} consists of a root node to which are attached infinitely many copies of N_{0}.

3. N_{k+2} consists of a root node to which are attached infinitely many copies of P_{k+1}. P_{k+1} consists of a root node to which are attached infinitely many copies of each of N_{k+1} and P_{k+1}.

(See Figure 2.1.)

Now let M = ⟨|M| , E⟩ be the tree consisting of a root node x and infinitely many disjoint copies of each of N_{n} and P_{n} attached to x. Let U be the set of nodes of M of height 1 that are root nodes of copies of P_{n}.

N_{1}: P_{1}:

• [figure: •; …; •; •; •]

N_{2}:

[figure: •; …; •; …; •; …; •; …; •; •; •; •; •; •; •; •; •]

P_{2}:

[figure: •; …; …; •; •; •; •; …; •; …; •; …; •; •; •; •; •; •; •; •; •]

N_{3}:

[figure: •; …; P_{2}; P_{2}; P_{2}]

P_{3}:

[figure: •; …; …; N_{2}; N_{2}; N_{2}; P_{2}; P_{2}; P_{2}]

⋮

Figure 2.1: The N_{k} and P_{k}

We begin by showing that U is intrinsically Σ_{n}^{0}. 2.2.2. Lemma. Let M be a computable presentation of M. For 0 < m ⩽ n, let S_{m} be the set of nodes of height n + 1 − m in M that are root nodes of copies of P_{m}. Then S_{m} is Σ_{m}^{0}.

Proof. We proceed by induction. First notice that we can computably determine the height of a node in M. Since S_{1} consists of all nodes x of height n such that ∃y(E^{M}(x, y)), S_{1} is Σ_{1}^{0}. Now let 1 < m ⩽ n and assume that the lemma holds for m − 1. Since x ∈ S_{m} ⇔ ∃y(E^{M}(x, y) ∧ y ∉ S_{m−1}), the assumption that S_{m−1} is Σ_{m−1}^{0} implies that S_{m} is Σ_{m}^{0}.

Since, in the notation of the previous lemma, U^{M} = S_{n}, we have the following result. 2.2.3. Corollary. For any computable presentation M of M, U^{M} is Σ_{n}^{0}.

We now show that DgSp_{M}(U) consists of all Σ_{n}^{0} degrees. 2.2.4. Lemma. Let R(x_{0}, …, x_{n}) be a computable relation on ω^{n+1} and let m ⩽ n. If m is even then let Q = ∀; otherwise, let Q = ∃. There exist uniformly computable structures T_{a_{m},a_{m+1},...,a_{n}}^{R} = ⟨|T_{a_{m},a_{m+1},...,a_{n}}^{R}| , E_{a_{m},a_{m+1},...,a_{n}}^{R}⟩, a_{m}, a_{m+1}, …, a_{n} ∈ ω, such that if

∃x_{m−1}∀x_{m−2}∃x_{m−3}∀x_{m−4} ⋯ Qx_{0}(R(x_{0}, …, x_{m−1}, a_{m}, …, a_{n}))

holds then T_{a_{m},a_{m+1},...,a_{n}}^{R} is isomorphic to P_{m}, while otherwise T_{a_{m},a_{m+1},...,a_{n}}^{R} is isomorphic to N_{m}, and in either case the root node of T_{a_{m},a_{m+1},...,a_{n}}^{R} is 0.

Proof. We proceed by induction. Since R is computable, the lemma clearly holds for m = 0. Assume the lemma holds for m − 1. If m is even then let Q = ∀ and \overline{Q} = ∃; otherwise, let Q = ∃ and \overline{Q} = ∀. Fix a computable presentation ⟨|P | , F ⟩ of P_{m−1} with root node 0. Let \overline{R} = ω^{n+1} − R. Given a_{m}, a_{m+1}, …, a_{n} ∈ ω, let

|T_{a_{m},a_{m+1},...,a_{n}}^{R}| = {0} ∪ {⟨1, a, k⟩ | a ∈ ω, k ∈ |P |} ∪

\{⟨c, a, k⟩ | c ⩾ 2, a ∈ ω, k ∈ |T \overline{R} ; a,a_{m},a_{m+1},...,a_{n} |\}

and

E_{a_{m},a_{m+1},...,a_{n}}^{R} = {(0, ⟨c, a, 0⟩) | c ⩾ 1, a ∈ ω, ⟨c, a, 0⟩ ∈ |T_{a_{m},a_{m+1},...,a_{n}}^{R}|} ∪

{(⟨1, a, k⟩, ⟨1, a, l⟩) | a ∈ ω, F (k, l)} ∪

\{(⟨c, a, k⟩, ⟨c, a, l⟩) | c ⩾ 2, a ∈ ω, E\overline{R} ; a,a_{m},a_{m+1},...,a_{n}(k, l)\} .

By the induction hypothesis, there is a computable procedure to decide, given x, a_{m}, a_{m+1}, …, a_{n} ∈ ω, whether x ∈ |T_{a_{m},a_{m+1},...,a_{n}}^{R}|, as well as a computable procedure to decide, given x, y, a_{m}, a_{m+1}, …, a_{n} ∈ ω, whether E_{a_{m},a_{m+1},...,a_{n}}^{R}(x, y).

Furthermore, T_{a_{m},a_{m+1},...,a_{n}}^{R} contains infinitely many copies of P_{m−1} attached to 0 (if m > 1), and it contains infinitely many copies of N_{m−1} attached to 0 if and only if it contains one copy of N_{m−1} attached to 0 if and only if there exists an a ∈ ω such T \overline{R} ; a,a_{m},a_{m+1},...,a_{n} is isomorphic to N_{m−1} if and only if there exists an a ∈ ω such that

¬∃x_{m−2}∀x_{m−3}∃x_{m−4}∀x_{m−5} ⋯ \overline{Q}x_{0} (\overline{R}(x_{0}, …, x_{m−1}, a_{m}, …, a_{n}))

if and only if there exists an a ∈ ω such that

∀x_{m−2}∃x_{m−3}∀x_{m−4}∃x_{m−5} ⋯ Qx_{0}(R(x_{0}, …, x_{m−2}, a, a_{m}, …, a_{n}))

if and only if

∃x_{m−1}∀x_{m−2}∃x_{m−3}∀x_{m−4} ⋯ Qx_{0}(R(x_{0}, …, x_{m−1}, a_{m}, …, a_{n})).

2.2.5. Corollary. Let A be an infinite and coinfinite Σ_{n}^{0} set. There exists a computable presentation M of M such that U^{M} ≡_{m} A.

Proof. If n is even then let Q = ∀; otherwise, let Q = ∃. Let R be a computable relation such that

∃x_{n−1}∀x_{n−2}∃x_{n−3}∀x_{n−4} ⋯ Qx_{0}(R(x_{0}, …, x_{n−1}, x)) ⇔ x ∈ A.

Let T_{x}^{R} and E_{x}^{R}, x ∈ ω, be as in Lemma 2.2.4 and define

|M| = {0} ∪ {⟨x, k⟩ + 1 | x ∈ ω, k ∈ |T_{x}^{R}|}

and

E^{M} = {(0, ⟨x, 0⟩ + 1) | x ∈ ω} ∪ {(⟨x, k⟩ + 1, ⟨x, l⟩ + 1) | x ∈ ω, E_{x}^{R}(k, l)} .

Since the T_{x} are uniformly computable, M is computable, and since A is infinite and coinfinite, there are infinitely many copies of each of N_{n} and P_{n} attached to 0 in M, and hence M is isomorphic to M. So M is a computable presentation of M.

Furthermore, U^{M}(y) if and only if y has height 1 and is the root node of a copy of P_{n} if and only if y is the root node of a copy of some T_{x}^{R} such that

∃x_{n−1}∀x_{n−2}∃x_{n−3}∀x_{n−4} ⋯ Qx_{0}(R(x_{0}, …, x_{n−1}, x))

if and only if, for some x ∈ ω, y = ⟨x, 0⟩ + 1 and x ∈ A.

The theorem follows from Corollaries 2.2.3 and 2.2.5. ■

Remark. Notice that, in the above proof, we have in fact shown that DgSp_{M}^{m}(U) consists of all Σ_{n}^{0} m-degrees other than the m-degrees of ∅ and ω.

By the first observation in the previous section, we can replace Σ_{n}^{0} by Π_{n}^{0} in the statement of Theorem 2.2.1. The next result shows that we can also replace Σ_{n}^{0} by Δ_{n}^{0}.

2.2.6. Theorem. Let n > 0. There exists an intrinsically Δ_{n}^{0} relation V on a computably presentable structure N such that DgSp_{N} (V) consists of all Δ_{n}^{0} degrees.

Proof. Let M and U be as in the proof of Theorem 2.2.1. Let M_{0} = ⟨|M_{0}| , E_{0}⟩ and M_{1} = ⟨|M_{1}| , E_{1}⟩ be copies of M. Let U_{i} be the copy of U in M_{i}. Let S_{i} be the set of all nodes of M_{i} of height 1 and let Û_{i} = S_{i} − U_{i}. Note that U_{i} is intrinsically Σ_{n}^{0} and Û_{i} is intrinsically Π_{n}^{0}. Let a_{i,0}, a_{i,1}, … be the elements of U_{i} and let b_{i,0}, b_{i,1}, … be the elements of Û_{i}.

Define N = ⟨|N | , E, C_{0}, C_{1}⟩ by

|N | = |M_{0}| ∪ |M_{1}| ∪ {c_{0}, c_{1}, … } ∪ {d_{0}, d_{1}, … },

E(x, y) ⇔ (x, y ∈ |M_{i}| ∧ E_{i}(x, y)) ∨ (x = c_{k} ∧ (y = a_{0,k} ∨ y = b_{1,k})) ∨ (x = d_{k} ∧ (y = b_{0,k} ∨ y = a_{1,k})),

and

C_{i}(x) ⇔ x ∈ |M_{i}| .

Let V = {c_{0}, c_{1}, … }.

Since V can be defined both as

{x ∈ |N | | ¬C_{0}(x) ∧ ¬C_{1}(x) ∧ ∃y ∈ U_{0}(E(x, y))}

and as

{x ∈ |N | | ¬C_{0}(x) ∧ ¬C_{1}(x) ∧ ∀y(E(x, y) → y ∈ Û_{1})},

V is intrinsically Δ_{n}^{0}.

Given an infinite and coinfinite Δ_{n}^{0} set A, we can use the construction in the proof of Theorem 2.2.1 to build computable presentations M_{0} and M_{1} of M satisfying the following conditions.

1. |M_{0}| ∩ |M_{1}| = ∅.

2. |M_{0}| ∪ |M_{1}| is coinfinite.

3. For some computable listing y_{0,0}, y_{0,1}, … of the nodes of M_{0} of height 1, U^{M_{0}}(y_{0,k}) ⇔ k ∈ A.

4. For some computable listing y_{1,0}, y_{1,1} … of the nodes of M_{1} of height 1, U^{M_{1}}(y_{1,k}) ⇔ k ∉ A.

Now build a computable presentation N of N as follows. Let x_{0} < x_{1} < ⋯ be the elements of ω − (|M_{0}| ∪ |M_{1}|). Let |N| = ω, let C_{i}^{N} = |M_{i}|, and let E^{N} be the union of the edge relations of M_{0} and M_{1} and the set {(x_{k}, y_{i,k}) | i < 1, k ∈ ω}.

It is easy to check that N is in fact a computable presentation of N. Furthermore, if x ∉ {x_{0}, x_{1}, … } then ¬V^{N}(x), while V^{N}(x_{k}) ⇔ U_{0}^{N}(y_{0,k}) ⇔ k ∈ A, and hence V^{N} ≡_{m} A.

It is worth noting that the results of this section stand in contrast to the following theorem, proved independently by Ash, Cholak, and Knight [1] and Harizanov [21], thus illustrating the potential differences between the general case, in which we are trying to realize certain sets of degrees as degree spectra of relations on computable structures with no additional restrictions, and cases in which we impose extra conditions on some aspect of this realization. (See Chapter 6 for more on this theme.)

2.2.7. Theorem (Ash, Cholak, and Knight; Harizanov). Let U be a relation on the domain of a computable structure A. Suppose that for each Δ_{3}^{0} set C there is an isomorphism f from A to a computable structure B such that f ⩽_{T} C and C ⩽_{T} f(U). Then for any set C there is an isomorphism f from A to a computable model B such that f ⩽_{T} C and C ⩽_{T} f(U). In particular, DgSp_{A}(U) contains every degree.

2.3 Degrees Below a Given C.E. Degree

As mentioned above, it is not hard to modify the example given in the previous section of an intrinsically c.e. relation on a computable structure whose degree spectrum consists of all c.e. degrees to get, for each n > 0, an intrinsically n-c.e. relation on a computable structure whose degree spectrum consists of all n-c.e. degrees. A little more work can get us a similar result with α-c.e. in place of n-c.e. for any computable ordinal α. (See Definition 2.3.9 for a definition of α-c.e. sets and degrees.)

In this section, we show that, in fact, for any c.e. degree a and any computable ordinal α, there is an intrinsically α-c.e. relation on a computable structure whose degree spectrum consists of all α-c.e. degrees less than or equal to a. We begin with a theorem that has a similar but simpler proof.

2.3.1. Theorem. Let a be a c.e. degree. There exists a relation U on the domain of a computably presentable structure M such that DgSp_{M}(U) consists of all degrees less than or equal to a.

Proof. Let A be a c.e. set in a. Let σ_{0}, σ_{1}, … be a computable list of all finite binary strings.

The structure M will be a directed graph. We begin by defining our basic building blocks. 2.3.2. Definition. Let n ∈ ω. The directed graph [n] consists of n+3 many nodes x_{0}, x_{1}, …, x_{n+2} with an edge from x_{0} to itself, an edge from x_{n+2} to x_{0} and an edge from x_{i} to x_{i+1} for each i ⩽ n + 1. We call x_{0} the top of [n].

Figure 2.2 shows [2] as an example.

[figure: •; top; •; •; •; •]

Figure 2.2: [2]

2.3.3. Definition. Let m⃗ = (m_{0}, m_{1}, …, m_{k}) ∈ ω^{k+1} and S ⊆ {0, 1, …, k}. The directed graph [m⃗, S] consists of the following nodes and edges.

1. k +1 many nodes x_{0}, x_{1}, x_{2}, …, x_{k} with an edge from x_{i} to x_{i+1} for each i < k.

2. For each i ∈ S, a copy of [2m_{i} + 1] with x_{i} as its top.

3. For each i ∈ {0, 1, …, k} − S, a copy of [2m_{i}] with x_{i} as its top.

We call x_{0} the principal node of [m⃗, S]. The height of [m⃗, S] is defined to be \left|{ \atop m}\right| and its length is defined to be max{|σ_{m}| | m ∈ m⃗}.

Figure 2.3 shows [(1, 2, 3), {2}] as an example.

[figure: •; principal; node; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •; •]

Figure 2.3: [(1, 2, 3), {2}]

The idea behind Definition 2.3.3 is that the [m⃗, S] can be used to represent computations in which we are computably approximating a Δ_{2}^{0} oracle, with the strings σ_{m}, m ∈ m⃗, representing initial segments of approximations of the oracle and the elements of S representing stages at which the computation changes its mind about its output at a particular input. Of course, we are only interested in the case in which the oracle is A. This leads to the following definition. 2.3.4. Definition. We say that [m⃗, S], m⃗ = (m_{0}, m_{1}, …, m_{k}), S ⊆ {0, 1, …, k}, is A-acceptable if it satisfies both of the following conditions.

1. A ↾ |σ_{m_{k}}| = σ_{m_{k}}.

2. If i < k then σ_{m_{i}} ≠ A ↾ |σ_{m_{i}}| and, for every j < |σ_{m_{i}}|, σ_{m_{i}}(j) = 1 ⇒ A(j) = 1.

We define A[s]-acceptability analogously.

Note that, if we think of an A-acceptable [m⃗, S] as an approximation of some computation relative to A in the manner described above then condition 2 in Definition 2.3.4 makes sense because A is c.e.. This condition is important for two reasons. As we will see, together with condition 1 it ensures that, given a copy of an A-acceptable [m⃗, S] in some computable graph, we can A-computably determine m⃗ and S. Furthermore, it guarantees that if [m⃗, S] is A[s]-acceptable, n⃗ is a proper initial segment of m⃗, and T ⊆ \{0, …, \left|{ \atop n}\right| − 1\}, then [n⃗, T] is not A[t]-acceptable for any t ⩾ s, and hence is not A-acceptable.

We now define M and U. 2.3.5. Definition. Let M′ consist of the disjoint union of infinitely many copies of each A-acceptable [m⃗, S], m⃗ ∈ ω^{k+1}, S ⊆ {0, 1, …, k}, k ∈ ω. Let T be the set of principal nodes of these copies.

Let M consist of M′ and one additional root node x, with an edge from x to each element of T. We call the connected components of M′ the components of M. For any computable presentation M of M, we call the image of x in M the root node of M.

Let U be the set of all elements of T that are principal nodes of components of M of the form [m⃗, S], |S| odd.

Let [m⃗, S] have length l. The following facts follow easily from the definitions.

1. For any s ∈ ω such that A[s] ↾ l = A ↾ l, [m⃗, S] is A-acceptable if and only if it is A[s]-acceptable.

2. If [m⃗, S] is A[s]-acceptable, A[s + 1] ↾ l ≠ A[s] ↾ l, and m is such that σ_{m} = A[s + 1] ↾ l, then [m^{⌢}m, S] is A[s + 1]-acceptable.

3. For any m ∈ ω and T = S or T = S ∪ \{\left|{ \atop m}\right|\}, [m⃗, S] can be extended to [m^{⌢}m, T] by adding new nodes and edges.

We now need to show that U and M have the desired properties. We begin by showing that every degree in DgSp_{M}(U) is less than or equal to a. 2.3.6. Lemma. If M is a computable presentation of M then U^{M} ⩽_{T} A.

Proof. Let T be set of all nodes y of M such that there is an edge from y to itself. Let y ∈ T. Then y is the top of a copy of [k] for some k ∈ ω. Let m be such that k = 2m or k = 2m + 1. Define σ(y) = σ_{m} and c(y) = k − 2m. Note that T is computable, and so are the maps taking y ∈ T to σ(y) and c(y).

To A-computably determine whether x ∈ U^{M}, we can proceed as follows. First, check whether there is an edge from the root node of M to x. If not then x ∉ U^{M}. Otherwise, x is the principal node of a copy of some [m⃗, S].

By the definition of M, there is a unique list x_{0}, …, x_{n} of elements of T such that x = x_{0}, for all i < n there is an edge from x_{i} to x_{i+1}, and σ(x_{n}) = A ↾ |σ(x_{n})|. Clearly, we can A-computably find x_{0}, …, x_{n}, and hence A-computably determine c = ∑_{i=0}^{n} c(x_{i}). By the definition of U, x ∈ U^{M} if and only if c is odd.

Now, given a set B = Φ_{e}(A), we need to build a computable presentation M of M such that U^{M} ≡_{T} B. (In fact, we will build M so that U^{M} ≡_{m} B.) We take advantage of the fact that M contains infinitely many copies of each of its components and proceed as follows. We first construct a computable presentation N of M such that U^{N} is computable. We then add to this presentation A-acceptable components C_{n}, n ∈ ω, such that the principal node of C_{n} is in U^{M} if and only if n ∈ B.

At each stage s + 1 in the construction of M, we will have approximations C_{n}[s + 1] for each n such that Φ_{e}(A; n)[t] ↓ for some t ⩽ s. Each such C_{n}[s + 1] will be a copy of some [m⃗, S] such that, for the last element m of m⃗ and the largest t ⩽ s such that Φ_{e}(A; n)[t]↓, σ_{m} = A[t] ↾ φ_{e}(A; n)[t] and |S| ≡ Φ_{e}(A; n)[t] mod 2.

Every time the computation Φ_{e}(A; n) changes, we change the approximation of C_{n} to reflect this. Since Φ_{e}(A; n) is total, this will guarantee that C_{n} = lim_{s} C_{n}[s] is A-acceptable and is a copy of some [m⃗, S] such that |S| ≡ Φ_{e}(A; n) mod 2. 2.3.7. Lemma. There exists a computable presentation N of M such that U^{N} is computable.

Proof. We build N in stages. By the beginning of each stage s + 1, we will have built components C_{0}[s], …, C_{k_{s}−1}[s] for some k_{s} ∈ ω, where each C_{i}[s] will be a copy of some A[s]-acceptable [m⃗_{i}[s], S_{i}]. For each i, m⃗_{i}[s] will have a limit m⃗_{i}, and thus C_{i}[s] will have a limit C_{i}.

stage 0. Choose 0 as the root node of N. Let k_{0} = 0. stage s + 1. We break the stage up into two phases.

1. Define k_{s+1}, m⃗_{i}[s + 1], and S_{i}, k_{s} ⩽ i < k_{s+1}, so that the set {[m⃗_{i}[s + 1], S_{i}] | k_{s} ⩽ i < k_{s+1}} contains every A[s + 1]-acceptable [m⃗, S] whose height and length are less than or equal to s. For each k_{s} ⩽ i < k_{s+1}, build a new copy C_{i}[s + 1] of [m⃗_{i}[s + 1], S_{i}] using fresh large numbers and add an edge from 0 to the principal node of C_{i}[s + 1].

2. For each C_{i}[s], i < k_{s}, if C_{i}[s] is not A[s + 1]-acceptable then proceed as follows. Let m be such that σ_{m} = A[s + 1] ↾ l, where l is the length of C_{i}[s]. Let m⃗_{i}[s + 1] = m⃗_{i}[s]^{⌢}m. Extend C_{i}[s] to a copy C_{i}[s + 1] of [m⃗_{i}[s + 1], S_{i}] using fresh large numbers. Note that, since C_{i}[s] is A[s]-acceptable but not C_{i}[s + 1]-acceptable, C_{i}[s + 1] is A[s + 1]-acceptable. On the other hand, if C_{i}[s] is A[s + 1]-acceptable then let m⃗_{i}[s + 1] = m⃗_{i}[s] and C_{i}[s + 1] = C_{i}[s].

Let i ∈ ω and let s be such that C_{i}[s] is defined. It is easy to check that, for any t ⩾ s, C_{i}[t] is A[t] acceptable and has the same length as C_{i}[s]. Thus there exists a t ⩾ s such that, for all u ⩾ t, C_{i}[u] = C_{i}[t], and hence C_{i} = lim_{u} C_{i}[u] is well-defined and A-acceptable. So every C_{i} is a copy of some component of M.

Now suppose that [m⃗, S] is A-acceptable and has length l and let s ⩾ l be such that A[s + 1] ↾ l = A ↾ l. Then for every t ⩾ s there exists k_{t−1} ⩽ i < k_{t} such that C_{i}[t] is a copy of [m⃗, S] and, by the choice of s, C_{i} = C_{i}[t]. Thus each component of M has infinitely many copies in N. Together with the result of the previous paragraph, this shows that N is a computable presentation of M.

To determine whether x ∈ U^{N}, all we need to do is to look for a stage s in the construction during which numbers greater than x are used. Then x ∈ U^{N} if and only if it is the principal node of some [m⃗_{i}[s], S_{i}], i < k_{s}, with |S_{i}| odd.

2.3.8. Lemma. Let B ⩽_{T} A. There is a computable presentation M = ⟨|M| , E⟩ of M such that U^{M} ≡_{m} B.

Proof. Let e be such that Φ_{e}(A) = B. By Lemma 2.3.7, there is a computable presentation N of M such that U^{N} is computable. We can assume that D = ω−|N| is infinite.

We extend N to another computable presentation M of M in stages. When we make use of fresh numbers in the construction, we take them from D in order. We adopt the conventions that n ⩽ s ⇒ Φ_{e}(A; n)[s]↑ and A[s+1] ↾ φ_{e}(A; n)[s] ≠ A[s] ↾ φ_{e}(A; n)[s] ⇒ Φ_{e}(A; n)[s + 1]↑.

At the beginning of stage s + 1, we have copies C_{n}[s] of graphs [m⃗_{n}[s], S_{n}[s]] for each n < s such that Φ_{e}(A; n)[t] ↓ for some t < s. For each n ⩽ s, we proceed as follows.

If Φ_{e}(A; n)[s] ↓ and Φ_{e}(A; n)[t] ↑ for all t < s then let m be such that σ_{m} = A[s] ↾ φ_{e}(A; n)[s] and let m⃗_{n}[s + 1] = (m). If Φ_{e}(A; n)[s] = 0 then let S_{n}[s + 1] = ∅; otherwise, let S_{n}[s + 1] = {0}. Let C_{n}[s + 1] be a new copy of [m⃗_{n}[s + 1], S_{n}[s + 1]], formed using fresh numbers in D, and add an edge from the root node of N to the principal node of C_{n}[s + 1].

If C_{n}[s] is defined, Φ_{e}(A; n)[s] ↓, and Φ_{e}(A; n)[s − 1] ↑, then let m be such that σ_{m} = A[s] ↾ φ_{e}(A; n)[s] and let m⃗_{n}[s + 1] = m⃗_{n}[s]^{⌢}m. If Φ_{e}(A; n)[s] ≡ |S_{n}[s]| mod 2 then let S_{n}[s + 1] = S_{n}[s]; otherwise, let S_{n}[s + 1] = S_{n}[s] ∪ {|m⃗_{n}[s]|}. Extend C_{n}[s] to a copy C_{n}[s + 1] of [m⃗_{n}[s + 1], S_{n}[s + 1]], using fresh numbers in D.

If neither of the previous two cases holds then let m⃗_{n}[s + 1] = m⃗_{n}[s], S_{n}[s + 1] = S_{n}[s], and C_{n}[s + 1] = C_{n}[s].

It is easy to check that M is a computable presentation of M. In particular, the following facts hold.

1. Whenever C_{n}[s] changes, it is only to reflect the fact that a number has entered A below the use of the computation Φ_{e}(A; n).

2. C_{n}[s] will necessarily change to reflect the last change in this use.

Thus each C_{n}[s] comes to a limit C_{n}, and it is then a copy of an A-acceptable [m⃗_{n}, S_{n}]. Let x_{n} be the principal node of C_{n}.

We wish to show that U^{M} ≡_{m} B. By our choice of N, U^{M} ∩|N| is computable, so it suffices to show that n ∈ B ⇔ x_{n} ∈ U^{M}, that is, that ∀n ∈ ω(B(n) ≡ |S_{n}| mod 2).

Fix n and let s be the least number such that Φ_{e}(A; n)[t] ↓= Φ_{e}(A; n) for all t ⩾ s. By the minimality of s, Φ_{e}(A; n)[s − 1] ↑, and hence one of the first two cases in the description of the stage s + 1 action of the construction of M holds for n, so that B(n) = Φ_{e}(A; n) = Φ_{e}(A; n)[s] ≡ |S_{n}[s + 1]| mod 2. Furthermore, neither of these cases ever holds after stage s + 1, so that S_{n} = S_{n}[s + 1]. Thus B(n) ≡ |S_{n}| mod 2.

The theorem follows from Lemmas 2.3.6 and 2.3.8. ■

Remark. It is easy to give an example of a relation on a computable structure whose degree spectrum contains all degrees, and for any degree a, it is equally easy to give an example of a relation on a computable structure whose degree spectrum is {a}. Thus, realizing all degrees above a given (not necessarily c.e.) degree as the degree spectrum of a relation on a computable structure is an easy application of Proposition 2.1.1.

Similarly, combining Theorem 2.3.1 with Proposition 2.1.1, we see that if a < b are degrees and b is c.e. then there exists a relation U on the domain of a computably presentable structure M such that DgSp_{M}(U) consists of all degrees in the interval [a, b].

In general, the various examples of possible degree spectra of relations given in this dissertation can often be combined to yield further examples by using Proposition 2.1.1, and we will make no explicit mention of this fact below.

We now show how to modify the proof of Theorem 2.3.1 in order to realize all the α-c.e. degrees below a given c.e. degree as the degree spectrum of a relation on a computable structure.

The definition of α-c.e. sets and degrees depends on the choice of ordinal notation system; see [6] for details. When we talk about α-c.e. sets and degrees, where α is a computable ordinal, we assume that we have fixed a univalent, computably related ordinal notation system with a notation for α (and hence for all ordinals less than α) and let ⌜β⌝ denote the unique notation for β ⩽ α in this system.

It is slightly cumbersome to give a definition of α-c.e. sets that works for both α < ω (where we want to agree with the definition of n-c.e. sets, n ∈ ω, given by the difference hierarchy) and α ⩾ ω. The following (slightly nonstandard) definition works well for our purposes, and is easily seen to be equivalent to standard definitions of n-c.e. and α-c.e. sets and degrees (as in [6]).

2.3.9. Definition. Let α be a computable ordinal and assume we have fixed a univalent, computably related ordinal notation system with a notation for α. Let ⌜β⌝ denote the unique notation for β ⩽ α in this system.

A set A is α-c.e. if there exists a partial computable binary function Ψ satisfying the following conditions for all x ∈ ω. (We will say that Ψ witnesses the fact that A is α-c.e..)

1. Ψ(⌜α⌝, x)↓= 0.

2. If α ⩾ ω then there exists a β < α such that Ψ(⌜β⌝, x)↓.

3. For the least β ⩽ α such that Ψ(⌜β⌝, x)↓, Ψ(⌜β⌝, x) = A(x).

A degree is α-c.e. if it contains an α-c.e. set.

2.3.10. Theorem. Let α be a computable ordinal and let a be a c.e. degree. There exists an intrinsically α-c.e. relation U on the domain of a computably presentable structure M such that DgSp_{M}(U) consists of all α-c.e. degrees less than or equal to a.

Proof. This proof is similar to that of Theorem 2.3.1; we give the necessary changes. Unless otherwise noted, we use the same notation and conventions as in that proof.

Let A be a c.e. set in a. In the proof of Theorem 2.3.1, we had graphs [m⃗, S] that could be used to represent computations in which we computably approximate the oracle A. In this proof, we also want to be able to represent the nonincreasing sequences of ordinals less than or equal to α that can be associated to computable approximations of α-c.e. sets. This leads to the following definitions. 2.3.11. Definition. Let m⃗ = (m_{0}, m_{1}, …, m_{k}) ∈ ω^{k+1}, let S ⊆ {0, 1, …, k}, and let γ⃗ = (γ_{0}, γ_{1}, …, γ_{k}) ∈ (α + 1)^{k+1} be nonincreasing. The directed graph [m⃗, S, γ⃗] consists of the following nodes and edges.

1. k +1 many nodes x_{0}, x_{1}, x_{2}, …, x_{k} with an edge from x_{i} to x_{i+1} for each i < k.

2. For each i ∈ S, a copy of [⟨m_{i}, ⌜γ_{i}⌝, 1⟩] with x_{i} as its top.

3. For each i ∈ {0, 1, …, k} − S, a copy of [⟨m_{i}, ⌜γ_{i}⌝, 0⟩] with x_{i} as its top. As before, we call x_{0} the principal node of [m⃗, S, γ⃗]. The height of [m⃗, S, γ⃗] is defined to be \left|{ \atop m}\right|, its length is defined to be max\{|σ_{m}| | m ∈ m⃗\}, and its range is defined to be max{⌜γ_{i}⌝ | i ⩽ k}. 2.3.12. Definition. Let m⃗ = (m_{0}, m_{1}, …, m_{k}) ∈ ω^{k+1}, let S ⊆ {0, 1, …, k}, and let γ⃗ = (γ_{0}, γ_{1}, …, γ_{k}) ∈ (α + 1)^{k+1} be nonincreasing. We say that [m⃗, S, γ⃗] is A-acceptable if it satisfies all of the following conditions.

1. A ↾ |σ_{m_{k}}| = σ_{m_{k}}.

2. For i < k, σ_{m_{i}} ≠ A ↾ |σ_{m_{i}}| and, for every j < |σ_{m_{i}}|, σ_{m_{i}}(j) = 1 ⇒ A(j) = 1.

3. For i > 0, if i ∈ S then γ_{i} ≠ γ_{i−1}.

4. If α ⩾ ω or 0 ∈ S then γ_{0} < α. We define A[s]-acceptability analogously.

We define M and U much as before. 2.3.13. Definition. Let M′ consist of the disjoint union of infinitely many copies of each A-acceptable [m⃗, S, γ⃗], where, for some k ∈ ω, m⃗ ∈ ω^{k+1}, S ⊆ {0, 1, …, k}, and γ⃗ = (γ_{0}, γ_{1}, …, γ_{k}) ∈ (α + 1)^{k+1} is nonincreasing. Let T be the set of principal nodes of these copies.

Let M consist of M′ and one additional root node x, with an edge from x to each element of T.

Let U be the set of all elements of T that are principal nodes of connected components of M′ of the form [m⃗, S, γ⃗], |S| odd.

The following lemma has essentially the same proof as Lemma 2.3.6. 2.3.14. Lemma. If M is a computable presentation of M then U^{M} ⩽_{T} A.

We also need to check that U is intrinsically α-c.e.. 2.3.15. Lemma. If M is a computable presentation of M then U^{M} is α-c.e..

Proof. Let S be the set of all nodes y of M such that there is an edge from the root node of M to y. Let T be set of all nodes y of M such that there is an edge from y to itself. Let y ∈ T. Then y is the top of a copy of [k] for some k ∈ ω. Let m, β ⩽ α, and i ⩽ 1 be such that k = ⟨m, ⌜β⌝, i⟩. Define σ(y) = σ_{m}, β(y) = β, and c(y) = i. Note that T is computable, and so are the maps taking y ∈ T to σ(y), β(y), and c(y).

Define the partial computable binary function Ψ as follows. stage 0. For all x ∈ ω, Ψ(⌜α⌝, x) = 0. If x ∉ S then Ψ(⌜β⌝, x) = 0 for all β < α. If x ∈ S then Ψ(⌜β(x)⌝, x) = c(x). stage s + 1. For all x ∈ S, proceed as follows. Let x_{0}, …, x_{n} be the longest chain of elements of T ↾ s ∪ {x} such that x = x_{0} and for all i < n there is an edge from x_{i} to x_{i+1}. Let c = |{i < n | c(x_{i}) ≠ c(x_{i+1})}|. If Ψ(⌜β(x_{n})⌝, x) has not yet been defined then Ψ(⌜β(x_{n})⌝, x) = c.

It is not hard to check that Ψ witnesses that U^{M} is α-c.e. in the sense of Definition 2.3.9.

2.3.16. Lemma. There exists a computable presentation N of M such that U^{N} is computable.

Proof. We build N in stages in much the same way as before.

stage 0. Choose 0 as the root node of N. Let k_{0} = 0. stage s + 1. We break the stage up into two phases.

1. Define k_{s+1}, m⃗_{i}[s + 1], S_{i}, and γ⃗_{i}[s + 1], k_{s} ⩽ i < k_{s+1}, so that the set {[m⃗_{i}[s + 1], S_{i}, γ⃗_{i}[s + 1]] | k_{s} ⩽ i < k_{s+1}} contains every A[s + 1]-acceptable [m⃗, S, γ⃗] of height, length, and range less than or equal to s. For each k_{s} ⩽ i < k_{s+1}, build a new copy C_{i}[s+1] of [m⃗_{i}[s+1], S_{i}, γ⃗_{i}[s+1]] using fresh large numbers and add an edge from 0 to the principal node of C_{i}[s + 1].

2. For each C_{i}[s], i < k_{s}, if C_{i}[s] is not A[s+1]-acceptable then proceed as follows. Let m be such that σ_{m} = A[s + 1] ↾ l, where l is the length of C_{i}[s]. Let k be the height of C_{i}[s]. Let m⃗_{i}[s + 1] = m⃗_{i}[s]^{⌢}m and γ⃗_{i}[s + 1] = γ⃗_{i}[s]^{⌢}γ⃗_{i}(k − 1). Extend C_{i}[s] to a copy C_{i}[s + 1] of [m⃗_{i}[s + 1], S_{i}, γ⃗_{i}[s + 1]] using fresh large numbers. On the other hand, if C_{i}[s] is A[s + 1]-acceptable then let m⃗_{i}[s + 1] = m⃗_{i}[s], γ⃗_{i}[s + 1] = γ⃗_{i}[s], and C_{i}[s + 1] = C_{i}[s].

It is easy to check, as before, that, for every i ∈ ω, C_{i} = lim_{s} C_{i}[s] is well-defined and A-acceptable. So every C_{i} is a copy of some component of M. Moreover, by the same argument as in the proof of Lemma 2.3.7, each component of M has infinitely many copies in N. Thus N is a computable presentation of M.

As before, to determine whether x ∈ U^{N}, all we need to do is to look for a stage s in the construction during which numbers greater than x are used. Then x ∈ U^{N} if and only if it is the principal node of some [m⃗_{i}[s], S_{i}, γ⃗_{i}[s]], i < k_{s}, with |S_{i}| odd.

2.3.17. Lemma. Let B ⩽_{T} A be α-c.e.. There exists a computable presentation M = ⟨|M| , E⟩ of M such that U^{M} ≡_{m} B.

Proof. This proof is much the same as the proof of Lemma 2.3.8; we give the necessary changes.

Let Ψ be a partial computable binary function witnessing the fact that B is α-c.e.. It is not hard to see that there exists an e ∈ ω with the following properties.

1. Φ_{e}(A) = B.

2. If Φ_{e}(A; n)[s]↓ then, for the least β ⩽ α such that Ψ(⌜β⌝, n)[s]↓, Φ_{e}(A; n)[s] = Ψ(⌜β⌝, n).

3. For the least number s such that Φ_{e}(A; n)[s]↓, if either α ⩾ ω or Φ_{e}(A; n)[s] = 1 then Ψ(⌜β⌝, n)[s]↓ for some β < α.

By Lemma 2.3.16, there is a computable presentation N of M such that U^{N} is computable. We can assume that D = ω − |N| is infinite.

We extend N to another computable presentation M of M in stages. When we make use of fresh numbers in the construction, we take them from D in order.

At the beginning of stage s+1, we have copies C_{n}[s] of graphs [m⃗_{n}[s], S_{n}[s], γ⃗_{n}[s]] for each n < s such that Φ_{e}(A; n)[t] ↓ for some t < s. For each n ⩽ s, we proceed as follows.

If Φ_{e}(A; n)[s] ↓ and Φ_{e}(A; n)[t] ↑ for all t < s then let m be such that σ_{m} = A[s] ↾ φ_{e}(A; n)[s] and let m⃗_{n}[s + 1] = (m). If Φ_{e}(A; n)[s] = 0 then let S_{n}[s + 1] = ∅; otherwise, let S_{n}[s+1] = {0}. Let β ⩽ α be the least ordinal such that Ψ(⌜β⌝, n)[s]↓ and let γ⃗_{n}[s+1] = (β). Let C_{n}[s+1] be a new copy of [m⃗_{n}[s+1], S_{n}[s+1], γ⃗_{n}[s+1]], formed using fresh numbers in D, and add an edge from the root node of N to the principal node of C_{n}[s + 1].

If C_{n}[s] is defined, Φ_{e}(A; n)[s] ↓, and Φ_{e}(A; n)[s − 1] ↑, then let m be such that σ_{m} = A[s] ↾ φ_{e}(A; n)[s] and let m⃗_{n}[s + 1] = m⃗_{n}[s]^{⌢}m. If Φ_{e}(A; n)[s] ≡ |S_{n}[s]| mod 2 then let S_{n}[s + 1] = S_{n}[s]; otherwise, let S_{n}[s + 1] = S_{n}[s] ∪ {|m⃗_{n}[s]|}. Let β ⩽ α be the least ordinal such that Ψ(⌜β⌝, n)[s]↓ and let γ⃗_{n}[s + 1] = γ⃗_{n}[s]^{⌢}β. Extend C_{n}[s] to a copy C_{n}[s + 1] of [m⃗_{n}[s + 1], S_{n}[s + 1], γ⃗_{n}[s + 1]], using fresh numbers in D.

If neither of the previous two cases holds then let m⃗_{n}[s + 1] = m⃗_{n}[s], S_{n}[s + 1] = S_{n}[s], γ⃗_{n}[s + 1] = γ⃗_{n}[s], and C_{n}[s + 1] = C_{n}[s].

It is easy to check that M is a computable presentation of M, and the proof that U^{M} ≡_{m} B is the same as before.

The theorem follows from Lemmas 2.3.14, 2.3.15 and 2.3.17. ■

Suppose that we add to Definition 2.3.4 the condition that |σ_{m_{0}}| = |σ_{m_{1}}| = ⋯ = |σ_{m_{k}}| and define M and U as in Definition 2.3.5. Then, given a computable presentation M of M, the use of the A-computable procedure given in the proof of Lemma 2.3.6 for determining whether x ∈ U^{M} is a computable function of x, and hence U^{M} ⩽_{wtt} A. Furthermore, Lemma 2.3.7 can be proved as before, as can Lemma 2.3.8 for B ⩽_{wtt} A. (In the proof, we need to pick e so that there is a computable bound f on the use of Φ_{e}(A) and then adopt the convention that φ_{e}(A; n)[s] = f(n) for all n, s ∈ ω.) Similar changes can be made to the proof of Theorem 2.3.10. Thus we have the following result.

2.3.18. Theorem. Let a be a c.e. wtt-degree. There exists a relation U on the domain of a computably presentable structure M such that DgSp_{M}^{wtt}(U) consists of all wtt-degrees less than or equal to a.

Let n ∈ ω. There exists an intrinsically n-c.e. relation U on the domain of a computably presentable structure M such that DgSp_{M}^{wtt}(U) consists of all n-c.e. wtt-degrees less than or equal to a.

Remark. The reason we restrict ourselves to n-c.e. wtt-degrees, n ∈ ω, in the second part of the Theorem 2.3.18 is that every wtt-degree less than or equal to a c.e. wttdegree is ω-c.e..

2.4 Easy Finite Degree Spectra

As we will see in Chapter 3, realizing sets of degrees of finite cardinality greater than 1 as degree spectra of relations on computable structures normally requires fairly complicated constructions. It is possible, however, to obtain finite degree spectra of relations as easy corollaries to two results, one in computable model theory, and the other in classical computability theory.

First of all, for any n > 1, the existence of a relation with a two-element degree spectrum that includes 0 follows from the existence of a rigid structure of computable dimension 2, which was shown by Goncharov [11]. (This has been noted by Harizanov (see [19]).)

Indeed, suppose that A is such a computable structure, assume without loss of generality that |A| = ω, and let R be the binary relation that holds of x, y ∈ |A| if and only if y = x + 1. Clearly, if B is a computable structure and f : A ≅ B then deg(f(R)) = deg(f). So the fact that A is rigid and has computable dimension 2 implies that DgSp_{A}(R) = {0, a} for some nonzero degree a. It should be noted that, by a result of Goncharov [13] (see Chapter 6), a cannot be Δ_{2}^{0}.

It is also easy to give an example of an intrinsically d.c.e. relation on a Δ_{2}^{0}- categorical structure with a two-element degree spectrum, but one that does not include 0. As we have seen in the previous section, there exists an intrinsically d.c.e. unary relation U on the domain of a computable directed graph A whose degree spectrum is the set of d.c.e. degrees.

Now let d be a maximal incomplete d.c.e. degree, as constructed in [5]. (That is, d ≠ 0′ is d.c.e. and there are no d.c.e. degrees in (d, 0′).) It is easy to define a d.c.e. relation V on the domain of a computably categorical directed graph B whose degree spectrum is the singleton {d}.

By Proposition 2.1.1, there exists an intrinsically d.c.e. relation W on the domain of a Δ_{2}^{0}-categorical computable structure C whose degree spectrum is

{c | ∃a, b(a ∈ DgSp_{A}(U) ∧ b ∈ DgSp_{B}(V) ∧ c = a ⋎ b)} = {c | d ⩽ c and c is d.c.e.} = {d, 0′}.

It is not hard to see that W can be chosen to be invariant.

The fact that C is Δ_{2}^{0}-categorical and W is invariant is interesting in light of the results of Chapter 6, where it is shown that no finite set of degrees containing 0 can be the degree spectrum of an invariant relation on a Δ_{2}^{0}-categorical computable structure.

Finite Degree Spectra of Relations

3.1 Introduction

The Ash-Nerode type conditions mentioned in Section 1.1 usually imply that the degree spectrum of a relation is either a singleton or infinite. Indeed, for various classes of degrees, conditions have been formulated that guarantee that the degree spectrum of a relation consists of all the degrees in the given class (see [1], for example). Motivated by these considerations, as well as by Goncharov’s examples [11] of structures of finite computable dimension, Harizanov and Millar suggested the study of relations with finite degree spectra.

Harizanov [20] was the first to give an example of an intrinsically Δ_{2}^{0} relation with a two-element degree spectrum that includes 0.

3.1.1. Theorem (Harizanov). For some Δ_{2}^{0} but not c.e. degree a, there is a relation U on the domain of a computable structure A of computable dimension 2 such that DgSp_{A}(U) = {0, a}.

Khoussainov and Shore and Goncharov [16],[25] showed the existence of an intrinsically c.e. relation with a two-element degree spectrum.

3.1.2. Theorem (Khoussainov and Shore, Goncharov). For some c.e. degree a, there is an intrinsically c.e. relation U on the domain of a computable structure A of computable dimension 2 such that DgSp_{A}(U) = {0, a}.

This left open the question, asked explicitly in [16], of which (c.e.) degrees can be the nonzero element of a two-element degree spectrum. In this chapter we show that every c.e. degree belongs to some two-element degree spectrum whose other element is 0. We begin by temporarily ignoring the issue of computable dimension and establishing the following result.

3.1.3. Theorem. Let a > 0 be a c.e. degree. There exists an intrinsically c.e. relation U on the domain of a computable structure A such that DgSp_{A}(U) = {0, a}.

The proof of this theorem, which will be given in Section 3.2, uses techniques from [25], which in turn builds on work of Goncharov [10],[11] and Cholak, Goncharov, Khoussainov, and Shore [4].

In Section 3.3, we show how to modify the proof of Theorem 3.1.3 to obtain the following result, which is also due independently to Khoussainov and Shore [24], whose proof uses a complicated modification of their proof of Theorem 3.1.2.

3.1.4. Theorem. Let a > 0 be a c.e. degree. There exists an intrinsically c.e. relation U on the domain of a computable structure A of computable dimension 2 such that DgSp_{A}(U) = {0, a}. In addition, A can be picked so that every c.e. presentation of A is computable, which implies that A has c.e. dimension 2.

In [25], Khoussainov and Shore also proved the following theorem.

3.1.5. Theorem (Khoussainov and Shore). For each computable poset P there exists an intrinsically c.e. relation U on the domain of a computable structure A such that ⟨DgSp_{A}(U), ⩽_{T}⟩ ≅ P. If P has a least element then we can pick U and A so that 0 ∈ DgSp_{A}(U).

In Section 3.4, we show how to modify the proof of Theorem 3.1.3 to establish the following extension of Theorem 3.1.5.

3.1.6. Theorem. Let {A_{i}}_{i∈ω} be a uniformly c.e. (u.c.e.) collection of sets. There exists an intrinsically c.e. relation U on the domain of a computable structure A such that DgSp_{A}(U) = {deg(A_{i}) | i ∈ ω}.

Another way in which we can extend Theorem 3.1.3 is by broadening our focus from the c.e. degrees to larger classes of degrees. In Section 3.5, we establish the following result.

3.1.7. Theorem. Let α ∈ ω ∪ {ω} and let b > 0 be an α-c.e. degree. There exists an intrinsically α-c.e. relation V on the domain of a computable structure B of computable dimension 2 such that DgSp_{B}(V) = {0, b}.

Remark. Since we will only be dealing with α ⩽ ω in this chapter, we will not need to worry about the problems with the definition of α-c.e. mentioned in Section 2.3. See Section 3.5 for details.

The structure B will be an extension of the structure A constructed in the proof of Theorem 3.1.4 for an appropriate c.e. degree a. Remark. One interesting consequence of Theorem 3.1.7 is that there exists a minimal degree b such that {0, b} is realized as the degree spectrum of a relation on a computable structure.

Theorems 3.1.6 and 3.1.7 can be conflated to produce the following results, which can be proved by combining the modifications to the proof of Theorem 3.1.3 presented in Sections 3.3, 3.4 and 3.5.

3.1.8. Theorem. Let α ∈ ω ∪ {ω} and let {A_{i}}_{i∈ω} be a uniformly α-c.e. collection of sets. There exists an intrinsically α-c.e. relation U on the domain of a computable structure A such that DgSp_{A}(U) = {deg(A_{i}) | i ∈ ω}.

3.1.9. Theorem. Let α ∈ ω ∪ {ω} and let a_{0}, …, a_{n} be α-c.e. degrees. There exists an intrinsically α-c.e. relation U on the domain of a computable structure A of computable dimension n + 1 such that DgSp_{A}(U) = {a_{0}, …, a_{n}}.

It will be clear from their proofs that Theorems 3.1.3, 3.1.4, and 3.1.7 remain true with degree replaced by m-degree and DgSp_{A}(U) replaced by DgSp_{A}^{m}(U). Thus, for any reducibility r weaker than m-reducibility, both theorems remain true with degree replaced by r-degree and DgSp_{A}(U) replaced by DgSp_{A}^{r}(U). The same holds of Theorems 3.1.6 and 3.1.8 if we require that A_{i} ≠ ∅ and A_{i} ≠ ω for all i ∈ ω, and of Theorem 3.1.9 if we require that the m-degrees of ∅ and ω are not on the list a_{0}, …, a_{n}.

3.2 Proof of Theorem 3.1.3

In this section we prove the following theorem. 3.1.3. Theorem. Let a > 0 be a c.e. degree. There exists an intrinsically c.e. relation U on the domain of a computable structure A such that DgSp_{A}(U) = {0, a}. Proof. Let A be a c.e. set that is not computable and let a_{0}, a_{1}, … be a computable enumeration of A. Let A[0] = ∅, A[s + 1] = {a_{0}, …, a_{s}}. We wish to construct computable structures A^{0} and A^{1} and unary relations U^{0} and U^{1} on the domains of A^{0} and A^{1}, respectively, so that the following properties hold.

(3.2.1) A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}.

(3.2.2) U^{0} ≡_{m} A and U^{1} is computable.

(3.2.3) If G ≅ A^{0} is a computable structure then the image of U^{0} in G is either

computable or m-equivalent to A. Our structures will be directed graphs. We begin by defining our basic building

blocks. 3.2.1. Definition. Let n ∈ ω. Recall from Section 2.3 that the directed graph [n] consists of n + 3 many nodes x_{0}, x_{1}, …, x_{n+2} with an edge from x_{0} to itself, an edge from x_{n+2} to x_{1}, and an edge from x_{i} to x_{i+1} for each i ⩽ n + 1. As before, we call x_{0} the top of [n]. We call x_{n+2} the coding location of [n].

Let S ⊂ ω. The directed graph [S] consists of one copy of [s] for each s ∈ S, with all the tops identified.

Figure 3.1 shows [2] and [{2, 3}] as examples.

[figure: •; top; •; •; •; coding location; •]
[figure: •; top; •; •; •; coding location; •; •; •; •; •; coding location; •]

Figure 3.1: [2] and [{2, 3}]

Now let us consider how we could go about satisfying (3.2.1) and (3.2.2) above. We build A^{0} and A^{1} in stages. We begin by letting A_{0}^{0} and A_{0}^{1} be computable structures with co-infinite domains, each consisting of one copy of [k] for each k ∈ ω. If at each stage s + 1 we enumerate the coding location of the copy of [3a_{s}] in A_{0}^{0} into U^{0} then we will have ensured that U^{0} ≡_{m} A. However, we also wish to make U^{1} computable while guaranteeing that A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}. To describe how we can do this, we need two more definitions. 3.2.2. Definition. Let G be a computable structure in the language of directed graphs whose domain is co-infinite. G consists of the disjoint union of a number of connected components, which from now on we will just call the components of G.

Suppose that G has components K and L isomorphic to [B] and [C], respectively, where B, C ⊂ ω are finite. We define the operation K · L, which takes G to a new computable structure extending G, as follows. Extend K to be a copy of [B ∪ C] using numbers not in the domain of G. Leave every other component of G (including L) unchanged.

We will also use the notation K ·L to denote the graph [B ∪C]. It should always be clear which meaning of K · L is being used.

Given a finite sequence of operations, each of which can be applied to G, so that no two operations in the sequence affect the same component of G, we can apply all of the operations in the sequence simultaneously to G to get a structure extending G. In this case we will say that we have applied the sequence of operations to G. 3.2.3. Definition. Let G be a computable structure in the language of directed graphs whose domain is co-infinite and let X_{0}, …, X_{n} be components of G such that for each i ⩽ n, X_{i} is isomorphic to [S_{i}] for some finite S_{i} ⊂ ω. We define two operations, each of which takes G to a new computable structure extending G.

• The L-operation L(X_{0}, …, X_{n}) consists of applying the sequence of operations X_{0} · X_{1}, X_{1} · X_{2}, …, X_{n} · X_{0} to G.

• The R-operation R(X_{0}, …, X_{n}) consists of applying the sequence of operations X_{0} · X_{n}, X_{1} · X_{0}, …, X_{n} · X_{n−1} to G.

Note that if H is the structure obtained by applying L(X_{0}, …, X_{n}) to G and H′ is the structure obtained by applying R(X_{0}, …, X_{n}) to G then H ≅ H′.

We can now proceed as follows. At stage s + 1, let X_{s}^{i}, Y_{s}^{i}, and Z_{s}^{i} be the copies in A_{s}^{i} of [3a_{s}], [3a_{s} + 1], and [3a_{s} + 2], respectively. Perform L(Y_{s}^{0}, X_{s}^{0}, Z_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0} and perform R(Y_{s}^{1}, X_{s}^{1}, Z_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}. (In order to ensure that A^{0} and A^{1} are computable, the new numbers added to their domains at this stage are assumed to be greater than s.) Put the coding location of the old copy of [3a_{s}] in A_{s+1}^{0} (that is, the copy that was already in A_{0}^{0}) into U^{0} and put the coding location of the new copy of [3a_{s}] in A_{s+1}^{1} into U^{1}.

Figure 3.2 pictures what happens on either side of the construction. For each i = 0, 1, the copy of [3a_{s}] whose coding location enters U^{i} is underlined.

\xymatrix{[3a_{s} + 1] \ar[d] & [3a_{s}] \ar[d] & [3a_{s} + 2] \ar[d] \\ [3a_{s} + 1] · [3a_{s}] & \underline{[3a_{s}]} · [3a_{s} + 2] & [3a_{s} + 2] · [3a_{s} + 1] \\ [3a_{s} + 1] \ar[d] & [3a_{s}] \ar[d] & [3a_{s} + 2] \ar[d] \\ [3a_{s} + 1] · [3a_{s} + 2] & [3a_{s}] · [3a_{s} + 1] & [3a_{s} + 2] · \underline{[3a_{s}]}}

Figure 3.2: The basic coding strategy (top: A^{0} / bottom: A^{1})

Now let A^{0} = ⋃_{s∈ω} A_{s}^{0} and A^{1} = ⋃_{s∈ω} A_{s}^{1}. It is easy to show, by induction using the definition of the L- and R-operations, that for each s, A_{s}^{0} ≅ A_{s}^{1} via an isomorphism that carries U^{0}[s] to U^{1}[s]. (Here U^{i}[s] is the set of all numbers that have entered U^{i} by the end of stage s.) Furthermore, whenever a component of A_{s}^{i} participates in an operation at stage s + 1, so does the isomorphic component of A_{s}^{1−i}. Since A^{0} and A^{1} have no infinite components, it follows that A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}.

Furthermore, it is still true that U^{0} ≡_{m} A, since a number is in U^{0} if and only if it is the coding location of the copy of [3a] in A_{0}^{0} for some a ∈ A. On the other hand, any number put into U^{1} at a stage s + 1 is a new number, and is therefore greater than s. Thus U^{1} is computable.

So we see that the above construction is enough to satisfy (3.2.1) and (3.2.2). We now consider how to satisfy (3.2.3). Let us begin by attempting to satisfy this property for a particular computable structure G. That is, we want to ensure that if G ≅ A^{0} then the image of U^{0} in G is either computable or m-equivalent to A. The way in which we do this is based on the following observation.

Let U be the image of U^{0} in G and let G[s] denote the stage s approximation to G. Assume that for all s ∈ ω, A_{s}^{0}, A_{s}^{1}, and G[s] have no non-trivial automorphisms.

Suppose that at some stage s, A_{s}^{0} has components X_{s}^{0}, Y_{s}^{0}, Z_{s}^{0}, and S_{s}^{0}, A_{s}^{1} has isomorphic components X_{s}^{1}, Y_{s}^{1}, Z_{s}^{1}, and S_{s}^{1}, respectively, and G[s] has isomorphic components X_{s}, Y_{s}, Z_{s}, and S_{s}, respectively. Now suppose we perform L(Y_{s}^{0}, X_{s}^{0}, Z_{s}^{0}, S_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0} and perform R(Y_{s}^{1}, X_{s}^{1}, Z_{s}^{1}, S_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}. Then A_{s+1}^{0} has components isomorphic to S_{s}^{0} · Y_{s}^{0}, Y_{s}^{0} · X_{s}^{0}, X_{s}^{0} · Z_{s}^{0}, and Z_{s}^{0} · S_{s}^{0}, and these are the only components of A_{s+1}^{0} that contain copies of X_{s}^{0}, Y_{s}^{0}, Z_{s}^{0}, or S_{s}^{0}. So if X_{s}, Y_{s}, Z_{s}, and S_{s} do not grow into isomorphic copies of the aforementioned components of A_{s+1}^{0} then we can win immediately by not involving these components in any further operations, thus guaranteeing that G ≇ A^{0}.

So if G ≅ A^{0} then there are only two possibilities. The first is that S_{s} grows into a copy of S_{s} · Y_{s}, Y_{s} grows into a copy of Y_{s} · X_{s}, X_{s} grows into a copy of X_{s} · Z_{s}, and Z_{s} grows into a copy of Z_{s} · S_{s}. In this case we will say that G “goes to the left”. The other possibility is that Y_{s} grows into a copy of S_{s} · Y_{s}, S_{s} grows into a copy of Z_{s} · S_{s}, Z_{s} grows into a copy of X_{s} · Z_{s}, and X_{s} grows into a copy of Y_{s} · X_{s}. In this case we will say that G “goes to the right”.

Now, if the coding location of X_{s}^{0} is put into U^{0} and the coding location of the new copy of X_{s}^{1} is put into U^{1} then the coding location of the copy of X_{s} that is part of the component isomorphic to X_{s} · Z_{s} is in U. In other words, if G goes to the left then the coding location of X_{s} in G[s] is in U, while if G goes to the right then the coding location of the copy of X_{s} in G − G[s] is in U. It is easy to conclude from this that if G goes to the left at all but finitely many stages then U ≡_{m} A, while if G goes to the right at all but finitely many stages then U is computable.

So it is enough to ensure that G either almost always goes to the left or almost always goes to the right. This can be done by always using the same component of G, which we will call the special component of G, as S_{s}.

That is, we first pick some component of G to be its special component. Say we pick the one that extends the first copy of [0] to appear in G. (Let us assume that 0 ∉ A.) At stage 0, we define A_{0}^{i} as above and wait until a copy of [0] is enumerated into G. We also define r_{0} to be 0. The value of r_{s} will code whether G goes to the left or to the right at stage s.

At stage s + 1, we let X_{s}^{i}, Y_{s}^{i}, and Z_{s}^{i} be the copies in A_{s}^{i} of [3a_{s}], [3a_{s} + 1], and [3a_{s} + 2], respectively, and let S_{s}^{i} be the isomorphic copy in A_{s}^{i} of the special component S_{s} of G[s]. We wait until copies of X_{s}^{i}, Y_{s}^{i}, and Z_{s}^{i} are enumerated into G[s] and then perform the same operations as before. We then wait until copies of S_{s} · Y_{s}, Y_{s} · X_{s}, X_{s} · Z_{s}, and Z_{s} · S_{s} are enumerated into G. Either the copy of S_{s} · Y_{s} or that of Z_{s} · S_{s} will extend S_{s}. Whichever one it is now becomes S_{s+1}. If S_{s+1} ≅ S_{s} · Y_{s} then r_{s+1} = 0; otherwise r_{s+1} = 1.

The above construction ensures that if G ≅ A^{0} then the special component of G is infinite. On the other hand, it is not hard to check that it also guarantees that if G changes direction infinitely often (that is, if r_{s} does not have a limit) then no component of A^{0} is infinite, so that G ≇ A^{0}.

However, there are two problems with this construction. First of all, it is easy to check that if G almost always goes to the left then no component of A^{1} is infinite, while if G almost always goes to the right then no component of A^{0} is infinite. In either case, (3.2.1) no longer holds.

We solve this by re-using components in operations. The idea is roughly as follows. Instead of using four components in our operations, we use six. That is, at stage s + 1, in addition to the components mentioned above, we pick two other components B_{s}^{0} and C_{s}^{0} of A_{s}^{0} and isomorphic components B_{s}^{1} and C_{s}^{1} of A_{s}^{1}, perform L(Y_{s}^{0}, X_{s}^{0}, Z_{s}^{0}, B_{s}^{0}, S_{s}^{0}, C_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0}, and perform R(Y_{s}^{1}, X_{s}^{1}, Z_{s}^{1}, B_{s}^{1}, S_{s}^{1}, C_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}. (In order to accommodate the extra components, X_{s}^{i} will be the copy of [6a_{s}] in A_{s}^{i}. A similar change will be made for the other components.)

As long as G is going in the same direction, we designate every other stage as an isomorphism recovery stage. At such a stage s + 1, if r_{s} = 0 then we let C_{s}^{0} be the component of A_{s}^{0} that extends B_{s−1}^{0} and let C_{s}^{1} be the isomorphic component of A_{s}^{1}. On the other hand, if r_{s} = 1 then we let B_{s}^{1} be the component of A_{s}^{1} that extends C_{s−1}^{1} and let B_{s}^{0} be the isomorphic component of A_{s}^{0}. Whenever G changes direction, we restart this isomorphism recovery process.

It is straightforward to check that this strategy guarantees that if r_{s} has a limit then the copies of the special component of G in A^{0} and A^{1} are isomorphic, while still ensuring that if r_{s} does not have a limit then no component of A^{0} or A^{1} is infinite. We will give an example below to illustrate isomorphism recovery.

Another problem that we must face in the full construction is that, in general, we can not know in advance whether a given computable structure G is isomorphic to A^{0}. So it is not possible to wait at each stage until the appropriate components are enumerated into G. To get around this, we introduce the notion of a recovery stage.

At stage s + 1, where we would have waited for G to provide components Y_{s}, X_{s}, Z_{s}, B_{s}, and C_{s}, we now simply do not involve copies of the special component of G in our operations unless these components are provided. (That is, if these components are not in G[s] then we perform L(Y_{s}^{0}, X_{s}^{0}, Z_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0} and perform R(Y_{s}^{1}, X_{s}^{1}, Z_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}.) Furthermore, where we would have waited for Y_{s}, X_{s}, Z_{s}, B_{s}, S_{s}, and C_{s} to grow into copies of Y_{s} · X_{s}, X_{s} · Z_{s}, Z_{s} · B_{s}, B_{s} · S_{s}, S_{s} · C_{s}, and C_{s} · Y_{s}, we now just declare that we are waiting for these copies to appear in G.

A recovery stage is then a stage s + 1 such that

1. G[s] contains copies of all the components for which we are currently waiting and

2. for each j ∉ A[s] that is less than or equal to the number of recovery stages before stage s + 1, G[s] contains components that can be used as Y_{t}, X_{t}, Z_{t}, B_{t}, and C_{t} if a_{t} = j for some t > s.

(These conditions will be made more precise in the full construction, which will be presented shortly.)

Now suppose that G ≅ A^{0}. Say that G is active at a given stage if isomorphic copies of its special component participate in the operations performed at that stage. We want there to be infinitely many recovery stages. This will happen as long as there is a bound on how often G can be active while waiting for recovery.

Let P be the set of all j ∈ ω that do not enter A before the j^{th} recovery stage. Let M be the set of all coding locations of copies of [6j], j ∈ P, in G and let N be the set of all coding locations of copies of [6j], j ∉ P, in G. By the definition of recovery stage, G will be active at each stage s + 1 such that a_{s} ∈ P. We make it a rule that G is not active at any other stage. This clearly provides the desired bound on the number of times G can be active while waiting for recovery.

Arguing as before, we conclude that if G almost always goes to the left then U ∩ M ≡_{m} A, while if G almost always goes to the right then U ∩ M is computable. But P, N, and U ∩ N are computable, since if we wait until the j^{th} recovery stage then we can tell whether j ∈ P, and if j ∉ P then j ∈ A. So if G almost always goes to the left then U ≡_{m} A, while if G almost always goes to the right then U is computable. Thus (3.2.3) is satisfied for this G.

We remark that the modification to the construction that we have just described makes the definition of isomorphism recovery stage a little more complicated, in that we will not want a stage to be an isomorphism recovery stage unless it is a first stage, that is, the first stage at which G is active after a recovery stage. We will discuss this further below.

Before proceeding, let us look at two examples. The first one illustrates what happens when G recovers. Suppose that s < t < u < v are such that s + 1 is a first stage, r_{s+1} = 0, v + 1 is the next recovery stage after stage s + 1, and t + 1 and u + 1 are the only two stages between stages s + 1 and v + 1 at which G is active.

Figure 3.3 pictures what happens on the A^{0} side of the construction. From now on, we will use the notation R_{s}^{i} in place of S_{s}^{i}, since this is the notation that we will adopt in the full construction. This change is made because R_{w}^{i} might not be isomorphic to the special component of G[w] if w + 1 is not a recovery stage.

\xymatrix{Y_{s}^{0} \ar[d] & X_{s}^{0} \ar[d] & Z_{s}^{0} \ar[d] & B_{s}^{0} \ar[d] & R_{s}^{0} \ar[dd] & C_{s}^{0} \ar[d] \\ Y_{s}^{0} · X_{s}^{0} & X_{s}^{0} · Z_{s}^{0} & Z_{s}^{0} · B_{s}^{0} & B_{s}^{0} · R_{s}^{0} &  & C_{s}^{0} · Y_{s}^{0} \\ Y_{t}^{0} \ar[d] & X_{t}^{0} \ar[d] & Z_{t}^{0} \ar[d] & B_{t}^{0} \ar[d] & R_{s}^{0} · C_{s}^{0} \ar[dd] & C_{t}^{0} \ar[d] \\ Y_{t}^{0} · X_{t}^{0} & X_{t}^{0} · Z_{t}^{0} & Z_{t}^{0} · B_{t}^{0} & B_{t}^{0} · R_{s}^{0} · C_{s}^{0} &  & C_{t}^{0} · Y_{t}^{0} \\ Y_{u}^{0} \ar[d] & X_{u}^{0} \ar[d] & Z_{u}^{0} \ar[d] & B_{u}^{0} \ar[d] & R_{s}^{0} · C_{s}^{0} · C_{t}^{0} \ar[d] & C_{u}^{0} \ar[d] \\ Y_{u}^{0} · X_{u}^{0} & X_{u}^{0} · Z_{u}^{0} & Z_{u}^{0} · B_{u}^{0} & B_{u}^{0} · R_{s}^{0} · C_{s}^{0} · C_{t}^{0} & R_{s}^{0} · C_{s}^{0} · C_{t}^{0} · C_{u}^{0} & C_{u}^{0} · Y_{u}^{0}}

Figure 3.3: Recovery

Note that, by the definition of recovery stage, the special component of G[s] is isomorphic to R_{s}^{0} and, for each w = s, t, u, G[s] has components Y_{w}, X_{w}, Z_{w}, B_{w}, and C_{w} isomorphic to Y_{w}^{0}, X_{w}^{0}, Z_{w}^{0}, B_{w}^{0}, and C_{w}^{0}, respectively.

Since G recovers at stage v + 1, there are two possibilities. The first one is that the special component of G[v] is isomorphic to one of B_{s}^{0} · R_{s}^{0}, B_{t}^{0} · R_{s}^{0} · C_{s}^{0}, or B_{u}^{0} · R_{s}^{0} · C_{s}^{0} · C_{t}^{0}. In this case, r_{v+1} = 1.

The second possibility is that the special component of G[v] is isomorphic to R_{s}^{0} · C_{s}^{0} · C_{t}^{0} · C_{u}^{0}. In this case, the component of G[v] that extends C_{u} must be the one isomorphic to C_{u}^{0} · Y_{u}^{0}. From this it follow that the component of G[v] that extends Y_{u} must be the one isomorphic to Y_{u}^{0} · X_{u}^{0}. Proceeding in this fashion, we see that for each w = s, t, u, the component of G[v] that extends X_{w} is the one isomorphic to X_{w}^{0} · Z_{w}^{0}.

Notice that in the previous argument it is crucial that no component of A^{0} other than the one that extends R_{s}^{0} participates in operations more than once in the interval (s, v]. This is the reason for requiring that isomorphism recovery happen only at first stages.

Our second example illustrates isomorphism recovery. Suppose that s < t < u < v < w are such that s+1 and v+1 are first stages, t+1 and u+1 are the only stages between s+1 and v+1 at which G is active, and w+1 is the first stage after stage v+1 at which G is active. Suppose further that r_{s+1} = r_{t+1} = r_{u+1} = r_{v+1} = r_{w+1} = 0.

Figure 3.4 pictures what happens on either side of the construction. The key point to notice here is that if R_{t}^{0} ≅ R_{t}^{1} then R_{w}^{0} extends R_{t}^{0}, R_{w}^{1} extends R_{t}^{1}, and R_{w}^{0} ≅ R_{w}^{1}. This pattern would allow us to prove by induction that if r_{s} has a limit then each A^{i} has a unique infinite component S^{i} and S^{0} ≅ S^{1}.

In the full construction, we will of course need to satisfy (3.2.3) for every computable directed graph. Let G_{0}, G_{1}, … be a standard enumeration of all partial computable directed graphs. In our construction, we will define the concepts of

[figure: Y_{t}^{0}; X_{t}^{0}; Z_{t}^{0}; B_{t}^{0}; R_{t}^{0}; C_{t}^{0}; Y_{t}^{0} · X_{t}^{0}; X_{t}^{0} · Z_{t}^{0}; Z_{t}^{0} · B_{t}^{0}; B_{t}^{0} · R_{t}^{0}; R_{t}^{0} · C_{t}^{0}; C_{t}^{0} · Y_{t}^{0}; Y_{u}^{0}; X_{u}^{0}; Z_{u}^{0}; B_{u}^{0}; R_{u}^{0}; C_{u}^{0}; Y_{u}^{0} · X_{u}^{0}; X_{u}^{0} · Z_{u}^{0}; Z_{u}^{0} · B_{u}^{0}; B_{u}^{0} · R_{t}^{0} · C_{t}^{0}; R_{t}^{0} · C_{t}^{0} · C_{u}^{0}; C_{u}^{0} · Y_{u}^{0}; Y_{v}^{0}; X_{v}^{0}; Z_{v}^{0}; B_{v}^{0}; R_{v}^{0}; C_{v}^{0}; Y_{v}^{0} · X_{v}^{0}; X_{v}^{0} · Z_{v}^{0}; Z_{v}^{0} · B_{v}^{0}; B_{v}^{0} · R_{t}^{0} · C_{t}^{0} · C_{u}^{0}; R_{t}^{0} · C_{t}^{0} · C_{u}^{0} · B_{t}^{0}; B_{t}^{0} · R_{t}^{0} · Y_{v}^{0}; R_{w}^{0}]

[figure: Y_{t}^{1}; X_{t}^{1}; Z_{t}^{1}; B_{t}^{1}; R_{t}^{1}; C_{t}^{1}; Y_{t}^{1} · C_{t}^{1}; X_{t}^{1} · Y_{t}^{1}; Z_{t}^{1} · X_{t}^{1}; B_{t}^{1} · Z_{t}^{1}; R_{t}^{1} · B_{t}^{1}; C_{t}^{1} · R_{t}^{1}; Y_{u}^{1}; X_{u}^{1}; Z_{u}^{1}; B_{u}^{1}; R_{u}^{1}; C_{u}^{1}; Y_{u}^{1} · C_{u}^{1}; X_{u}^{1} · Y_{u}^{1}; Z_{u}^{1} · X_{u}^{1}; B_{u}^{1} · Z_{u}^{1}; C_{t}^{1} · R_{t}^{1} · B_{u}^{1}; C_{u}^{1} · R_{t}^{1} · C_{t}^{1}; Y_{v}^{1}; X_{v}^{1}; Z_{v}^{1}; B_{v}^{1}; R_{v}^{1}; C_{v}^{1}; Y_{v}^{1} · R_{t}^{1} · B_{t}^{1}; X_{v}^{1} · Y_{v}^{1}; Z_{v}^{1} · X_{v}^{1}; B_{v}^{1} · Z_{v}^{1}; C_{u}^{1} · R_{t}^{1} · C_{t}^{1} · B_{v}^{1}; R_{t}^{1} · B_{t}^{1} · C_{t}^{1} · C_{u}^{1}; R_{w}^{1}]

Figure 3.4: Isomorphism recovery (top: A^{0} / bottom: A^{1}) n-recovery stage, n-isomorphism recovery stage, and so forth.

We will be able to satisfy (3.2.3) for each G_{n} independently. We first need some notation to allow us to distinguish the components that are used to satisfy (3.2.3) for a particular G_{n}. 3.2.4. Definition. Let G be a directed graph. We denote by (G)_{n} the subgraph of G consisting of those components C of G that satisfy both of the following conditions.

1. C is not isomorphic to [x] for any x ∈ ω.

2. C contains either a copy of [6n + 3] or a copy of [6⟨n, j⟩ + l] for some j ∈ ω, l ∈ {1, 2, 4, 5}.

The idea is that the components of (A^{i})_{n} are the ones used in the construction to satisfy (3.2.3) for G_{n}, and that (A_{s}^{i})_{n} is the subgraph of A_{s}^{i} consisting of all such components that have participated in operations before stage s + 1.

We also need new L- and R-operations in order to involve components of (A^{i})_{n} for different n’s in operations at the same stage. 3.2.5. Definition. Let G be a computable structure in the language of directed graphs whose domain is co-infinite. Let K_{0}, K_{1}, …, K_{n} and L be components of G isomorphic to [y_{0}], [y_{1}], …, [y_{n}] and [x], respectively, where y_{0}, y_{1}, …, y_{n}, x ∈ ω. We define two operations, each of which takes G to a new computable structure extending G.

• The operation (K_{0}, K_{1}, …, K_{n}) · L consists of performing the following steps, and otherwise leaving G unchanged. Create a new copy of [x] using numbers not in the domain of G. For each i ⩽ n, add an edge from the top of this new copy of [x] to the top of K_{i}.

• The operation L · (K_{0}, K_{1}, …, K_{n}) consists of performing the following steps, and otherwise leaving G unchanged. For each i ⩽ n, create a new copy of [y_{i}] using numbers not in the domain of G. For each i ⩽ n, add an edge from the top of L to the top of the new copy of [y_{i}].

For example, suppose that L, K_{0}, and K_{1} are copies of [2], [3], and [4], respectively. Then the operation (K_{0}, K_{1}) · L consists of extending K_{0} ∪ K_{1} to a copy of the graph shown in Figure 3.5, while the operation L·(K_{0}, K_{1}) consists of extending L to a copy of that same graph.

[figure: •; top; •; •; •; coding location; •; •; top; •; •; •; •; coding location; •; •; top; •; •; •; •; •; coding location; •]

Figure 3.5: The result of either of the operations ([3], [4]) · [2] or [2] · ([3], [4])

3.2.6. Definition. Let G be a computable structure in the language of directed graphs whose domain is co-infinite. We say that a component C of G is a set component if it is isomorphic to [T] for some finite T ⊂ ω. If T is a singleton then we say that C is a singleton component.

Let Y_{0}, …, Y_{n}, X, Z_{0}, …, Z_{n}, B_{0}, …, B_{n}, S_{0}, …, S_{n}, and C_{0}, …, C_{n} be components of G such that for each i ⩽ n, X, Y_{i}, and Z_{i} are singleton components and B_{i}, S_{i}, and C_{i} are set components. We define two operations, each of which takes G to a new computable structure extending G.

• The L-operation

L(Y_{0}, …, Y_{n}; X; Z_{0}, …, Z_{n}; B_{0}, S_{0}, C_{0}; …; B_{n}, S_{n}, C_{n})

consists of applying the following sequence of operations to G.

(Y_{0}, …, Y_{n}) · X, X · (Z_{0}, …, Z_{n}), Z_{0} · B_{0}, …, Z_{n} · B_{n}, B_{0} · S_{0}, …, B_{n} · S_{n}, S_{0} · C_{0}, …, S_{n} · C_{n}, C_{0} · Y_{0}, …, C_{n} · Y_{n}

• The R-operation

R(Y_{0}, …, Y_{n}; X; Z_{0}, …, Z_{n}; B_{0}, S_{0}, C_{0}; …; B_{n}, S_{n}, C_{n})

consists of applying the following sequence of operations to G.

Y_{0} · C_{0}, …, Y_{n} · C_{n}, C_{0} · S_{0}, …, C_{n} · S_{n}, S_{0} · B_{0}, …, S_{n} · B_{n},

B_{0} · Z_{0}, …, B_{n} · Z_{n}, (Z_{0}, …, Z_{n}) · X, X · (Y_{0}, …, Y_{n})

Note that if H is the structure obtained by applying

L(Y_{0}, …, Y_{n}; X; Z_{0}, …, Z_{n}; B_{0}, S_{0}, C_{0}; …; B_{n}, S_{n}, C_{n})

to G and H′ is the structure obtained by applying

R(Y_{0}, …, Y_{n}; X; Z_{0}, …, Z_{n}; B_{0}, S_{0}, C_{0}; …; B_{n}, S_{n}, C_{n})

to G then H ≅ H′.

We now proceed with the construction of A^{0}, A^{1}, U^{0}, and U^{1}. For each i = 0, 1, we first define a computable structure A_{0}^{i}. At each stage s + 1, we perform an operation on A_{s}^{i} to get A_{s+1}^{i} ⊃ A_{s}^{i} and add an element of the domain of A_{s+1}^{i} to U^{i}. We then let A^{i} = ⋃_{s∈ω} A_{s}^{i}. In order to guarantee that A^{i} is computable, we make it a convention that all numbers added to the domain of A_{s}^{i} at stage s + 1 to get A_{s+1}^{i} are greater than s.

Let t ⩾ s. We say that a component L of A_{t}^{i} or A^{i} (resp. G_{n}[t] or G_{n}) extends a component K of A_{s}^{i} (G_{n}[s]) if the domain of K is contained in the domain of L, and that L properly extends K if this containment is proper. (Note that “L extends K” means more than just that K can be embedded in L, though it of course implies the latter.) If L extends K but not properly then we say that L is a component of A_{s}^{i} (G_{n}[s]).

It will be the case that if K and L are distinct components of A_{s}^{0} and K is not a copy of [6k +1] or [6k +2] for any k ∈ ω then K and L are not extended by the same component of A^{0}. Thus, since we are not interested in G_{n} unless it is isomorphic to A^{0}, we may assume without loss of generality that, for each n, s ∈ ω, there is an embedding of G_{n}[s] into A_{s}^{0} such that if K and L are distinct components of G_{n}[s] and K is not a copy of [6k + 1] or [6k + 2] for any k ∈ ω then K and L are mapped into distinct components of A_{s}^{0}.

Suppose there is a least stage s such that G_{n}[s] has a component K isomorphic to [6n + 3] and let t ⩾ s. We call the component of G_{n}[t] (resp. G_{n}) that extends K the special component of G_{n}[t] (G_{n}).

It will be easy to check as we go along that the following are properties of the construction.

1. For each s ∈ ω, A_{s}^{0} ≅ A_{s}^{1} and no component of A_{s}^{i} is embeddable in another component of A_{s}^{i}.

2. Let t < s. No component of A_{t}^{i} isomorphic to one of [6a_{s}] or [6⟨n, a_{s}⟩ + l], l ∈ {1, 2, 4, 5}, n ∈ ω, participates in an operation at stage t + 1.

stage 0. Let A_{0}^{0} and A_{0}^{1} be computable structures with co-infinite domains, each consisting of one copy of [k] for each k ∈ ω. For each n ∈ ω, let r_{n,0} = 0.

stage s + 1. For each n < s + 1, say that s + 1 is an n-recovery stage if all of the following conditions hold.

1. G_{n}[s] has a special component isomorphic to some component of A_{s}^{0}.

2. (G_{n}[s])_{n} ≅ (A_{s}^{0})_{n}.

3. Let j ∉ A[s] be less than or equal to the number of n-recovery stages before stage s + 1. There is a component of G_{n}[s] isomorphic to [6j] and for each l ∈ {1, 2, 4, 5} there is a component of G_{n}[s] isomorphic to [6⟨n, j⟩ + l].

If s + 1 is an n-recovery stage then, for i = 0, 1, let S_{n,s}^{i} be the component of A_{s}^{i} that is isomorphic to the special component of G_{n}[s]. If s + 1 is the first n-recovery stage then let r_{n,s+1} = 0. Otherwise, proceed as follows. Let i = r_{n,s} and let t+1 be the last n-recovery stage before stage s + 1. If S_{n,s}^{i} extends S_{n,t}^{i} then let r_{n,s+1} = i, and otherwise let r_{n,s+1} = 1 − i.

If s + 1 is not an n-recovery stage then let r_{n,s+1} = r_{n,s}.

Now let n_{0}, n_{1}, …, n_{m} be all the numbers n_{j} such that a_{s} is less than the number of n_{j}-recovery stages less than or equal to s+1. We say that each n_{j}, j ⩽ m, is active at stage s + 1. For i = 0, 1 and j ⩽ m, let X_{s}^{i}, Y_{n_{j},s}^{i}, and Z_{n_{j},s}^{i} be the components of A_{s}^{i} isomorphic to [6a_{s}], [6⟨n_{j}, a_{s}⟩ + 1], and [6⟨n_{j}, a_{s}⟩ + 2], respectively.

For each j ⩽ m, let t_{j} + 1 ⩽ s + 1 be the last n_{j}-recovery stage. We say that s + 1 is an n_{j}-first stage if it is the first stage after stage t_{j} at which n_{j} is active.

We say that s + 1 is an n_{j}-change stage if it is an n_{j}-first stage and either t_{j} + 1 was the first n_{j}-recovery stage or r_{n_{j},t_{j}+1} ≠ r_{n_{j},t_{j}}.

We say that s + 1 is an n_{j}-isomorphism recovery stage if it is an n_{j}-first stage but not an n_{j}-change stage and one of the following conditions holds.

1. The last n_{j}-first stage before stage s + 1 was an n_{j}-change stage.

2. There has been at least one stage at which n_{j} was active after the last n_{j}- isomorphism recovery stage and before stage s + 1.

For each j ⩽ m we define components B_{n_{j},s}^{i} and C_{n_{j},s}^{i}, i = 0, 1. There are two cases.

1. s+1 is an n_{j}-isomorphism recovery stage. If the first condition in the definition of n_{j}-isomorphism recovery stage holds then let t + 1 be the last n_{j}-first stage, and otherwise let t+1 be the first stage after the last n_{j}-isomorphism recovery stage at which n_{j} was active. There are two subcases.

(a) If r_{n_{j},s+1} = 0 then let C_{n_{j},s}^{0} be the component of A_{s}^{0} that extends B_{n_{j},t}^{0} and let C_{n_{j},s}^{1} be its isomorphic image in A_{s}^{1}. For i = 0, 1, let B_{n_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨n_{j}, a_{s}⟩ + 4].

(b) If r_{n_{j},s+1} = 1 then let B_{n_{j},s}^{1} be the component of A_{s}^{1} that extends C_{n_{j},t}^{1} and let B_{n_{j},s}^{0} be its isomorphic image in A_{s}^{0}. For i = 0, 1, let C_{n_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨n_{j}, a_{s}⟩ + 5].

2. s + 1 is not an n_{j}-isomorphism recovery stage. For i = 0, 1, let B_{n_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨n_{j}, a_{s}⟩ + 4] and let C_{n_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨n_{j}, a_{s}⟩ + 5].

For each j ⩽ m, proceed as follows. Let i = r_{n_{j},s+1} and let t + 1 ⩽ s + 1 be the last n_{j}-recovery stage. Let R_{n_{j},s}^{i} be the component of A_{s}^{i} that extends S_{n_{j},t}^{i} and let R_{n_{j},s}^{1−i} be its isomorphic image in A_{s}^{1−i}.

Now perform

L(Y_{n_{0},s}^{0}, …, Y_{n_{m},s}^{0}; X_{s}^{0}; Z_{n_{0},s}^{0}, …, Z_{n_{m},s}^{0}; B_{n_{0},s}^{0}, R_{n_{0},s}^{0}, C_{n_{0},s}^{0};
B_{n_{1},s}^{0}, R_{n_{1},s}^{0}, C_{n_{1},s}^{0}; …; B_{n_{m},s}^{0}, R_{n_{m},s}^{0}, C_{n_{m},s}^{0})

on A_{s}^{0} to get A_{s+1}^{0} and perform

R(Y_{n_{0},s}^{1}, …, Y_{n_{m},s}^{1}; X_{s}^{1}; Z_{n_{0},s}^{1}, …, Z_{n_{m},s}^{1}; B_{n_{0},s}^{1}, R_{n_{0},s}^{1}, C_{n_{0},s}^{1};
B_{n_{1},s}^{1}, R_{n_{1},s}^{1}, C_{n_{1},s}^{1}; …; B_{n_{m},s}^{1}, R_{n_{m},s}^{1}, C_{n_{m},s}^{1})

on A_{s}^{1} to get A_{s+1}^{1}. (If no n is active at stage s + 1 then, for j = 0, 1, let Y_{s}^{j} and Z_{s}^{j} be the components of A_{s}^{j} isomorphic to [6⟨0, a_{s}⟩ + 1] and [6⟨0, a_{s}⟩ + 2], respectively. Perform L(Y_{s}^{0}, X_{s}^{0}, Z_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0} and perform R(Y_{s}^{1}, X_{s}^{1}, Z_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}.)

Put the coding location of the copy of [6a_{s}] in A_{0}^{0} into U^{0} and put the coding location of the copy of [6a_{s}] in A_{s+1}^{1} − A_{s}^{1} into U^{1}.

This completes the construction. Let A^{0} = ⋃_{s∈ω} A_{s}^{0} and A^{1} = ⋃_{s∈ω} A_{s}^{1}. Since for each s ∈ ω and i = 0, 1, all numbers in A_{s+1}^{i} − A_{s}^{i} are greater than s, A^{0} and A^{1} are computable. We now wish to argue that properties (3.2.1)–(3.2.3) are satisfied. Theorem 3.1.3 will then follow immediately.

Property (3.2.2) is easy to establish, so we deal with it first. 3.2.7. Lemma. U^{0} ≡_{m} A and U^{1} is computable.

Proof. The numbers in U^{0} are all coding locations of components of A_{0}^{0} of the form [6j], j ∈ ω, and the coding location of the copy of [6j] in A_{0}^{0} is in U^{0} if and only if j ∈ A. Since given any number we can computably determine whether it is a coding location in A_{0}^{0} and if so, for what [k], this means that U^{0} ≡_{m} A.

Any number put into U^{1} at a stage s + 1 is a new number, i.e. one not in the domain of A_{s}^{1}, and hence is greater than s. Thus U^{1} is computable.

In showing that (3.2.1) and (3.2.3) are satisfied, we will need a few facts about the construction. The more obvious ones are given without proof, while the remaining ones are broken down into easily checked properties of the construction. Figures 3.3 and 3.4 should be helpful here.

We say that a component of A^{i} participates in an operation at stage s + 1 if it extends a component of A_{s}^{i} that participates in an operation at stage s + 1.

3.2.8. Lemma. Let G ≅ A^{0} be computable. Given x in the domain of G, we can computably determine if x is the coding location of a copy of some [k], k ∈ ω, and if so, for what k. In particular, the set of coding locations of copies of [6j], j ∈ ω, in G is computable. 3.2.9. Lemma. Let K and L be distinct components of A_{s}^{i} such that K is not a copy of [6k + 1] or [6k + 2] for any k ∈ ω. K and L are not extended by the same component of A^{i}.

Lemma 3.2.9 will be used without explicit mention several times below. 3.2.10. Lemma. A component of A^{i} is infinite if and only if it participates in operations infinitely often. 3.2.11. Lemma. Let k, n ∈ ω. Any component of A^{i} containing a copy of [6k], [6⟨n, k⟩ + 1], or [6⟨n, k⟩ + 2] can participate in an operation at most once. Any component of A^{i} containing a copy of [6n + 3], [6⟨n, k⟩ + 4], or [6⟨n, k⟩ + 5] can participate in operations only at stages at which n is active. 3.2.12. Lemma. Suppose that r_{n,s} = i ≠ r_{n,s+1}. Of all the components of (A^{i})_{n} that participate in operations at stages before stage s + 1, the only one that can participate in an operation after stage s is the one that extends S_{n,s}^{i}.

Proof. Suppose that a component of (A^{i})_{n} participates in operations at stages t < u and does not participate in an operation at any stage in (t, u), and let v be the last n-first stage before stage u. It is not hard to check that it must then be the case that t ⩾ v.

Now let t be the first stage after stage s at which n is active. Then t is an nchange stage, and hence not an n-isomorphism recovery stage. It follows that, of all the components of (A^{i})_{n} that participate in operations at stages before stage s + 1, the only one that participates in an operation at stage t is the one that extends S_{n,s}^{i}. The lemma now follows by induction, using the fact mentioned in the previous paragraph.

3.2.13. Lemma. For each s ∈ ω, A_{s}^{0} ≅ A_{s}^{1} and no component of A_{s}^{i} is embeddable in another component of A_{s}^{i}. Furthermore, if a component of A_{s}^{i} participates in an operation at stage s + 1 then so does the (unique) isomorphic component of A_{s}^{1−i}. 3.2.14. Lemma. Suppose that r_{n,s} = i for all s > t and n is active at stages s_{0} + 1 and s_{1} + 1, where s_{1} > s_{0} ⩾ t. Then R_{n,s_{1}}^{i} extends R_{n,s_{0}}^{i}. 3.2.15. Lemma. Let s + 1 be an n-recovery stage that is not the first such stage. Let t + 1 be the last n-recovery stage before stage s + 1. If r_{n,s} = 0 ≠ r_{n,s+1} then S_{n,s}^{0} extends B_{n,u}^{0} for some u ∈ [t, s). Similarly, if r_{n,s} = 1 ≠ r_{n,s+1} then S_{n,s}^{1} extends C_{n,u}^{1} for some u ∈ [t, s).

Proof. The two cases, i = 0 and i = 1, are similar. We do the case i = 0.

Since S_{n,s}^{0} contains a copy of S_{n,t}^{0} and r_{n,t+1} = r_{n,s} = 0, either S_{n,s}^{0} extends S_{n,t}^{0} or S_{n,s}^{0} extends B_{n,u}^{0} for some u such that t ⩽ u < s. But it cannot be the case that S_{n,s}^{0} extends S_{n,t}^{0}, since that would imply that r_{n,s+1} = 0.

3.2.16. Lemma. Suppose that r_{n,t} = 0 (resp. r_{n,t} = 1) for all t ⩾ s_{0}. Then no component of (A^{0})_{n} ((A^{1})_{n}) can participate in an operation more than twice after stage s_{0} unless it extends R_{n,t}^{0} (R_{n,t}^{1}) for some t ⩾ s_{0}, while no component of (A^{1})_{n} ((A^{0})_{n}) can participate in an operation more than twice after stage s_{0} unless it extends C_{n,t}^{1} (B_{n,t}^{0}) for some t ⩾ s_{0} such that t + 1 is an n-isomorphism recovery stage.

Proof. The two cases, i = 0 and i = 1, are similar. We do the case i = 0.

Suppose that component K of (A^{0})_{n} participates in operations at stages s + 1 < t + 1 < u + 1, where s + 1 ⩾ s_{0}, but not at any stage in (t + 1, u + 1). Then either K extends R_{n,u}^{0} or u + 1 is an n-isomorphism recovery stage and K extends C_{n,u}^{0}. We claim that the latter case cannot hold. Indeed, if K extends C_{n,u}^{0} then K extends B_{n,t}^{0}. But since r_{n,t+1} = 0, B_{n,t}^{0} is a singleton component. Thus K does not participate in an operation at stage s + 1, contrary to hypothesis.

Now suppose that component L of (A^{1})_{n} participates in operations at stages s + 1 < t + 1 < u + 1, where s + 1 ⩾ s_{0}, but not at any stage in (t + 1, u + 1). Then either L extends R_{n,t}^{1} or t+1 is an n-isomorphism recovery stage and L extends C_{n,t}^{1}. But in the former case, u + 1 is an n-isomorphism recovery stage and L extends C_{n,u}^{1}.

3.2.17. Lemma. Suppose that s < t < v are such that s + 1 is an n-isomorphism recovery stage, r_{n,u} = r_{n,s+1} for all u > s, t + 1 is the next stage after stage s + 1 at which n is active, and v+1 is the next n-isomorphism recovery stage after stage s+1. For i = 0, 1, let B^{i}, R^{i}, and C^{i} be the components of A_{t+1}^{i} that extend B_{n,t}^{i}, R_{n,t}^{i}, and C_{n,t}^{i}, respectively, and let B̂^{i}, R̂^{i}, and Ĉ^{i} be the components of A_{v}^{i} that extend B^{i}, R^{i}, and C^{i}, respectively. If r_{n,s+1} = 0 then B̂^{0} ≅ B^{0} and R̂^{1} ≅ R^{1}, while if r_{n,s+1} = 1 then Ĉ^{1} ≅ C^{1} and R̂^{0} ≅ R^{0}.

Proof. The two cases, i = 0 and i = 1, are similar. We do the case i = 0. It is enough to show that the components of (A^{0})_{n} and (A^{1})_{n} that extend B^{0} and R^{1}, respectively, do not participate in operations at any stage in (t + 1, v + 1).

Suppose that component K of (A^{0})_{n} participates in operations at stages t + 1 and u + 1, where t < u < v. Since no stage in (t + 1, v + 1) is an n-isomorphism recovery stage, K extends R_{n,u}^{0}, which in turn extends R_{n,t}^{0}. Thus K does not extend B^{0}.

Now suppose that component L of (A^{1})_{n} participates in operations at stages t+1 and u + 1, where t < u < v. Again, no stage in (t + 1, v + 1) is an n-isomorphism recovery stage, so L extends R_{n,u}^{1}, which in turn extends C_{n,t}^{1}. Thus L does not extend R^{1}.

3.2.18. Lemma. Let x be the coding location of a copy of [6a_{s}] in component K of A^{i}. Either K contains a copy of [6⟨n, a_{s}⟩+1] for some n ∈ ω, in which case x ∉ U^{i}, or K contains a copy of [6⟨n, a_{s}⟩ + 2] for some n ∈ ω, in which case x ∈ U^{i}.

We now wish to show that (3.2.1) holds. It follows from Lemmas 3.2.10, 3.2.13, and 3.2.18 that it is enough to show that for each infinite component of A^{i} there is an isomorphic component of A^{1−i}. The first step in establishing this result is characterizing the infinite components of A^{i}. 3.2.19. Lemma. If r_{n,s} does not have a limit then no component of (A^{i})_{n} is infinite.

Proof. Suppose that r_{n,s} = 0 ≠ r_{n,s+1} and let t+1 be the last n-recovery stage before stage s+1. By Lemma 3.2.12, of all the components of (A^{0})_{n} that have participated in operations at stages before stage s + 1, the only one that can participate in an operation after stage s is the component L that extends S_{n,s}^{0}. By Lemma 3.2.15, L extends B_{n,u}^{0} for some u ∈ [t, s). But the fact that r_{n,t+1} = 0 means that for all u ∈ [t, s), B_{n,u}^{0} is a singleton component, and hence did not participate in an operation at any stage before stage t + 1.

Thus, no component of (A^{0})_{n} that participates in an operation before stage t+1 can do so again after stage s. A similar argument shows that if r_{n,s} = 1 ≠ r_{n,s+1} and t + 1 is the last n-recovery stage before stage s + 1 then no component of (A^{1})_{n} that participates in an operation before stage t + 1 can do so again after stage s.

The lemma now follows from Lemma 3.2.10.

Thus, the only components of A^{i} that can be infinite are those components that are in (A^{i})_{n} for some n such that r_{n,s} has a limit and n is active infinitely often. So, by the comments preceding Lemma 3.2.19, to establish that (3.2.1) holds, it is enough to show that if r_{n,s} has a limit and n is active infinitely often then, for each i = 0, 1, there is exactly one infinite component S_{n}^{i} of (A^{i})_{n} and S_{n}^{0} ≅ S_{n}^{1}. This is what we do in the next few lemmas. 3.2.20. Lemma. There are infinitely many n-recovery stages if and only if n is active infinitely often.

Proof. By definition, n is active at a stage s + 1 if and only if a_{s} is less than the number of n-recovery stages less than or equal to s + 1. Thus, if there are finitely many n-recovery stages then n cannot be active infinitely often.

For the other direction, suppose that there are infinitely many n-recovery stages but only finitely many stages at which n is active. Let s be the last stage at which n is active. Now given x ∈ ω, let t + 1 be the first stage after stage s by which there have been x + 1 many n-recovery stages. Then x ∈ A ⇔ x ∈ A[t]. But this means that A is computable, contrary to hypothesis.

3.2.21. Lemma. If n is active infinitely often and r_{n,s} has a limit then there are infinitely many n-isomorphism recovery stages.

Proof. If n is active infinitely often then, by Lemma 3.2.20, there are infinitely many n-recovery stages, and thus infinitely many n-first stages. The fact that r_{n,s} has a limit implies that only finitely many of these can be n-change stages. The lemma now follows directly from the definition of n-isomorphism recovery stage.

3.2.22. Lemma. Suppose that n is active infinitely often and s and i are such that r_{n,t} = r_{n,s} = i for all t ⩾ s. By Lemma 3.2.21, there are infinitely many n-isomorphism recovery stages. Let s_{0} + 1 < s_{1} + 1 < ⋯ be the n-isomorphism recovery stages after stage s. For each j ∈ ω, let t_{j} + 1 be the next stage after stage s_{j} + 1 at which n is active. (Note that t_{j} < s_{j+1} for all j ∈ ω.) For t ⩾ t_{0}, let K_{t}^{l} be the component of A_{t}^{l} that extends R_{n,t_{0}}^{l}. Then K_{t_{j}}^{l} = R_{n,t_{j}}^{l} for all j ∈ ω.

Proof. The two cases, i = 0 and i = 1, are similar. We do the case i = 0. That K_{t_{j}}^{0} = R_{n,t_{j}}^{0} for all j ∈ ω follows from Lemma 3.2.14. Now assume by induction that K_{t_{j}}^{1} = R_{t_{j}}^{1}. Let B be the component of A_{t_{j}+1}^{0}

that extends B_{n,t_{j}}^{0}. By construction, B ≅ K_{t_{j}+1}^{1}. Since s_{j+1} + 1 is an n-isomorphism recovery stage, C_{s_{j+1}}^{0} extends B. Thus, by Lemma 3.2.17, C_{s_{j+1}}^{0} ≅ B. By the same lemma, K_{s_{j+1}}^{1} ≅ K_{t_{j}+1}^{1}. So C_{s_{j+1}}^{0} ≅ K_{s_{j+1}}^{1}, and thus C_{s_{j+1}}^{1} = K_{s_{j+1}}^{1}. Let R be the component of A_{s_{j+1}+1}^{0} that extends R_{n,s_{j+1}}^{0}. Then R ≅ K_{s_{j+1}+1}^{1}. But, by Lemma 3.2.11, R_{n,t_{j+1}}^{0} ≅ R and K_{t_{j+1}}^{1} ≅ K_{s_{j+1}+1}^{1}. So K_{t_{j+1}}^{1} ≅ R_{n,t_{j+1}}^{0}, and thus K_{t_{j+1}}^{1} = R_{n,t_{j+1}}^{1}.

For the next two lemmas, we assume the hypotheses of Lemma 3.2.22 and adopt its notation. Let S_{n}^{l} be the component of A^{l} that extends R_{n,s_{0}}^{l}. 3.2.23. Lemma. S_{n}^{l} is the only infinite component of (A^{l})_{n}.

Proof. This follows immediately from Lemmas 3.2.10, 3.2.16, and 3.2.22 and the observation that, for all j ∈ ω, if i = 0 in the hypotheses of Lemma 3.2.22 then R_{n,t_{j}}^{1} extends C_{n,s_{j}}^{1}, while if i = 1 then R_{n,t_{j}}^{0} extends B_{n,s_{j}}^{0}.

3.2.24. Lemma. S_{n}^{0} ≅ S_{n}^{1}.

Proof. Directly from Lemma 3.2.22, since, by definition, R_{n,t_{j}}^{0} ≅ R_{n,t_{j}}^{1} for all j ∈ ω, and S_{n}^{i} = ⋃_{j∈ω} R_{n,t_{j}}^{i} for i = 0, 1.

As we have argued above, Lemmas 3.2.23 and 3.2.24 suffice to establish that (3.2.1) holds. 3.2.25. Lemma. A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}.

We are left with showing that property (3.2.3) holds. This will break down into three steps. Suppose that G_{n} ≅ A^{0} and let U be the image of U^{0} in G_{n}.

1. We show that r_{n,s} reaches a limit r_{n}.

2. Let t be such that for all u ⩾ t, r_{n,u} = r_{n}. Let A′ be the set of all a_{s} such that either s < t or the number of n-recovery stages less than or equal to s + 1 is less than or equal to a_{s}. Let N be the set of all x ∈ G_{n} such that x is the coding location of a copy of [6a], a ∈ A′. We show that A′, N, and U ∩ N are computable.

3. Let C be the set of coding locations of copies of graphs of the form [6j], j ∈ ω, in G_{n} and let M = C − N. Note that M is computable. We show that

(a) if r_{n} = 0 then an element x of M is in U if and only if, for some j ∈ A, x is the coding location of the first copy of [6j] to appear in G_{n}, so that U ∩ M ≡_{m} A, while

(b) if r_{n} = 1 then an element x of M is in U if and only if, for some j ∈ ω, x is the coding location of the second copy of [6j] to appear in G_{n}, so that U ∩ M is computable.

Since U = (U ∩ N) ∪ (U ∩ M), this is enough to establish that (3.2.3) holds. 3.2.26. Lemma. If G_{n} ≅ A^{0} then there are infinitely many n-recovery stages, and hence the special component of G_{n} is infinite.

Proof. If G_{n} ≅ A^{0} then G_{n} has a special component. Now suppose that there are only m many n-recovery stages. Let s_{0} be the last n-recovery stage. (If there are no n-recovery stages then let s_{0} be the first stage at which G_{n} has a special component.) By Lemma 3.2.20, there is a stage s_{1} > s_{0} such that n is not active at any stage t ⩾ s_{1}. If m = a_{u} for some u > s_{1} then let s = u + 1; otherwise, let s = s_{1}.

Consider the components of A^{0} that contain a copy of the special component of G_{n}. By Lemma 3.2.11, each such component is finite. Thus, if the first condition in the definition of n-recovery stage is not eventually satisfied after stage s then the special component of G_{n} is not isomorphic to any component of A^{0}.

Now consider (A^{0})_{n}. Again by Lemma 3.2.11, (A^{0})_{n} is finite. So if the second condition in the definition of n-recovery stage is not eventually satisfied after stage s then (G_{n})_{n} ≇ (A^{0})_{n}.

Finally, let j ∉ A[s], j ⩽ m, and l ∈ {1, 2, 4, 5} and consider the components of A^{0} that contain a copy of [6⟨n, j⟩ + l]. By the choice of s, j ∉ A[s] ⇒ j ∉ A, so there is only one such component and it is isomorphic to [6⟨n, j⟩ + l]. Similarly, there is only one component that contains a copy of [6j] and it is isomorphic to [6j].

Thus, if the third condition in the definition of n-recovery stage is not eventually satisfied after stage s then there is a component of A^{0} that is not isomorphic to any component of G_{n}.

In any case, G_{n} cannot be isomorphic to A^{0}, contradicting the hypothesis of the lemma. So there are infinitely many n-recovery stages.

Now, given any two n-recovery stages t + 1 < u + 1 such that there is a stage in (t, u] at which n is active, the special component of G_{n}[u] properly extends the special component of G_{n}[t] . But, by Lemma 3.2.20, n is active at infinitely many stages. This establishes the second part of the lemma.

3.2.27. Lemma. If G_{n} ≅ A^{0} then r_{n} = lim_{s} r_{n,s} is well-defined.

Proof. This follows immediately from Lemmas 3.2.19 and 3.2.26.

3.2.28. Lemma. Suppose that G_{n} ≅ A^{0}. Let U be the image of U^{0} under this isomorphism. By Lemma 3.2.27, r_{n} = lim_{s} r_{n,s} is well-defined. Let t be such that for all u ⩾ t, r_{n,u} = r_{n}. Let A′ be the set of all a_{s} such that either s < t or the number of n-recovery stages less than or equal to s + 1 is less than or equal to a_{s}. Let N be the set of all x ∈ G_{n} such that x is the coding location of a copy of [6a], a ∈ A′. Then A′, N, and U ∩ N are computable.

Proof. By Lemma 3.2.8, given x in the domain of G_{n}, we can computably determine if x is the coding location of a copy of some [k], k ∈ ω, and if so, for what k.

By Lemma 3.2.26, there are infinitely many n-recovery stages, so the set of all a_{s} such that the number of n-recovery stages less than or equal to s + 1 is less than or equal to a_{s} is computable. Thus A′ and N are computable.

Now, if x ∈ N then x is the coding location of a copy of [6a_{s}] for some s ∈ ω. Let K be the component of G_{n} that contains x. By Lemma 3.2.18, K contains either a copy of [6⟨m, a_{s}⟩ + 1] for some m ∈ ω or a copy of [6⟨m, a_{s}⟩ + 2] for some m ∈ ω, but not both, and x ∈ U ∩ N if and only if K contains a copy of [6⟨m, a_{s}⟩ + 2] for some m ∈ ω. Thus U ∩ N is computable.

3.2.29. Lemma. Suppose that s + 1 is an n-recovery stage, but not the first such stage, and that r_{n,s+1} = r_{n,s} = i. Let t + 1 be the last n-recovery stage before stage s + 1 and let s_{0} + 1 < s_{1} + 1 < ⋯ < s_{m} + 1 be the stages in the interval (t, s] at which n is active. For each k ⩽ m, let Y_{k}, X_{k}, Z_{k}, B_{k}, R_{k} and C_{k} be Y_{n,s_{k}}^{i}, X_{s_{k}}^{i}, Z_{n,s_{k}}^{i}, B_{n,s_{k}}^{i}, R_{n,s_{k}}^{i}, and C_{n,s_{k}}^{i}, respectively, and let Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, R′_{k} and C′_{k} be the components of A_{s}^{i} that extend Y_{k}, X_{k}, Z_{k}, B_{k}, R_{k} and C_{k}, respectively. Then the following hold.

1. For every k ⩽ m, Y_{k}, X_{k}, Z_{k}, B_{k}, and C_{k} are components of A_{t}^{i}, and so is R_{0}. For every k, l ⩽ m, R′_{k} = R′_{l}.

2. There exists a component R̂_{0} of G_{n}[t] such that R̂_{0} ≅ R_{0} and, for each k ⩽ m, there exist components Ŷ_{k}, X̂_{k}, Ẑ_{k}, B̂_{k}, and Ĉ_{k} of G_{n}[t] such that Ŷ_{k} ≅ Y_{k}, X̂_{k} ≅ X_{k}, Ẑ_{k} ≅ Z_{k}, B̂_{k} ≅ B_{k}, and Ĉ_{k} ≅ C_{k}.

3. Let R̂′_{0} be the component of G_{n}[s] that extends R̂_{0} and, for each k ⩽ m, let Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, and Ĉ′_{k} be the components of G_{n}[s] that extend Ŷ_{k}, X̂_{k}, Ẑ_{k}, B̂_{k}, and Ĉ_{k}, respectively. R̂′_{0} ≅ R′_{0} and, for each k ⩽ m, Ŷ′_{k} ≅ Y′_{k}, X̂′_{k} ≅ X′_{k}, Ẑ′_{k} ≅ Z′_{k}, B̂′_{k} ≅ B′_{k}, and Ĉ′_{k} ≅ C′_{k}.

Proof. The first part of the lemma follows from the way Y_{n,s_{k}}^{i}, X_{s_{k}}^{i}, Z_{n,s_{k}}^{i}, B_{n,s_{k}}^{i}, R_{n,s_{k}}^{i}, and C_{n,s_{k}}^{i} are defined and Lemma 3.2.14. The second part of the lemma follows from the definition of n-recovery stage. We prove the third part of the lemma.

The two cases, i = 0 and i = 1, are similar. We do the case i = 0. Figure 3.3 might be helpful here.

By definition, R̂_{0} and R̂′_{0} are the special components of G_{n}[t] and G_{n}[s], respectively. Thus, since r_{n,s+1} = r_{n,s} = 0 and s + 1 is an n-recovery stage, R̂′_{0} ≅ R′_{0}. We now proceed by reverse induction, beginning with m.

It follows from the construction and the first part of the lemma that if K is taken from among R̂′_{0}, Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, and Ĉ′_{k}, k ⩽ m, and L ≠ K is taken from among R̂′_{0}, Ŷ′_{l}, X̂′_{l}, Ẑ′_{l}, B̂′_{l}, and Ĉ′_{l}, l ⩽ m, then K ≇ L. Furthermore, if K is one of Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, or Ĉ′_{k}, and L is a component of A_{s}^{0} such that K ≅ L then L is one of R′_{0}, Y′_{l}, X′_{l}, Z′_{l}, B′_{l}, or C′_{l}, l ⩾ k.

Thus, since we assume by induction that for all j > k, Ŷ′_{j} ≅ Y′_{j}, X̂′_{j} ≅ X′_{j}, Ẑ′_{j} ≅ Z′_{j}, B̂′_{j} ≅ B′_{j}, and Ĉ′_{j} ≅ C′_{j}, we may assume that if K is one of Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, or Ĉ′_{k} and L is a component of A_{s}^{0} such that K ≅ L then L is one of R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of Ĉ_{k} are R′_{0} and C′_{k}. Since R̂′_{0} ≅ R′_{0}, it must be the case that Ĉ′_{k} ≅ C′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of Ŷ_{k} are C′_{k} and Y′_{k}. Since Ĉ′_{k} ≅ C′_{k}, it must be the case that Ŷ′_{k} ≅ Y′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of X̂_{k} are Y′_{k} and X′_{k}. Since Ŷ′_{k} ≅ Y′_{k}, it must be the case that X̂′_{k} ≅ X′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of Ẑ_{k} are X′_{k} and Z′_{k}. Since X̂′_{k} ≅ X′_{k}, it must be the case that Ẑ′_{k} ≅ Z′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of B̂_{k} are Z′_{k} and B′_{k}. Since Ẑ′_{k} ≅ Z′_{k}, it must be the case that B̂′_{k} ≅ B′_{k}.

3.2.30. Lemma. Suppose that s + 1 is an n-recovery stage such that r_{n,s+1} = r_{n,s}. Let t + 1 be the last n-recovery stage before stage s + 1 and let j ∈ A[s] − A[t] be less than the number of n-recovery stages less than or equal to t + 1. By the definition of n-recovery stage, there is a unique component K of G_{n}[t] isomorphic to [6j]. Let L be the component of G_{n} that extends K. Then L contains a copy of [6⟨n, j⟩ + 2] if and only if r_{n,s+1} = 0.

Proof. Let i = r_{n,s+1}. Let u be such that j = a_{u}. Since t + 1 ⩽ u < s and j is less than the number of n-recovery stages less than or equal to t + 1, n is active at stage u + 1. So, adopting the notation of Lemma 3.2.29, K = X̂_{k} for some k. By Lemma 3.2.11, L ≅ X̂′_{k}. Thus, by Lemma 3.2.29, L ≅ X′_{k}. But X′_{k} is the component of A_{s}^{i} that extends X_{u}^{i}, so, by construction, X′_{k} contains a copy of [6⟨n, j⟩ + 2] if and only if i = 0.

3.2.31. Lemma. Suppose that G_{n} ≅ A^{0}. Let U be the image of U^{0} under this isomorphism. Then either U is computable or U ≡_{m} A.

Proof. Let N be as in Lemma 3.2.28. Let C be the set of coding locations of copies of graphs of the form [6j], j ∈ ω, in G_{n} and let M = C − N. By Lemmas 3.2.8 and 3.2.28, C and N are computable, and hence so is M. By Lemma 3.2.28 and the fact that U = (U ∩ N) ∪ (U ∩ M), it is enough to show that either U ∩ M ≡_{m} A or U ∩ M is computable.

But, combining Lemmas 3.2.18 and 3.2.30, we conclude that

1. if r_{n} = 0 then an element x of M is in U if and only if, for some j ∈ A, x is the coding location of the first copy of [6j] to appear in G_{n}, so that U ∩ M ≡_{m} A, while

2. if r_{n} = 1 then an element x of M is in U if and only if, for some j ∈ ω, x is the coding location of the second copy of [6j] to appear in G_{n}, so that U ∩ M is computable.

Theorem 3.1.3 follows from Lemmas 3.2.7, 3.2.25, and 3.2.31. ■

3.3 Proof of Theorem 3.1.4

In this section we prove the following theorem.

3.1.4. Theorem. Let a > 0 be a c.e. degree. There exists an intrinsically c.e. relation U on the domain of a computable structure A of computable dimension 2 such that DgSp_{A}(U) = {0, a}. In addition, A can be picked so that every c.e. presentation of A is computable, which implies that A has c.e. dimension 2.

Proof. Let A be a c.e. set that is not computable and let a_{0}, a_{1}, … be a computable enumeration of A. Let A[0] = ∅, A[s + 1] = {a_{0}, …, a_{s}}. We wish to construct computable structures A^{0} and A^{1} and unary relations U^{0} and U^{1} on the domains of A^{0} and A^{1}, respectively, so that the following properties hold.

(3.3.1) A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}.

(3.3.2) U^{0} ≡_{m} A and U^{1} is computable.

(3.3.3) If G ≅ A^{0} is a computable structure then G is computably isomorphic to either A^{0} or A^{1}.

(3.3.4) A^{0} is rigid.

(3.3.5) Every c.e. presentation of A^{0} with computable equality relation is computable.

The reason that (3.3.5) is enough to establish the last part of Theorem 3.1.4 is that we can let A be the result of adding to A^{0} the binary relation Q that holds of x and y if and only if x ≠ y. Clearly, A shares all the relevant computable properties of A^{0}, and any c.e. presentation of A restricts to a c.e. presentation of A^{0} with computable equality relation.

The construction in this section will be similar to the one in Section 3.2, as will the proof that properties (3.3.1) and (3.3.2) hold. (The construction in Section 3.2 also satisfied (3.3.4), but we did not mention this fact in that section because it was not needed to prove Theorem 3.1.3.) We will adopt the notation and conventions of Section 3.2 unless otherwise specified.

We now discuss the basic idea for satisfying (3.3.3). The construction in Section 3.2 was an injury-free one in which the satisfaction of (3.2.3) for a given G_{n} was handled by a single strategy, which worked with the components of (A^{i})_{n} and acted independently from strategies for the satisfaction of (3.2.3) for other G_{m}. The trade-off was forgoing any control of (G_{n})_{m} for m ≠ n.

In order to satisfy (3.3.3), we need to control more of G_{n} than just (G_{n})_{n}. In order to illustrate how we do this, we consider the following sample situation. We have two graphs G_{0} and G_{1}. We proceed with a construction like that of Section 3.2, except that, in order for G_{0} to recover at stage s + 1, we require not only that G_{0}[s] have the components that were necessary for 0-recovery in Section 3.2, but also those that were necessary for 1-recovery, and we do not allow 1-recovery unless there is 0-recovery, which means that 1 is not active unless 0 is active. We claim that we will succeed in controlling (G_{0})_{1} in the same sense that we controlled (G_{0})_{0} in Section 3.2.

An example should be helpful here. Suppose that s < t < u < v are such that s + 1 is a first stage, v + 1 is the next recovery stage after stage s + 1, r_{0,s+1} = r_{0,v+1} = 0, and t + 1 and u + 1 are the only two stages in the interval (s + 1, v + 1) at which 0 is active. Suppose further that 1 is also active at stages t + 1 and u + 1. Notice that, since we do not allow 1 to be active unless 0 is active, t + 1 and u + 1 are the only two stages in the interval (s + 1, v + 1) at which 1 is active.

Figures 3.6–3.8 picture what happens on the A^{0} side of the construction, depending on whether r_{1,s+1} = 0 or r_{1,s+1} = 1.

We are assuming the definition of recovery stage is such that the special component of G_{0}[s] is isomorphic to R_{s}^{0}, G_{0}[s] has a component R_{1,s} isomorphic to R_{1,s}^{0}, and, for each w = s, t, u and i = 0, 1, G_{0}[s] has components Y_{i,w}, X_{w}, Z_{i,w}, B_{i,w}, and C_{i,w} isomorphic to Y_{i,w}^{0}, X_{w}^{0}, Z_{i,w}^{0}, B_{i,w}^{0}, and C_{i,w}^{0}, respectively.

Since G_{0} recovers at stage v + 1 and r_{0,v+1} = 0, the special component of G_{0}[v] is isomorphic to R_{0,s}^{0} · C_{0,s}^{0} · C_{0,t}^{0} · C_{0,u}^{0}. So, arguing as in Section 3.2, we see that, for each w = s, t, u, the components of G_{0}[v] that extend Y_{0,w}, X_{w}, Z_{0,w}, B_{0,w}, and C_{0,w} are isomorphic to the components of A_{v}^{0} that extend Y_{0,w}^{0}, X_{w}^{0}, Z_{0,w}^{0}, B_{0,w}^{0}, and C_{0,w}^{0}, respectively. In other words, all of (G_{0})_{0} goes in the same direction as (A^{0})_{0}.

We wish to show that (G_{0})_{1} also goes in the same direction as (A^{0})_{1}. Let R′_{1,s} be the component of G_{0}[v] that extends R_{1,s} and, for each w = s, t, u, let Y′_{1,w}, X′_{w}, Z′_{1,w}, B′_{1,w}, and C′_{1,w} be the components of G_{0}[v] that extend Y_{1,w}, X_{w}, Z_{1,w}, B_{1,w}, and C_{1,w}, respectively.

In the r_{1,s+1} = 0 case, we can argue as follows.

\xymatrix{Y_{0,s}^{0} \ar[d] & X_{s}^{0} \ar[d] & Z_{0,s}^{0} \ar[d] \\ (Y_{0,s}^{0}, Y_{1,s}^{0}) · X_{s}^{0} & X_{s}^{0} · (Z_{0,s}^{0}, Z_{1,s}^{0}) & Z_{0,s}^{0} · B_{0,s}^{0} \\ Y_{0,t}^{0} \ar[d] & X_{t}^{0} \ar[d] & Z_{0,t}^{0} \ar[d] \\ (Y_{0,t}^{0}, Y_{1,t}^{0}) · X_{t}^{0} & X_{t}^{0} · (Z_{0,t}^{0}, Z_{1,t}^{0}) & Z_{0,t}^{0} · B_{0,t}^{0} \\ Y_{0,u}^{0} \ar[d] & X_{u}^{0} \ar[d] & Z_{0,u}^{0} \ar[d] \\ (Y_{0,u}^{0}, Y_{1,u}^{0}) · X_{u}^{0} & X_{u}^{0} · (Z_{0,u}^{0}, Z_{1,u}^{0}) & Z_{0,u}^{0} · B_{0,u}^{0}}

\xymatrix{B_{0,s}^{0} \ar[d] & R_{0,s}^{0} \ar[dd] & C_{0,s}^{0} \ar[d] \\ B_{0,s}^{0} · R_{0,s}^{0} &  & C_{0,s}^{0} · Y_{0,s}^{0} \\ B_{0,t}^{0} \ar[d] & R_{0,s}^{0} · C_{0,s}^{0} \ar[dd] & C_{0,t}^{0} \ar[d] \\ B_{0,t}^{0} · R_{0,s}^{0} · C_{0,s}^{0} &  & C_{0,t}^{0} · Y_{0,t}^{0} \\ B_{0,u}^{0} \ar[d] & R_{0,s}^{0} · C_{0,s}^{0} · C_{0,t}^{0} \ar[d] & C_{0,u}^{0} \ar[d] \\ B_{0,u}^{0} · R_{0,s}^{0} · C_{0,s}^{0} · C_{0,t}^{0} & R_{0,s}^{0} · C_{0,s}^{0} · C_{0,t}^{0} · C_{0,u}^{0} & C_{0,u}^{0} · Y_{0,u}^{0}}

Figure 3.6: Recovery in a two-strategy scenario: (A^{0})_{0}

\xymatrix{Y_{1,s}^{0} \ar[d] & X_{s}^{0} \ar[d] & Z_{1,s}^{0} \ar[d] \\ (Y_{0,s}^{0}, Y_{1,s}^{0}) · X_{s}^{0} & X_{s}^{0} · (Z_{0,s}^{0}, Z_{1,s}^{0}) & Z_{1,s}^{0} · B_{1,s}^{0} \\ Y_{1,t}^{0} \ar[d] & X_{t}^{0} \ar[d] & Z_{1,t}^{0} \ar[d] \\ (Y_{0,t}^{0}, Y_{1,t}^{0}) · X_{t}^{0} & X_{t}^{0} · (Z_{0,t}^{0}, Z_{1,t}^{0}) & Z_{1,t}^{0} · B_{1,t}^{0} \\ Y_{1,u}^{0} \ar[d] & X_{u}^{0} \ar[d] & Z_{1,u}^{0} \ar[d] \\ (Y_{0,u}^{0}, Y_{1,u}^{0}) · X_{u}^{0} & X_{u}^{0} · (Z_{0,u}^{0}, Z_{1,u}^{0}) & Z_{1,u}^{0} · B_{1,u}^{0}}

\xymatrix{B_{1,s}^{0} \ar[d] & R_{1,s}^{0} \ar[dd] & C_{1,s}^{0} \ar[d] \\ B_{1,s}^{0} · R_{1,s}^{0} &  & C_{1,s}^{0} · Y_{1,s}^{0} \\ B_{1,t}^{0} \ar[d] & R_{1,s}^{0} · C_{1,s}^{0} \ar[dd] & C_{1,t}^{0} \ar[d] \\ B_{1,t}^{0} · R_{1,s}^{0} · C_{1,s}^{0} &  & C_{1,t}^{0} · Y_{1,t}^{0} \\ B_{1,u}^{0} \ar[d] & R_{1,s}^{0} · C_{1,s}^{0} · C_{1,t}^{0} \ar[d] & C_{1,u}^{0} \ar[d] \\ B_{1,u}^{0} · R_{1,s}^{0} · C_{1,s}^{0} · C_{1,t}^{0} & R_{1,s}^{0} · C_{1,s}^{0} · C_{1,t}^{0} · C_{1,u}^{0} & C_{1,u}^{0} · Y_{1,u}^{0}}

\xymatrix{Y_{1,s}^{0} \ar[d] & X_{s}^{0} \ar[d] & Z_{1,s}^{0} \ar[d] \\ (Y_{0,s}^{0}, Y_{1,s}^{0}) · X_{s}^{0} & X_{s}^{0} · (Z_{0,s}^{0}, Z_{1,s}^{0}) & Z_{1,s}^{0} · B_{1,s}^{0} \\ Y_{1,t}^{0} \ar[d] & X_{t}^{0} \ar[d] & Z_{1,t}^{0} \ar[d] \\ (Y_{0,t}^{0}, Y_{1,t}^{0}) · X_{t}^{0} & X_{t}^{0} · (Z_{0,t}^{0}, Z_{1,t}^{0}) & Z_{1,t}^{0} · B_{1,t}^{0} \\ Y_{1,u}^{0} \ar[d] & X_{u}^{0} \ar[d] & Z_{1,u}^{0} \ar[d] \\ (Y_{0,u}^{0}, Y_{1,u}^{0}) · X_{u}^{0} & X_{u}^{0} · (Z_{0,u}^{0}, Z_{1,u}^{0}) & Z_{1,u}^{0} · B_{1,u}^{0}}

\xymatrix{B_{1,s}^{0} \ar[ddr] & R_{1,s}^{0} \ar[d] & C_{1,s}^{0} \ar[d] \\  & R_{1,s}^{0} · C_{1,s}^{0} & C_{1,s}^{0} · Y_{1,s}^{0} \\ B_{1,t}^{0} \ar[ddr] & B_{1,s}^{0} · R_{1,s}^{0} \ar[d] & C_{1,t}^{0} \ar[d] \\  & B_{1,s}^{0} · R_{1,s}^{0} · C_{1,t}^{0} & C_{1,t}^{0} · Y_{1,t}^{0} \\ B_{1,u}^{0} \ar[d] & B_{1,t}^{0} · B_{1,s}^{0} · R_{1,s}^{0} \ar[d] & C_{1,u}^{0} \ar[d] \\ B_{1,u}^{0} · B_{1,t}^{0} · B_{1,s}^{0} · R_{1,s}^{0} & B_{1,t}^{0} · B_{1,s}^{0} · R_{1,s}^{0} · C_{1,u}^{0} & C_{1,u}^{0} · Y_{1,u}^{0}}

As we have mentioned above, for each w = s, t, u, X′_{w} ≅ X_{w}^{0} · (Z_{0,w}^{0}, Z_{1,w}^{0}), which implies that Z′_{1,w} ≅ Z_{1,w}^{0} · B_{1,w}^{0}. This in turn implies that B′_{1,s} ≅ B_{1,s}^{0} · R_{1,s}^{0}, B′_{1,t} ≅ B_{1,t}^{0} · R_{1,s}^{0} · C_{1,s}^{0}, and B′_{1,u} ≅ B_{1,u}^{0} · R_{1,s}^{0} · C_{1,s}^{0} · C_{1,t}^{0}.

So the only component of A_{v}^{0} left for R′_{1,s} to be isomorphic to is R_{1,s}^{0}·C_{1,s}^{0}·C_{1,t}^{0}·C_{1,u}^{0}. This implies that, for each w = s, t, u, C′_{1,w} ≅ C_{1,w}^{0} · Y_{1,w}^{0}, which in turn implies that Y′_{1,w} ≅ (Y_{0,w}^{0}, Y_{1,w}^{0}) · X_{w}^{0}.

Thus, in this case, we see that (G_{0})_{1} goes in the same direction as (A^{0})_{1}.

In the r_{1,s+1} = 1 case, the argument that (G_{0})_{1} goes in the same direction as (A^{0})_{1} is as follows. As before, for each w = s, t, u, X′_{w} ≅ X_{w}^{0} · (Z_{0,w}^{0}, Z_{1,w}^{0}), which implies that Z′_{1,w} ≅ Z_{1,w}^{0} · B_{1,w}^{0}.

This implies that B′_{1,u} ≅ B_{1,u}^{0} · B_{1,t}^{0} · B_{1,s}^{0} · R_{1,s}^{0}, which implies that B′_{1,t} ≅ B_{1,t}^{0} · B_{1,s}^{0} · R_{1,s}^{0} · C_{1,u}^{0}, which implies that B′_{1,s} ≅ B_{1,s}^{0} · R_{1,s}^{0} · C_{1,t}^{0}, which implies that R′_{1,s} ≅ R_{1,s}^{0} · C_{1,s}^{0}.

Now, for for each w = s, t, u, we have C′_{1,w} ≅ C_{1,w}^{0} · Y_{1,w}^{0}, which implies that Y′_{1,w} ≅ (Y_{0,w}^{0}, Y_{1,w}^{0}) · X_{w}^{0}.

Thus, in this case also, (G_{0})_{1} goes in the same direction as (A^{0})_{1}.

In either case, we have the same kind of control over (G_{0})_{1} as over (G_{0})_{0}. Now assume that G_{0} ≅ A^{0} and lim_{s} r_{0,s} = 0. We claim that, if there are no other elements to the construction, so that, from some stage s on, all of G_{0} goes in the same direction as A^{0}, then the unique isomorphism f : A^{0} → G_{0} is computable. Indeed, the following is an effective procedure for computing f(x) given x ∈ A^{0}. Find the least stage t ⩾ s such that x is contained in a component K of A_{t}^{0} and there is an isomorphism g from K to some component L of G_{0}[t]. Such a stage must exist by the definition of 0-recovery, and, since all of G_{0} goes in the same direction as A^{0} from stage s on, f(x) = g(x).

Of course, the strategy for G_{0} that we have just described works at the expense of the corresponding strategy for G_{1}. Indeed, if G_{0} does not recover infinitely often then G_{1} is not allowed to recover infinitely often, even though it might be the case that G_{1} ≅ A^{0}.

We solve this problem in the standard way, by having multiple strategies for satisfying (3.3.3) for a given G_{n} and organizing these in a tree. More specifically, for each finite binary string σ, there will be a strategy for satisfying (3.3.3) for G_{|σ|}. The string σ represents a guess about which G_{m}, m < |σ|, recover infinitely often, with σ(m) = 0 representing a guess that G_{m} recovers infinitely often and σ(m) = 1 representing a guess that it does not.

We will denote by (k) the component of A^{i} that extends the unique copy of [k] in A_{0}^{i}. By ⟨A^{i}⟩_{σ} we will mean the union of the components of A^{i} that might potentially be used by the strategy for satisfying (3.3.3) for G_{|σ|} corresponding to σ. Once we give the formal details of the construction, it will be clear which components these are. As in Section 3.2, the notations (A^{i})_{σ} and (G_{n})_{σ}, n ∈ ω, will refer to the union of those components that are actually used by the strategy corresponding to σ. By ⟨A^{i}⟩ we will mean the union of the components of A^{i} of the form (6k), k ∈ ω. (These are the components that might not be in ⟨A^{i}⟩_{σ} for any σ.)

We will not allow σ-recovery unless there is τ-recovery for all τ such that τ^{⌢}0 ⊆ σ. In this way, we will be able to control not only (G_{|σ|})_{σ}, but also (G_{|σ|})_{τ} for all τ such that σ^{⌢}0 ⊆ τ.

Now fix σ on the true path of the construction (which will be defined, as usual, as the leftmost path visited infinitely often) such that G_{|σ|} ≅ A^{0}. These conditions on σ will imply that, for all τ ⊊ σ, τ recovers infinitely often if and only if τ^{⌢}0 ⊆ σ. They will also imply that σ^{⌢}0 is on the true path, so that σ recovers infinitely often, and that lim_{s} r_{σ,s} exists (where r_{σ,s} will be defined analogously to r_{n,s}). Let i = lim_{s} r_{σ,s} and let f be the unique isomorphism from A^{i} to G_{|σ|}. By the comments in the previous paragraph, we will be able to compute both f ↾ ⟨A^{i}⟩_{σ} and f ↾ ⋃_{τ⊇σ^{⌢}0}⟨A^{i}⟩_{τ}. The argument is similar to that in the two-strategy scenario above.

Of course, this leaves the problem of uniformly computing f ↾ ⟨A^{i}⟩_{τ} for other τ, as well as f ↾ ⟨A^{i}⟩. The key observation here is that, for a union T of finite components of A^{i}, if there exists a computable bound on the last stage (if any) at which each component of T participates in an operation then f ↾ T is computable. This is because if a component K of T does not participate in operations after stage s then K is a component of A_{s}^{i}, and hence the unique embedding from K into G_{n} can be found effectively.

Thus our strategy will be to break up the domain of A^{i} into finitely many c.e. sets and show that the restriction of f to each of these sets is computable. Most of the cases will be handled as indicated in the previous paragraph.

We begin by looking at ⟨A^{i}⟩. As in Section 3.2, we will have a computable bound h(k) such that if (6k) has not participated in an operation by stage h(k) then, whenever it does participate in an operation, σ is active. Let T_{0} be the union of those components (6k) of ⟨A^{i}⟩ that do not participate in an operation by stage h(k). Then f ↾ T_{0} will be computable for the same reason as f ↾ ⟨A^{i}⟩_{σ}.

On the other hand, since no component of ⟨A^{i}⟩ will participate in operations more than once, f ↾ (⟨A^{i}⟩ − T_{0}) will be computable because h(k) will be a computable bound on the last stage at which a component (6k) of ⟨A^{i}⟩ − T_{0} participates in an operation. Thus f ↾ ⟨A^{i}⟩ will be computable.

Now let T_{1} be the union of all ⟨A^{i}⟩_{τ} such that τ is to the left of σ. By the definition of the true path, only finitely many components of T_{1} will ever participate in operations, and those that do, will do so only finitely often. Thus there will exist a computable bound on the last stage at which each component of T_{1} participates in an operation, and hence f ↾ T_{1} will be computable.

Let T_{2} be the union of all ⟨A^{i}⟩_{τ} such that τ^{⌢}1 ⊆ σ. As in Section 3.2, the fact that there are only finitely many τ-recovery stages will imply that only finitely many components of T_{2} participate in operations, and those that do, do so only finitely often. Thus there will exist a computable bound on the last stage at which each component of T_{2} participates in an operation, and hence f ↾ T_{2} will be computable.

Let T_{3} be the union of all ⟨A^{i}⟩_{τ} such that τ is to the right of σ^{⌢}0. Every time the construction moves to the left of τ, we will guarantee that a certain set of components of ⟨A^{i}⟩_{τ} will never again participate in an operation, in such a way that if the construction moves to the left of τ infinitely often then every component of ⟨A^{i}⟩_{τ} will eventually be guaranteed never again to participate in an operation. (We call this process initialization.) Since σ^{⌢}0 is on the true path, this will mean that there exists a computable bound on the last stage at which each component of T_{3} participates in an operation, and thus f ↾ T_{3} will be computable.

We are left with the case of ⟨A^{i}⟩_{τ} such that τ^{⌢}0 ⊆ σ. We will show, much as in Section 3.2, that, for each such τ, if r_{τ,s} has a limit then (A^{i})_{τ} has a unique infinite component S_{τ}^{i}, while if r_{τ,s} does not have a limit then all components of (A^{i})_{τ} are finite. Let T_{4} be the union of the S_{τ}^{i}, τ^{⌢}0 ⊆ σ, r_{τ,s} has a limit. Given a copy K of [m] contained in a component C of T_{4} with top x, we will be able to find effectively the unique copy L of [m] in the component of G_{σ} with top f(x), and f will extend the unique isomorphism from K to L. Since T_{4} has only finitely many components, this will mean that f ↾ T_{4} is computable.

Finally, let T_{5} be the union of all finite components of ⟨A^{i}⟩_{τ}, τ^{⌢}0 ⊆ σ. Examining the construction in Section 3.2, we see that, once a finite component K of (A^{i})_{n} participates in an operation at a stage s, we can effectively find a stage t such that K does not participate in an operation after stage t. Indeed, we can take t to be the least n-isomorphism recovery stage such that, for some u < t, every component of (A^{i})_{n} that participates in an operation at stage t has participated in an operation in the interval [u, t) and K does not participate in an operation in the interval [u, t].

The analogous situation will hold in this section, but this will not be quite enough to show that f ↾ T_{5} is computable. We will also need an effective procedure that, for each component K of T_{5}, gives us a stage s such that if K has not participated in an operation by stage s then it will not participate in an operation after stage s. In order to do this, every time τ recovers, we will guarantee that a certain set of components of ⟨A^{i}⟩_{τ} that have not yet participated in an operation will never participate in an operation, in such a way that if τ recovers infinitely often then every singleton component of ⟨A^{i}⟩_{τ} will eventually be guaranteed never to participate in an operation. Thus f ↾ T_{5} will be computable.

We now give the formal definitions that will be used below.

For the sake of satisfying (3.3.5), we need a new kind of building block, whose use will be made clear shortly. (Basically, if G is a c.e. graph with computable equality relation and K and L are different components of G[s], s ∈ ω, then it cannot be the case that K and L are both extended by a component of the form K · L in G. However, K and L might both be extended by the same component of G if this component is of the form K · (L), for example, since the fact that there is no edge from the top of K to the top of L in G[s] does not mean that the same is true in G. We will avoid this possibility by only performing operations of the form K · (L_{0}, …, L_{k}) when K is of the form [n]^{+}, n ∈ ω, as defined below.) 3.3.1. Definition. The directed graph [n]^{+} consists of the following nodes and edges.

1. A copy of [n] with top x.

2. For each i ⩽ n, i+1 many nodes x_{i,0}, …, x_{i,i}, with an edge from x to x_{i,0} and, for each j < i, an edge from x_{i,j} to x_{i,j+1}. We call x_{i,i} the i-attachment node of [n]^{+}.

Figure 3.9 shows [2]^{+} as an example.

We also need a new version of Definition 3.2.5. 3.3.2. Definition. Let G be a computable structure in the language of directed graphs whose domain is co-infinite.

[figure: •; top; •; •; •; coding location; •; 0-attachment node•; •; •; 1-attachment node•; •; 2-attachment node•]

Figure 3.9: [2]^{+}

Let K_{0}, K_{1}, …, K_{n} and L be components of G isomorphic to [k_{0}], [k_{1}], …, [k_{n}] and [l]^{+}, respectively, where k_{0}, k_{1}, …, k_{n}, l ∈ ω and n ⩽ l. We define two operations, each of which takes G to a new computable structure extending G.

• The operation (K_{0}, K_{1}, …, K_{n}) · L consists of creating a new copy of [l]^{+}, using the top of K_{i} as the i-attachment node for i ⩽ n and numbers not in the domain of G as the other nodes, and otherwise leaving G unchanged.

• The operation L · (K_{0}, K_{1}, …, K_{n}) consists of creating a new copy of [k_{i}] for each i ⩽ n, using the i-attachment node of L as the top and numbers not in the domain of G as the other nodes, and otherwise leaving G unchanged.

We define the L- and R-operations as in Definition 3.2.6, except that we now require that X be of the form [k]^{+}, k ∈ ω.

Fix a computable one-to-one function from 2^{<ω} onto ω − {0} and let ⌜σ⌝ denote the image under this function of the string σ. 3.3.3. Definition. Let G be a directed graph. We denote by (G)_{σ} the subgraph of G consisting of those components C of G that satisfy both of the following conditions.

1. C is not isomorphic to [x] or [x]^{+} for any x ∈ ω.

2. C contains a copy of [6⟨⌜σ⌝, j⟩+3], j ∈ ω, or a copy of [6⟨⌜σ⌝, j, k⟩+l], j, k ∈ ω, l ∈ {1, 2, 4, 5}.

Define (G)_{⊇σ} = ⋃_{τ⊇σ}(G)_{τ}.

Let k be the number of times σ has been initialized (defined below) before stage t. Suppose there is a least stage s ⩽ t such that G_{|σ|}[s] has a component K isomorphic to [6⟨⌜σ⌝, k⟩ + 3]. We call the component of G_{|σ|}[t] that extends K the σ-special component of G_{|σ|}[t]. If σ is initialized only finitely often, say k many times, and there is a least stage s such that G_{|σ|}[s] has a component K isomorphic to [6⟨⌜σ⌝, k⟩ + 3] then we call the component of G_{|σ|} that extends K the σ-special component of G_{|σ|}.

For σ, τ ∈ 2^{⩽ω}, σ ⩽_{L} τ means that either σ ⊆ τ or there exists an n < |σ| , |τ| such that σ(m) = τ(m) for all m < n, σ(n) = 0, and τ(n) = 1. If σ ⩽_{L} τ and σ ⊈ τ then we say that σ is to the left of τ and that τ is to the right of σ.

We now proceed with the construction of A^{0}, A^{1}, U^{0}, and U^{1}. As before, we make it a convention that all numbers added to the domain of A_{s}^{i} at stage s + 1 to get A_{s+1}^{i} are greater than s. It will be easy to check as we go along that the following are properties of the construction.

1. For each s ∈ ω, A_{s}^{0} ≅ A_{s}^{1} and no component of A_{s}^{i} is embeddable in another component of A_{s}^{i}.

2. Let t < s. No component of A_{t}^{i} isomorphic to one of [6a_{s}]^{+} or [6⟨j, a_{s}, k⟩ + l], j, k ∈ ω, l ∈ {1, 2, 4, 5}, participates in an operation at stage t + 1.

stage 0. Let A_{0}^{0} and A_{0}^{1} be computable structures with co-infinite domains, each consisting of one copy of [6k + l] and one of [6k]^{+} for each k ∈ ω and 0 < l < 6. For each σ ∈ 2^{<ω}, let r_{σ,0} = 0.

stage s + 1. For σ ∈ 2^{<ω}, let recov(σ, s) be the number of σ-recovery stages before stage s + 1, let init(σ, s) be the number of times σ has been initialized before stage s + 1, and let c(σ, s) = max(recov(σ, s), init(σ, s)).

Define the string σ[s + 1] ∈ 2^{[0,s]} by recursion as follows, beginning with n = 0. Let σ = σ[s + 1] ↾ n. Say that s + 1 is a σ-recovery stage if all of the following conditions hold.

1. Every τ such that τ^{⌢}0 ⊆ σ has recovered at least |σ| + 1 many times.

2. G_{n}[s] has a σ-special component isomorphic to some component of A_{s}^{0}.

3. If τ ⊇ σ^{⌢}0 has not yet recovered since the last time it was initialized and |τ| ⩽ recov(σ, s) then G_{n}[s] has a component isomorphic to [6⟨⌜τ⌝, init(τ, s)⟩ + 3].

4. (G_{n}[s])_{σ} ≅ (A_{s}^{0})_{σ}.

5. (G_{n}[s])_{⊇σ^{⌢}0} ≅ (A_{s}^{0})_{⊇σ^{⌢}0}.

6. Let τ be such that either τ = σ or both τ ⊇ σ^{⌢}0 and |τ| ⩽ recov(σ, s). Let j ∉ A[s] be less than or equal to recov(τ, s). There is a component of G_{n}[s] isomorphic to [6j]^{+} and, for each l ∈ {1, 2, 4, 5}, there is a component of G_{n}[s] isomorphic to [6⟨⌜τ⌝, j, c(τ, s)⟩ + l].

If s + 1 is a σ-recovery stage then let σ[s + 1](n) = 0. Otherwise, let σ[s + 1](n) = 1.

For each σ such that s + 1 is a σ-recovery stage, proceed as follows. For i = 0, 1, let S_{σ,s}^{i} be the component of A_{s}^{i} that is isomorphic to the σ-special component of G_{|σ|}[s]. If s + 1 is either the first σ-recovery stage ever or the first σ-recovery stage since the last time σ was initialized then let r_{σ,s+1} = 0. Otherwise, proceed as follows. Let i = r_{σ,s} and let t + 1 be the last σ-recovery stage before stage s + 1. If S_{σ,s}^{i} extends S_{σ,t}^{i} then let r_{σ,s+1} = i, and otherwise let r_{σ,s+1} = 1 − i.

For each σ ∈ 2^{<ω} such that s + 1 is not a σ-recovery stage, let r_{σ,s+1} = r_{σ,s}. Declare each σ to the right of σ[s + 1] to have been initialized. For each σ ⩽_{L}

σ[s + 1], if there has been a σ-recovery stage since the last time σ was initialized, a_{s} ⩾ |σ|, and a_{s} is less than the number of σ-recovery stages less than or equal to s + 1 then say that σ is active at stage s + 1.

For i = 0, 1, let X_{s}^{i} be the component of A_{s}^{i} isomorphic to [6a_{s}]^{+}.

Let σ_{0}, …, σ_{m} be all the strings that are active at stage s+1. For i = 0, 1 and j ⩽ m, let Y_{σ_{j},s}^{i} and Z_{σ_{j},s}^{i} be the components of A_{s}^{i} isomorphic to [6⟨⌜σ_{j}⌝, a_{s}, c(σ_{j}, s)⟩+1] and [6⟨⌜σ_{j}⌝, a_{s}, c(σ_{j}, s)⟩ + 2], respectively.

For each j ⩽ m, let t_{j} + 1 ⩽ s + 1 be the last σ_{j}-recovery stage. We say that s + 1 is a σ_{j}-first stage if it is the first stage after stage t_{j} at which σ_{j} is active.

We say that s + 1 is a σ_{j}-change stage if it is a σ_{j}-first stage and one of the following holds: t_{j} + 1 was the first σ_{j}-recovery stage ever, t_{j} + 1 was the first σ_{j}-recovery stage since the last time σ_{j} was initialized, or r_{σ_{j},t_{j}+1} ≠ r_{σ_{j},t_{j}}.

We say that s + 1 is a σ_{j}-isomorphism recovery stage if it is a σ_{j}-first stage but not a σ_{j}-change stage and one of the following conditions holds.

1. The last σ_{j}-first stage before stage s + 1 was a σ_{j}-change stage.

2. There has been at least one stage at which σ_{j} was active after the last σ_{j}- isomorphism recovery stage and before stage s + 1.

For each j ⩽ m we define components B_{σ_{j},s}^{i} and C_{σ_{j},s}^{i}, i = 0, 1. There are two cases.

1. s+1 is a σ_{j}-isomorphism recovery stage. If the first condition in the definition of σ_{j}-isomorphism recovery stage holds then let t + 1 be the last σ_{j}-first stage, and otherwise let t+1 be the first stage after the last σ_{j}-isomorphism recovery stage at which σ_{j} was active. There are two subcases.

(a) If r_{σ_{j},s+1} = 0 then let C_{σ_{j},s}^{0} be the component of A_{s}^{0} that extends B_{σ_{j},t}^{0} and let C_{σ_{j},s}^{1} be its isomorphic image in A_{s}^{1}. For i = 0, 1, let B_{σ_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨σ_{j}, a_{s}, c(σ_{j}, s)⟩ + 4].

(b) If r_{σ_{j},s+1} = 1 then let B_{σ_{j},s}^{1} be the component of A_{s}^{1} that extends C_{σ_{j},t}^{1} and let B_{σ_{j},s}^{0} be its isomorphic image in A_{s}^{0}. For i = 0, 1, let C_{σ_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨σ_{j}, a_{s}, c(σ_{j}, s)⟩ + 5].

2. s + 1 is not a σ_{j}-isomorphism recovery stage. For i = 0, 1, let B_{σ_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨σ_{j}, a_{s}, c(σ_{j}, s)⟩ + 4] and let C_{σ_{j},s}^{i} be the component of A_{s}^{i} isomorphic to [6⟨σ_{j}, a_{s}, c(σ_{j}, s)⟩ + 5].

For each j ⩽ m, proceed as follows. Let i = r_{σ_{j},s+1} and let t + 1 ⩽ s + 1 be the last σ_{j}-recovery stage. Let R_{σ_{j},s}^{i} be the component of A_{s}^{i} that extends S_{σ_{j},t}^{i} and let R_{σ_{j},s}^{1−i} be its isomorphic image in A_{s}^{1−i}.

Now perform

L(Y_{σ_{0},s}^{0}, …, Y_{σ_{m},s}^{0}; X_{s}^{0}; Z_{σ_{0},s}^{0}, …, Z_{σ_{m},s}^{0}; B_{σ_{0},s}^{0}, R_{σ_{0},s}^{0}, C_{σ_{0},s}^{0};
B_{σ_{1},s}^{0}, R_{σ_{1},s}^{0}, C_{σ_{1},s}^{0}; …; B_{σ_{m},s}^{0}, R_{σ_{m},s}^{0}, C_{σ_{m},s}^{0})

on A_{s}^{0} to get A_{s+1}^{0} and perform

R(Y_{σ_{0},s}^{1}, …, Y_{σ_{m},s}^{1}; X_{s}^{1}; Z_{σ_{0},s}^{1}, …, Z_{σ_{m},s}^{1}; B_{σ_{0},s}^{1}, R_{σ_{0},s}^{1}, C_{σ_{0},s}^{1};
B_{σ_{1},s}^{1}, R_{σ_{1},s}^{1}, C_{σ_{1},s}^{1}; …; B_{σ_{m},s}^{1}, R_{σ_{m},s}^{1}, C_{σ_{m},s}^{1})

on A_{s}^{1} to get A_{s+1}^{1}. (If no σ is active at stage s + 1 then, for j = 0, 1, let Y_{s}^{j}, Z_{s}^{j}, B_{s}^{j}, R_{s}^{j}, and C_{s}^{j} be the components of A_{s}^{j} isomorphic to [6⟨0, a_{s}, s⟩ + 1], [6⟨0, a_{s}, s⟩+2], [6⟨0, a_{s}, s⟩+4], [6⟨0, s⟩+3], and [6⟨0, a_{s}, s⟩+5], respectively. Perform L(Y_{s}^{0}; X_{s}^{0}; Z_{s}^{0}; B_{s}^{0}; R_{s}^{0}; C_{s}^{0}) on A_{s}^{0} to get A_{s+1}^{0} and perform R(Y_{s}^{1}; X_{s}^{1}; Z_{s}^{1}; B_{s}^{1}; R_{s}^{1}; C_{s}^{1}) on A_{s}^{1} to get A_{s+1}^{1}.)

Put the coding location of the copy of [6a_{s}] in A_{0}^{0} into U^{0} and put the coding location of the copy of [6a_{s}] in A_{s+1}^{1} − A_{s}^{1} into U^{1}.

This completes the construction. Let A^{0} = ⋃_{s∈ω} A_{s}^{0} and A^{1} = ⋃_{s∈ω} A_{s}^{1}. Since, for each s ∈ ω and i = 0, 1, all numbers in A_{s+1}^{i} − A_{s}^{i} are greater than s, A^{0} and A^{1} are computable. We now wish to argue that properties (3.3.1)–(3.3.5) are satisfied. Theorem 3.1.4 will then follow immediately.

Define the true path T P of the construction to be the leftmost path of 2^{ω} such that there are infinitely many stages s with σ[s] ∈ T P.

The following lemma, which shows that (3.3.2) holds, has the same proof as Lemma 3.2.7. 3.3.4. Lemma. U^{0} ≡_{m} A and U^{1} is computable.

Property (3.3.5) is also easy to establish. 3.3.5. Lemma. Let G be a c.e. presentation of A^{0} with computable equality relation. Then G is computable.

Proof. Let S = {6k | k ∈ ω}. Let x_{0}, x_{1} ∈ G. Wait until a stage s in the enumeration of G such that, for each i = 0, 1, x_{i} is in a copy of either [n_{i}] for some n_{i} ∉ S or [n_{i}]^{+} for some n_{i} ∈ S. It is easy to check from the definition of A^{0} that, for each i = 0, 1, there is an edge from x_{i} to x_{1−i} if and only if there already is such an edge at stage s.

Lemmas 3.2.8–3.2.10 and 3.2.13 still hold, as do the following versions of Lemmas 3.2.11, 3.2.12, and 3.2.14–3.2.18. In all cases, the reasoning is basically the same as before. 3.3.6. Lemma. Let k, j ∈ ω and σ ∈ 2^{<ω}. Any component of A^{i} containing a copy of [6k] or [6⟨⌜σ⌝, j, k⟩ + l], l ∈ {1, 2}, can participate in an operation at most once. Any component of A^{i} containing a copy of [6⟨⌜σ⌝, j⟩ + 3] or [6⟨⌜σ⌝, j, k⟩ + l], l ∈ {1, 2, 4, 5}, can participate in operations only at stages at which σ is active.

3.3.7. Lemma. Suppose that r_{σ,s} = i ≠ r_{σ,s+1}. Of all the components of (A^{i})_{σ} that participate in operations at stages before stage s + 1, the only one that can participate in an operation after stage s is the one that extends S_{σ,s}^{i}. 3.3.8. Lemma. Suppose that r_{σ,s} = i for all s > t, σ is not initialized at any stage after stage t, and σ is active at stages s_{0} + 1 and s_{1} + 1, where s_{1} > s_{0} ⩾ t. Then R_{σ,s_{1}}^{i} extends R_{σ,s_{0}}^{i}. 3.3.9. Lemma. Let u be a stage after which σ is never initialized. Let s + 1 > u be a σ-recovery stage that is not the first such stage after stage u. Let t + 1 be the last σ-recovery stage before stage s + 1. If r_{σ,s} = 0 ≠ r_{σ,s+1} then S_{σ,s}^{0} extends B_{σ,v}^{0} for some v ∈ [t, s). Similarly, if r_{σ,s} = 1 ≠ r_{σ,s+1} then S_{σ,s}^{1} extends C_{σ,v}^{1} for some v ∈ [t, s). 3.3.10. Lemma. Suppose that r_{σ,t} = 0 (resp. r_{σ,t} = 1) for all t ⩾ s_{0}. Then no component of (A^{0})_{σ} ((A^{1})_{σ}) can participate in an operation more than twice after stage s_{0} unless it extends R_{σ,t}^{0} (R_{σ,t}^{1}) for some t ⩾ s_{0}, while no component of (A^{1})_{σ} ((A^{0})_{σ}) can participate in an operation more than twice after stage s_{0} unless it extends C_{σ,t}^{1} (B_{σ,t}^{0}) for some t ⩾ s_{0} such that t + 1 is a σ-isomorphism recovery stage. 3.3.11. Lemma. Let s_{0} be a stage after which σ is never initialized. Suppose that s_{0} ⩽ s < t < v are such that s + 1 is a σ-isomorphism recovery stage, r_{σ,u} = r_{σ,s+1} for all u > s, t + 1 is the next stage after stage s + 1 at which σ is active, and v + 1 is the next σ-isomorphism recovery stage after stage s + 1. For i = 0, 1, let B^{i}, R^{i}, and C^{i} be the components of A_{t+1}^{i} that extend B_{σ,t}^{i}, R_{σ,t}^{i}, and C_{σ,t}^{i}, respectively, and let B̂^{i}, R̂^{i}, and Ĉ^{i} be the components of A_{v}^{i} that extend B^{i}, R^{i}, and C^{i}, respectively. If r_{σ,s+1} = 0 then B̂^{0} ≅ B^{0} and R̂^{1} ≅ R^{1}, while if r_{σ,s+1} = 1 then Ĉ^{1} ≅ C^{1} and R̂^{0} ≅ R^{0}. 3.3.12. Lemma. Let x be the coding location of a copy of [6a_{s}] in component K of A^{i}. Either K contains a copy of [6⟨n, a_{s}, k⟩ + 1] for some n, k ∈ ω, in which case x ∉ U^{i}, or K contains a copy of [6⟨n, a_{s}, k⟩ + 2] for some n, k ∈ ω, in which case x ∈ U^{i}.

The following lemmas will also be useful. 3.3.13. Lemma. If σ is to the left of T P then (A^{i})_{⊇σ} is finite. 3.3.14. Lemma. If σ is initialized at stage s + 1 then no components of (A^{i})_{σ} that participate in operations at stages before stage s + 1 can participate in an operation after stage s.

Proof. It is easy to check that if a component of (A^{i})_{σ} participates in operations at stages s < t and not at any stage in the interval (s, t) then there are no σ-change stages in (s, t).

Now let t be the first stage after stage s at which σ is active. (If there are no such stages then we are done.) Then t is a σ-change stage, and hence not a σ-isomorphism recovery stage. It is easy to check that, together with the fact that σ is initialized at stage s+1, this implies that none of the components of (A^{i})_{σ} that participate in operations at stages before stage s+1 can participate in an operation at stage t. The lemma now follows from the remark in the previous paragraph.

3.3.15. Lemma. If σ is to the right of T P then (A^{i})_{σ} has no infinite components.

We now wish to show that (3.3.1) holds. In the course of doing so, we will also be able to show that (3.3.4) holds. It follows from Lemmas 3.2.10, 3.2.13, and 3.3.12 that, to show that (3.3.1) holds, it is enough to show that for each infinite component of A^{i} there is an isomorphic component of A^{1−i}. As before, the first step in establishing this result is characterizing the infinite components of A^{i}. By Lemmas 3.3.13 and 3.3.15, if σ is not on T P then no component of (A^{i})_{σ} is infinite, so we can restrict our attention to the components of (A^{i})_{σ}, σ ∈ T P.

The following lemma has the same proof as Lemma 3.2.19, with Lemmas 3.3.7 and 3.3.9 in place of Lemmas 3.2.12 and 3.2.15, respectively. 3.3.16. Lemma. Let σ ∈ T P. If r_{σ,s} does not have a limit then no component of (A^{i})_{σ} is infinite.

Thus, the only components of A^{i} that can be infinite are those components that are in (A^{i})_{σ} for some σ ∈ T P such that r_{σ,s} has a limit and σ is active infinitely often. So, by the comments preceding Lemma 3.3.16, to establish that (3.3.1) holds, it is enough to show that if σ ∈ T P, r_{σ,s} has a limit, and σ is active infinitely often, then, for each i = 0, 1, there is exactly one infinite component S_{σ}^{i} of (A^{i})_{σ} and S_{σ}^{0} ≅ S_{σ}^{1}. As we will argue below, this will also be enough to show that (3.3.4) holds. 3.3.17. Lemma. Let σ ∈ T P. There are infinitely many σ-recovery stages if and only if σ is active infinitely often.

Proof. By definition, σ is not active at a stage s+1 unless a_{s} is less than the number of σ-recovery stages less than or equal to s + 1. Thus, if there are finitely many σ-recovery stages then σ cannot be active infinitely often.

For the other direction, suppose that there are infinitely many σ-recovery stages but only finitely many stages at which σ is active. Let s be a stage after which σ is never active or initialized and such that there has been a σ-recovery stage since the last time σ was initialized. Now, given x > |σ|, let t+1 be the first stage after stage s by which there have been x + 1 many σ-recovery stages. Then x ∈ A ⇔ x ∈ A[t]. But this means that A is computable, contrary to hypothesis.

3.3.18. Lemma. If σ ∈ T P is active infinitely often and r_{σ,s} has a limit then there are infinitely many σ-isomorphism recovery stages.

Proof. If σ is active infinitely often then, by Lemma 3.3.17, there are infinitely many σ-recovery stages, and thus infinitely many σ-first stages. The fact that r_{σ,s} has a limit and that σ is initialized only finitely often implies that only finitely many of these can be σ-change stages. The lemma now follows directly from the definition of σ-isomorphism recovery stage.

The next lemma has the same proof as Lemma 3.2.22, with Lemmas 3.3.6, 3.3.8, and 3.3.11 in place of Lemmas 3.2.11, 3.2.14, and 3.2.17. 3.3.19. Lemma. Suppose that σ ∈ T P is active infinitely often and s and i are such that σ is not initialized after stage s and r_{σ,t} = r_{σ,s} = i for all t ⩾ s. By Lemma 3.3.18, there are infinitely many σ-isomorphism recovery stages. Let s_{0}+1 < s_{1} + 1 < ⋯ be the σ-isomorphism recovery stages after stage s. For each j ∈ ω, let t_{j} + 1 be the next stage after stage s_{j} + 1 at which σ is active. (Note that t_{j} < s_{j+1} for all j ∈ ω.) For t ⩾ t_{0}, let K_{t}^{l} be the component of A_{t}^{l} that extends R_{σ,t_{0}}^{l}. Then K_{t_{j}}^{l} = R_{σ,t_{j}}^{l} for all j ∈ ω.

Now assume the hypotheses of Lemma 3.3.19 and adopt its notation. Let S_{σ}^{l} be the component of A^{l} that extends R_{σ,s_{0}}^{l}. 3.3.20. Lemma. S_{σ}^{l} is the only infinite component of (A^{l})_{σ}.

Proof. This follows immediately from Lemmas 3.2.10, 3.3.10, and 3.3.19 and the observation that, for all j ∈ ω, if i = 0 in the hypotheses of Lemma 3.3.19 then R_{σ,t_{j}}^{1} extends C_{σ,s_{j}}^{1}, while if i = 1 then R_{σ,t_{j}}^{0} extends B_{σ,s_{j}}^{0}.

3.3.21. Lemma. S_{σ}^{0} ≅ S_{σ}^{1}.

Proof. Directly from Lemma 3.3.19, since, by definition, R_{σ,t_{j}}^{0} ≅ R_{σ,t_{j}}^{1} for all j ∈ ω, and S_{σ}^{i} = ⋃_{j∈ω} R_{σ,t_{j}}^{i} for i = 0, 1.

As we have argued above, Lemmas 3.3.20 and 3.3.21 suffice to establish that (3.3.1) holds. 3.3.22. Lemma. A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}.

We are now also in a position to show that (3.3.4) holds. 3.3.23. Lemma. A^{0} is rigid.

Proof. It is easy to check that every component of A^{0} is rigid. Thus it is enough to show that no two components of A^{0} are isomorphic. By Lemma 3.2.13, for each s ∈ ω, no component of A_{s}^{0} is embeddable in another component of A_{s}^{0}, which implies that no two finite components of A^{0} are isomorphic. Since the only infinite components of A^{0} are the S_{σ}^{0} defined above and S_{σ}^{0} contains a copy of [6⟨⌜τ⌝, k⟩ + 3] for some k ∈ ω if and only if τ = σ, it is also the case that no two infinite components of A^{0} are isomorphic.

We are left with showing that property (3.3.3) is satisfied. This is where this proof differs significantly from that in Section 3.2. We begin by showing that if σ ∈ T P and G_{|σ|} ≅ A^{0} then lim_{s} r_{σ,s} is well-defined. 3.3.24. Lemma. If σ ∈ T P and G_{|σ|} ≅ A^{0} then there are infinitely many σrecovery stages, and hence the σ-special component of G_{|σ|} is infinite.

Proof. If σ ∈ T P and G_{|σ|} ≅ A^{0} then G_{|σ|} has a σ-special component. Now assume for a contradiction that there are only m many σ-recovery stages. Let s_{0} be the last σ-recovery stage. (If there are no σ-recovery stages then let s_{0} = 0.) By Lemma 3.3.17, there is a stage s_{1} > s_{0} such that σ is not active at any stage t ⩾ s_{1}. By the definition of T P, there is a stage s_{2} ⩾ s_{1} satisfying the following conditions: every τ such that τ^{⌢}0 ⊆ σ has recovered at least |σ| + 1 many times by stage s_{2}, G_{|σ|}[s_{2}] has a σ-special component, and σ is not initialized at any stage greater than or equal to s_{2}. If m = a_{u} for some u > s_{2} then let s = u + 1; otherwise, let s = s_{2}.

By the definition of s, the first condition in the definition of σ-recovery stage is met at every stage greater than or equal to s.

Consider the components of A^{0} that contain a copy of the σ-special component of G_{|σ|}. By Lemma 3.3.6, each such component is finite. Thus, if the second condition in the definition of σ-recovery stage is not eventually satisfied after stage s then the σ-special component of G_{|σ|} is not isomorphic to any component of A^{0}.

Since we are assuming that σ^{⌢}0 is to the left of T P, there is a stage t ⩾ s after which no τ such that τ ⊇ σ^{⌢}0 is initialized. Any such τ that has not recovered since the last time it was initialized never again recovers, and hence there is a component of A^{0} isomorphic to [6⟨⌜τ⌝, init(τ, t)⟩ + 3]. Since there are only finitely many τ such that |τ| ⩽ recov(σ, s), if the third condition in the definition of σ-recovery stage is not eventually satisfied after stage s then G_{|σ|} ≇ A^{0}.

Now consider (A^{0})_{σ}. Again by Lemma 3.3.6, (A^{0})_{σ} is finite. So if the fourth condition in the definition of σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|})_{σ} ≇ (A^{0})_{σ}.

Since we are assuming that there are only finitely many σ-recovery stages, σ^{⌢}1 ∈ T P. Thus, by Lemma 3.3.13, (A_{s}^{0})_{⊇σ^{⌢}0} is finite. So if the fifth condition in the definition of σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|})_{⊇σ^{⌢}0} ≇ (A^{0})_{⊇σ^{⌢}0}.

Finally, let τ be such that either τ = σ or both τ ⊇ σ^{⌢}0 and |τ| ⩽ recov(σ, s). Let j ∉ A[s] be less than or equal to recov(τ, s). Clearly, c(τ, t) reaches a limit c(τ). By the choice of s, j ∉ A[s] ⇒ j ∉ A. So, for each l ∈ {1, 2, 4, 5}, there is a unique component of A^{0} that contains a copy of [6⟨⌜τ⌝, j, c(τ)⟩ + l], and it is isomorphic to [6⟨⌜τ⌝, j, c(τ)⟩ + l]. Similarly, there is a unique component of A^{0} that contains a copy of [6j]^{+}, and it is isomorphic to [6j]^{+}. Thus, if the last condition in the definition of σ-recovery stage is not eventually satisfied after stage s then there is a component of A^{0} that is not isomorphic to any component of G_{|σ|}.

In any case, G_{|σ|} cannot be isomorphic to A^{0}, contrary to hypothesis. So there are infinitely many σ-recovery stages.

Now let v be a stage after which σ is never initialized. Given any two σ-recovery stages v < t + 1 < u + 1 such that there is a stage in (t, u] at which σ is active, the σ-special component of G_{|σ|}[u] properly extends the σ-special component of G_{|σ|}[t]. But, by Lemma 3.3.17, σ is active at infinitely many stages. This establishes the second part of the lemma.

3.3.25. Lemma. If σ ∈ T P and G_{|σ|} ≅ A^{0} then lim_{s} r_{σ,s} is well-defined.

Proof. This follows immediately from Lemmas 3.3.16 and 3.3.24.

Now fix σ ∈ T P such that G_{|σ|} ≅ A^{0}. Let n = |σ|. By Lemma 3.3.25, r = lim_{s} r_{σ,s} is well-defined. We wish to show that G_{n} is computably isomorphic to A^{r}. The two cases, r = 0 and r = 1, are essentially the same. We will assume that r = 0.

Let f : A^{0} ≅ G_{n}. Since A^{0} is rigid, f is the unique isomorphism from A^{0} to G_{n}, so we need to show that f is computable.

As outlined at the beginning of this section, our strategy will be to break up the domain of A^{0} into a finite number of c.e. sets and show that the restriction of f to each of these sets is computable. (If P is c.e. then we say that f ↾ P is computable if there exists a partial computable function Φ such that x ∈ P ⇒ Φ(x) ↓= f(x).) We will need the following definition. 3.3.26. Definition. Let k, s ∈ ω. We denote by (k) and (k)_{s} the components of A^{0} and A_{s}^{0}, respectively, that extend the unique copy of [k] in A_{0}^{0}.

For D ⊆ ω, let P_{D} = ⋃_{k∈D}(k).

Note that, for any k, s ∈ ω, (k)_{s} is finite. Note also that, since every component of A^{0} extends some component of A_{0}^{0}, ⋃_{k∈ω}(k) = A^{0}; similarly, ⋃_{k∈ω}(k)_{s} = A_{s}^{0}. It is not the case that k ≠ l ⇒ (k) ≠ (l), but, as we will see, this will not matter for our purposes.

The following result justifies our approach. 3.3.27. Lemma. Let D_{0}, …, D_{m} be computable subsets of ω such that ⋃_{i=0}^{m} D_{i} = ω. If for each i ⩽ m, f ↾ P_{D_{i}} is computable, then f is computable.

Proof. Since D_{0}, …, D_{m} are computable, P_{D_{0}}, …, P_{D_{m}} are c.e.. Since ⋃_{i=0}^{m} D_{i} = ω, ⋃_{i=0}^{m} P_{D_{i}} = A^{0}. Thus, to compute f(x) for some x ∈ A^{0}, all we need to do is wait until x is enumerated into some P_{D_{i}} and then compute (f ↾ P_{D_{i}})(x).

We will partition ω into the pairwise disjoint computable sets D_{0}, …, D_{6} shown in Table 3.1. (The corresponding P_{D_{i}} will not be pairwise disjoint, but this does not matter, since it was not required to prove Lemma 3.3.27.) We will then show that, for each i ⩽ 6, f ↾ P_{D_{i}} is computable, which will enable us to apply Lemma 3.3.27 to conclude that f is computable. The following two lemmas provide a useful tool for our task. 3.3.28. Lemma. Let k ∈ ω and suppose there is a stage s such that, for each t ⩾ s, (k)_{t} does not participate in an operation at stage t + 1. Then (k) ≅ (k)_{s}.

Proof. Clearly, if (k)_{t} does not participate in an operation at stage t + 1 then (k)_{t+1} ≅ (k)_{t}. So, by induction, (k)_{t} ≅ (k)_{s+1} for all t ⩾ s. Since (k) = ⋃_{t∈ω}(k)_{t}, the lemma follows.

Table 3.1: D_{0}, …, D_{6}
D_{0} {6⟨0, k⟩ + 3, 6⟨0, j, k⟩ + l | j, k ∈ ω, l ∈ {1, 2, 4, 5}}

D_{1} {6⟨⌜τ⌝, k⟩ + 3, 6⟨⌜τ⌝, j, k⟩ + l | τ to the left of σ or τ^{⌢}1 ⊆ σ,

j, k ∈ ω, l ∈ {1, 2, 4, 5}}

D_{2} {6⟨⌜τ⌝, k⟩ + 3, 6⟨⌜τ⌝, j, k⟩ + l | τ to the right of σ^{⌢}0,

j, k ∈ ω, l ∈ {1, 2, 4, 5}}

D_{3} {m ∈ ω | (m) is the unique infinite component of some (A^{0})_{τ}, τ^{⌢}0 ⊆ σ}

D_{4} {6⟨⌜τ⌝, j⟩ + 3, 6⟨⌜τ⌝, j, k⟩ + l | τ^{⌢}0 ⊆ σ, j, k ∈ ω, l ∈ {1, 2, 4, 5}} − D_{3}

D_{5} {6k | k < n} ∪ {6a_{s} | a_{s} ⩾ recov(σ, s + 1) or s is less than

the first σ-recovery stage after the last time σ is initialized}
D_{6} {6⟨⌜τ⌝, j⟩+3, 6⟨⌜τ⌝, j, k⟩+l | τ = σ or σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {1, 2, 4, 5}}∪ ; {6k | k ∈ ω} − D_{5}

3.3.29. Lemma. Let D ⊆ ω and h : D → ω be computable. Suppose that, for each k ∈ D and t ⩾ h(k), (k)_{t} does not participate in an operation at stage t + 1. Then f ↾ P_{D} is computable.

Proof. Let x ∈ P_{D} and let k ∈ D be such that x ∈ (k). By Lemma 3.3.28, (k)_{h(k)} ≅ (k), so (k) is finite. Since no component of A^{0} is embeddable in another component of A^{0}, there is a unique finite set T ⊂ G_{n} such that there is an isomorphism g_{x} :

(k) ≅ T. Clearly, g_{x} can be extended to an isomorphism from A^{0} to G_{n}. By the uniqueness of f, f(x) = g_{x}(x). It is easy to see that g_{x} can be computably determined given x ∈ P_{D}. Thus f ↾ P_{D} is computable.

3.3.30. Lemma. Let D_{0} consist of all numbers of the form 6⟨0, k⟩+3 or 6⟨0, j, k⟩+ l, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Then f ↾ P_{D_{0}} is computable.

Proof. Let m be of the form 6⟨0, k⟩ + 3 or 6⟨0, j, k⟩ + l, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Recall that, for all τ ∈ 2^{<ω}, ⌜τ⌝ ≠ 0. Thus, the only time (m) can participate in an operation is at stage k + 1. (This happens if no element of 2^{<ω} is active at stage k + 1.) So if we define h(m) = k + 1 then the hypotheses of Lemma 3.3.29 are satisfied.

3.3.31. Lemma. There exists a stage s such that if τ is either to the left of σ or such that τ^{⌢}1 ⊆ σ then τ is not active after stage s.

Proof. Let τ ∈ 2^{<ω}. By definition, τ is not active at a stage t unless a_{s} is less than the number of τ-recovery stages less than or equal to t. Thus, τ cannot be active more often than it recovers.

Let T be the set of all τ which are either to the left of σ or such that τ^{⌢}1 ⊆ σ. Since σ ∈ T P, only finitely many elements of T ever recover, and the ones that do recover, do so only finitely often. The lemma now follows by the remark in the previous paragraph.

3.3.32. Lemma. Let D_{1} be the set of all numbers of the form 6⟨⌜τ⌝, k⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, τ to the left of σ or τ^{⌢}1 ⊆ σ, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Then f ↾ P_{D_{1}} is computable.

Proof. Let s be as in Lemma 3.3.31. By Lemma 3.3.6, for each m ∈ D_{1} and t ⩾ s, (m)_{t} does not participate in an operation at stage t + 1. So if we let h(m) = s for all m ∈ D_{1} then the hypotheses of Lemma 3.3.29 are satisfied.

3.3.33. Lemma. Let τ be to the right of σ^{⌢}0. Let m be of the form 6⟨⌜τ⌝, k⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, l ∈ {1, 2, 4, 5}. Let s + 1 be the stage at which τ is initialized for the (k + 1)^{st} time. Then (m) does not participate in an operation after stage s.

Proof. If a singleton component of A_{t}^{0} of the form [6⟨⌜τ⌝, p⟩ + 3], participates in an operation at a stage t + 1 > s then p = init(τ, t) ⩾ k + 1. If a singleton component of A_{t}^{0} of the form [6⟨⌜τ⌝, j, p⟩ + l], l ∈ {1, 2, 4, 5}, participates in an operation at a stage t + 1 > s then p = c(τ, t) ⩾ init(τ, t) ⩾ k + 1. So if (m) does not participate in an operation before stage s + 1 then it does not participate in an operation after stage s.

On the other hand, if (m) participates in an operation before stage s + 1 then the fact that it does not participate in an operation after stage s follows from Lemma 3.3.14.

3.3.34. Lemma. Let D_{2} be the set of all numbers of the form 6⟨⌜τ⌝, k⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, τ to the right of σ^{⌢}0, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Then f ↾ P_{D_{2}} is computable.

Proof. If m ∈ D_{2} is of the form 6⟨⌜τ⌝, k⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l then define h(m) to be the first stage by which τ has been initialized k + 1 many times (which exists, since σ^{⌢}0 ∈ T P). Then, by Lemma 3.3.33, the hypotheses of Lemma 3.3.29 are satisfied.

If τ^{⌢}0 ⊆ σ and r_{τ,s} has a limit then, by Lemma 3.3.20, (A^{0})_{τ} has a unique infinite component. On the other hand, if τ^{⌢}0 ⊆ σ and r_{τ,s} does not have a limit then, by Lemma 3.3.16, all components of (A^{0})_{τ} are finite. Let D_{3} be the set of all m ∈ ω such that (m) is the unique infinite component of some τ^{⌢}0 ⊆ σ such that r_{τ,s} has a limit. Note that D_{3} is finite. 3.3.35. Lemma. f ↾ P_{D_{3}} is computable.

Proof. Let T = {x_{0}, …, x_{m}} be the tops of the components of P_{D_{3}}. Given x ∈ P_{D_{3}} − T, find the unique k such that x is in a copy K of [k]. The top of K is x_{i} for some i ⩽ m. Let L be the unique copy of [k] in G_{n} with top f(x_{i}) and let g_{x} be the unique isomorphism form K to L. Then f(x) = g_{x}(x). It is easy to see that g_{x} can be computably determined given x ∈ P_{D_{3}} − T. Since T is finite, this implies that f ↾ P_{D_{3}} is computable.

The following lemma is easy to check from the construction. 3.3.36. Lemma. Let s ∈ ω. If all the components of (A_{t}^{0})_{τ} that participate in an operation at a τ-isomorphism recovery stage t + 1 > s have participated in an operation in the interval (s, t] then no component of (A_{t}^{0})_{τ} that participates in an operation in the interval (0, s] but not in the interval (s, t + 1] can participate in an operation after stage t. 3.3.37. Lemma. Let D_{4} be the set of all numbers not in D_{3} that are of the form 6⟨⌜τ⌝, j⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, τ^{⌢}0 ⊆ σ, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Then f ↾ P_{D_{4}} is computable.

Proof. Let m ∈ D_{4}. If m is of the form 6⟨⌜τ⌝, j, k⟩ + l, l ∈ {1, 2, 4, 5}, then let s be the first stage by which τ has recovered k + 1 many times. If (m) has not participated in an operation before stage s then, by the same reasoning as in the proof of Lemma 3.3.33, it does not participate in an operation after stage s. In this case, let h(m) = s.

Now suppose that m is of the form 6⟨⌜τ⌝, j⟩ + 3. Let init(τ) = lim_{s} init(τ, s). If j < init(τ) then let s be the least stage by which τ has been initialized k + 1 many times. Arguing as in the proof of Lemma 3.3.33, we see that (m) does not participate in an operation after stage s. In this case, let h(m) = s. If j > init(τ) then (m) never participates in an operation. In this case, let h(m) = 0.

If h(m) has not yet been defined then (m) participates in an operation at least once. However, since (m) is finite, (m) participates in operations only finitely often. So there exist stages s < t + 1 such that t + 1 is a τ-isomorphism recovery stage, all the components of (A_{t}^{0})_{τ} that participate in an operation at stage t + 1 have participated in an operation in the interval (s, t], and (m) does not participate in an operation in the interval (s, t + 1]. Then, by Lemma 3.3.36, (m) does not participate in an operation after stage t. In this case, let h(m) = t.

Now the hypotheses of Lemma 3.3.29 are satisfied.

3.3.38. Lemma. Let D′_{5} be the set of all numbers of the form 6k, k < n. Let D′′_{5} be set of all numbers of the form 6a_{s} such that a_{s} ⩾ recov(σ, s + 1) or s is less than the first σ-recovery stage after the last time σ is initialized. Let D_{5} = D′_{5} ∪ D′′_{5}. Then f ↾ P_{D_{5}} is computable.

Proof. By Lemma 3.3.6, there is a stage t such that no (6k), k < n, participates in an operation after stage t. For k < n, let h(6k) = t.

For 6a_{s} ∈ D′′_{5}, let h(6a_{s}) = s + 1. Again by Lemma 3.3.6, (6a_{s}) does not participate in an operation after stage h(6a_{s}).

Since D′_{5} is finite, h is computable, and hence the hypotheses of Lemma 3.3.29 are satisfied.

Let D′_{6} be the set of all numbers of the form 6⟨⌜τ⌝, j⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, τ = σ or σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {1, 2, 4, 5}. Let D′′_{6} be the set of all numbers of the form 6k that are not in D_{5}. Let D_{6} = D′_{6} ∪ D′′_{6}. In order to show that f is computable, we are left with showing that f ↾ P_{D_{6}} is computable. Roughly, the idea is to show that, once r_{σ,s} has reached its final value, G_{n} and A^{0} always go in the same direction at stages at which components of P_{D_{6}} participate in operations. The argument is similar to that in the proof of Lemma 3.2.29, but we now need to worry about the τ ⊇ σ^{⌢}0 case as well as the τ = σ case. 3.3.39. Lemma. Let τ be such that τ = σ or σ^{⌢}0 ⊆ τ. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = 0. Let s + 1 > u be a σ-recovery stage, but not the first such stage after stage u. Let t + 1 be the last σ-recovery stage before stage s + 1 and let s_{0} + 1 < s_{1} + 1 < ⋯ < s_{m} + 1 be the stages in the interval (t, s] at which τ is active. For each k ⩽ m, let Y_{k}, X_{k}, Z_{k}, B_{k}, R_{k} and C_{k} be Y_{τ,s_{k}}^{0}, X_{s_{k}}^{0}, Z_{τ,s_{k}}^{0}, B_{τ,s_{k}}^{0}, R_{τ,s_{k}}^{0}, and C_{τ,s_{k}}^{0}, respectively, and let Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, R′_{k} and C′_{k} be the components of A_{s}^{0} that extend Y_{k}, X_{k}, Z_{k}, B_{k}, R_{k} and C_{k}, respectively. Then the following hold.

1. For every k ⩽ m, Y_{k}, X_{k}, Z_{k}, B_{k}, and C_{k} are components of A_{t}^{0}, and so is R_{0}. If r_{τ,t+1} = 0 then, for every k, l ⩽ m, R′_{k} = R′_{l}. If r_{τ,t+1} = 1 then, for every 0 < k ⩽ m, R′_{k} = B′_{k−1}.

2. There exists a component R̂_{0} of G_{n}[t] such that R̂_{0} ≅ R_{0} and, for each k ⩽ m, there exist components Ŷ_{k}, X̂_{k}, Ẑ_{k}, B̂_{k}, and Ĉ_{k} of G_{n}[t] such that Ŷ_{k} ≅ Y_{k}, X̂_{k} ≅ X_{k}, Ẑ_{k} ≅ Z_{k}, B̂_{k} ≅ B_{k}, and Ĉ_{k} ≅ C_{k}.

3. Let R̂′_{0} be the component of G_{n}[s] that extends R̂_{0} and, for each k ⩽ m, let Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, and Ĉ′_{k} be the components of G_{n}[s] that extend Ŷ_{k}, X̂_{k}, Ẑ_{k}, B̂_{k}, and Ĉ_{k}, respectively. R̂′_{0} ≅ R′_{0} and, for each k ⩽ m, Ŷ′_{k} ≅ Y′_{k}, X̂′_{k} ≅ X′_{k}, Ẑ′_{k} ≅ Z′_{k}, B̂′_{k} ≅ B′_{k}, and Ĉ′_{k} ≅ C′_{k}.

Proof. There are no τ-recovery stages in the interval (t + 1, s], which implies that if τ is initialized in the interval (t, s] then this initialization happens after stage s_{m}+1. So the first part of the lemma follows from the way Y_{τ,s_{k}}^{0}, X_{s_{k}}^{0}, Z_{τ,s_{k}}^{0}, B_{τ,s_{k}}^{0}, R_{τ,s_{k}}^{0}, and C_{τ,s_{k}}^{0} are defined. The second part of the lemma follows from the definition of σ-recovery stage. We prove the third part of the lemma.

In the τ = σ case, the proof is the same as the proof of the third part of Lemma 3.2.29. We handle the τ ⊇ σ^{⌢}0 case. There are two subcases.

First suppose that r_{τ,t+1} = 0.

Let k ⩽ m. Since σ is active whenever τ is active, it follows from the τ = σ case that X̂′_{k} ≅ X′_{k}.

The only components of A_{s}^{0} that contain copies of Ẑ_{k} are X′_{k} and Z′_{k}. Since X̂′_{k} ≅ X′_{k}, it must be the case that Ẑ′_{k} ≅ Z′_{k}.

The only components of A_{s}^{0} that contain copies of B̂_{k} are Z′_{k} and B′_{k}. Since Ẑ′_{k} ≅ Z′_{k}, it must be the case that B̂′_{k} ≅ B′_{k}.

The only components of A_{s}^{0} that contain copies of R̂_{0} are R′_{0} and B′_{0}, …, B′_{m}. We have shown that, for every k ⩽ m, B̂′_{k} ≅ B′_{k}. Thus it must be the case that R̂′_{0} ≅ R′_{0}.

We now proceed by reverse induction, beginning with m. Let k ⩽ m. Assume by induction that, for all j > k, Ŷ′_{j} ≅ Y′_{j}, X̂′_{j} ≅ X′_{j}, Ẑ′_{j} ≅ Z′_{j}, B̂′_{j} ≅ B′_{j}, and Ĉ′_{j} ≅ C′_{j}. As in the τ = σ case, we may assume that if K is one of Ŷ′_{k}, X̂′_{k}, Ẑ′_{k}, B̂′_{k}, or Ĉ′_{k} and L is a component of A_{s}^{0} such that K ≅ L then L is one of R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k}.

We have already seen that X̂′_{k} ≅ X′_{k}, Ẑ′_{k} ≅ Z′_{k}, B̂′_{k} ≅ B′_{k}, and R̂′_{0} ≅ R′_{0}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of Ĉ_{k} are R′_{0} and C′_{k}. Since R̂′_{0} ≅ R′_{0}, it must be the case that Ĉ′_{k} ≅ C′_{k}.

The only components among R′_{0}, Y′_{k}, X′_{k}, Z′_{k}, B′_{k}, or C′_{k} that contain copies of Ŷ_{k} are C′_{k} and Y′_{k}. Since Ĉ′_{k} ≅ C′_{k}, it must be the case that Ŷ′_{k} ≅ Y′_{k}.

Now suppose that r_{τ,t+1} = 1.

As before, it follows from the τ = σ case that X̂′_{k} ≅ X′_{k} for all k ⩽ m.

We first proceed by reverse induction, beginning with m, to show that Ẑ′_{k} ≅ Z′_{k}, B̂′_{k} ≅ B′_{k}, and R̂′_{0} ≅ R′_{0}. Let k ⩽ m. We may assume by induction that, for all k < j ⩽ m, B̂′_{j} ≅ B′_{j}.

The only components of A_{s}^{0} that contain copies of Ẑ_{k} are X′_{k} and Z′_{k}. Since X̂′_{k} ≅ X′_{k}, it must be the case that Ẑ′_{k} ≅ Z′_{k}.

The only components of A_{s}^{0} that contain copies of B̂_{k} are Z′_{k}, and B′_{j}, k ⩽ j ⩽ m.

Since Ẑ′_{k} ≅ Z′_{k} and, for all k < j ⩽ m, B̂′_{j} ≅ B′_{j}, it must be the case that B̂′_{k} ≅ B′_{k}.

The only components of A_{s}^{0} that contain copies of R̂_{0} are R′_{0} and B′_{0}, …, B′_{m}. We have shown that, for every k ⩽ m, B̂′_{k} ≅ B′_{k}. Thus it must be the case that R̂′_{0} ≅ R′_{0}.

Now let 0 < k ⩽ m. The only components of A_{s}^{0} that contain copies of Ĉ_{k} are B′_{k−1} and C′_{k}. Since B̂′_{k−1} ≅ B′_{k−1}, it must be the case that Ĉ′_{k} ≅ C′_{k}.

The only components of A_{s}^{0} that contain copies of Ĉ_{0} are R′_{0} and C′_{0}. Since R̂′_{0} ≅ R′_{0}, it must be the case that Ĉ′_{0} ≅ C′_{0}.

Let k ⩽ m. The only components of A_{s}^{0} that contain copies of Ŷ_{k} are C′_{k} and Y′_{k}. Since Ĉ′_{k} ≅ C′_{k}, it must be the case that Ŷ′_{k} ≅ Y′_{k}.

The following lemma can be easily checked. 3.3.40. Lemma. Let m ∈ ω be of the form 6⟨⌜τ⌝, j⟩ + 3 or 6⟨⌜τ⌝, j, k⟩ + l, τ = σ or σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {1, 2, 4, 5}. If (m)_{s} participates in an operation at stage s + 1 then it is one of Y_{τ,s}^{0}, Z_{τ,s}^{0}, B_{τ,s}^{0}, R_{τ,s}^{0}, or C_{τ,s}^{0}.

Let m ∈ D′′_{6}. If (m)_{s} participates in an operation at stage s + 1 then it is X_{s}^{0} and σ is active at stage s + 1. 3.3.41. Lemma. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = 0. Let s + 1 > u be a σ-recovery stage and let t + 1 be the next σ-recovery stage after stage s + 1. Let m ∈ D_{6}. Suppose there exists a component L of G_{n}[s] that is isomorphic to (m)_{s}. Then the component L′ of G_{n}[t] that extends L is isomorphic to (m)_{t}.

Proof. If (m) does not participate in an operation in the interval (s, t] then (m)_{t} ≅ (m)_{s}. Since L′ ⊇ L, (m)_{t} is not embeddable in another component of A_{t}^{0}, and, by convention (see page 58), G_{n}[t] is embeddable in A_{t}^{0}, this means that L′ ≅ (m)_{t}.

Otherwise, the lemma follows from Lemmas 3.3.39 and 3.3.40.

3.3.42. Lemma. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = 0. Let x ∈ P_{D_{6}}. There exists a σ-recovery stage s + 1 ⩾ u such that x is contained in (k)_{s} for some k ∈ D_{6} and there exists an isomorphic component L of G_{n}[s]. For any such s, if we let g be the unique isomorphism from (k)_{s} to L then f(x) = g(x).

Proof. If x is contained in a finite component of A^{0} then the existence of s follows from the fact that G_{n} ≅ A^{0}. Otherwise, there are t ⩾ s > u such that s + 1 is a σ-recovery stage, there are no σ-recovery stages in the interval (s + 1, t + 1], x is contained in (k)_{t}, k ∈ D_{6}, and (k)_{t} is involved in an operation at stage t + 1. Now it follows from Lemma 3.3.39 that x is contained in (k)_{s} and there exists an isomorphic component L of G_{n}[s].

Let s + 1 = s_{0} + 1 < s_{1} + 1 < ⋯ be the σ-recovery stages greater than or equal to s + 1. Let L_{i} be the component of G_{n}[s_{i}] that extends L and let L′ be the component of G_{n} that extends L. Using Lemma 3.3.41 and induction, we see that, for each i ⩾ 0, there exists a unique isomorphism g_{i} : (k)_{s_{i}} ≅ L_{i}. Note that g_{0} = g. Clearly, if j > i then g_{j} extends g_{i}. Thus the limit g′ of the g_{i} is well-defined and is an isomorphism from (k) to L′. By the uniqueness of f, f(x) = g′(x) = g(x).

3.3.43. Lemma. f ↾ P_{D_{6}} is computable.

Proof. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = 0. Given x ∈ P_{D_{6}}, find the least σ-recovery stage s + 1 ⩾ u such that x is contained in a component (m)_{s}, m ∈ D_{6}, of A_{s}^{0} and there exists a component L of G_{n}[s] isomorphic to (m)_{s}. Such a stage exists by Lemma 3.3.42. Let g_{x} be the unique isomorphism from (m)_{s} to L. Again by Lemma 3.3.42, f(x) = g_{x}(x). Since g_{x} can be computably determined given x ∈ P_{D_{6}}, f ↾ P_{D_{6}} is computable.

By Lemmas 3.3.30, 3.3.32, 3.3.34, 3.3.35, 3.3.37, 3.3.38, and 3.3.43, f ↾ P_{D_{i}} is computable for each i ⩽ 6. As can be easily checked by referring to Table 3.1, D_{0}, …, D_{6} are computable and ⋃_{i=0}^{6} D_{i} = ω. Thus, by Lemma 3.3.27, we have the following result. 3.3.44. Lemma. The unique isomorphism f : A^{0} ≅ G_{n} is computable.

Theorem 3.1.4 follows from Lemmas 3.3.4, 3.3.5, 3.3.22, 3.3.23, and 3.3.44. ■

3.4 Proof of Theorem 3.1.6

In this section we prove the following theorem.

3.1.6. Theorem. Let {A_{i}}_{i∈ω} be a uniformly c.e. (u.c.e.) collection of sets. There exists an intrinsically c.e. relation U on the domain of a computable structure A such that DgSp_{A}(U) = {deg(A_{i}) | i ∈ ω}.

Proof. Let {A_{i}}_{i∈ω} be a u.c.e. collection of sets. Let A = ⨁_{i∈ω} A_{i} = {⟨i, x⟩ | x ∈ A_{i}} and let a_{0}, a_{1}, … be a computable enumeration of A. Let A[0] = ∅, A[s + 1] = {a_{0}, …, a_{s}}.

We wish to construct computable structures A^{i}, i ∈ ω, and for each such structure a corresponding unary relation U^{i} on the domain of A^{i}, so that for all i, j ∈ ω, the following properties hold.

(3.4.1) A^{i} ≅ A^{j} via an isomorphism that carries U^{i} to U^{j}.

(3.4.2) U^{i} ≡_{m} A_{i}.

(3.4.3) If G ≅ A^{0} is a computable structure then the image of U^{0} in G is m-

equivalent to A_{k} for some k ∈ ω. The construction will be similar to the one in Section 3.2, as will the proof that

the above properties hold. In this section, we restrict ourselves to pointing out the necessary changes.

We assume without loss of generality that, for all i ∈ ω, A_{i} ≠ ∅ and A_{i} ≠ ω. We also assume that A is not computable. (If A is computable then {deg(A_{i}) | i ∈ ω} = {0}, and it is obvious that there exists a relation on the domain of a computable structure with degree spectrum {0}.)

The basic idea is the following. Suppose that at stage s + 1 we perform an L-operation involving copies of [6a_{s}] and appropriate special components on A_{s}^{π_{0}(a_{s})} and perform the corresponding R-operation on each A_{s}^{j}, j ≠ π_{0}(a_{s}), and that we then put the coding location of the old copy of [6a_{s}] in A_{s}^{π_{0}(a_{s})} into U^{π_{0}(a_{s})} and, for each j ≠ π_{0}(a_{s}), we put the coding location of the new copy of [6a_{s}] in A_{s}^{j} into U^{j}. Then the coding location x of a copy of [6⟨i, k⟩], k ∈ ω, in A^{i} is in U^{i} if and only if x ∈ A_{0}^{i} and k ∈ A_{i}. On the other hand, the coding location of a copy of [6⟨j, k⟩], k ∈ ω, j ≠ i, is in U^{i} if and only if it is not in A_{0}^{i}. Thus (3.4.2) is satisfied.

However, there is a problem in defining the isomorphism recovery mechanism used to satisfy (3.4.1), due to the fact that both L- and R-operations are applied to a given A^{i} during the construction. We deal with this by separating the stages at which elements enter the U^{i} from the stages at which isomorphism recovery can happen, reserving the even stages for the former purpose and the odd ones for the latter.

We now give the full description of the construction of the A^{i} and U^{i}.

stage 0. Let each A_{0}^{i}, i ∈ ω, be a computable structure with co-infinite domain, consisting of one copy of [k] for each k ∈ ω. For each n ∈ ω, let r_{n,0} = 0.

stage 2s + 1. For each n < s + 1, say that 2s + 1 is an n-recovery stage if all of the following conditions hold.

1. G_{n}[2s] has a special component isomorphic to some component of A_{2s}^{0}. (Here “special component” has the same meaning as in the previous section.)

2. (G_{n}[2s])_{n} ≅ (A_{2s}^{0})_{n}.

3. Let j ∉ A[s] be less than or equal to the number of n-recovery stages before stage 2s + 1. There is a component of G_{n}[2s] isomorphic to [6j], for each l ∈ {1, 2} there is a component of G_{n}[2s] isomorphic to [6⟨n, j⟩ + l], and for each l ∈ {10, 11} there is a component of G_{n}[2s] isomorphic to [12⟨n, j⟩ + l].

4. Let c be the number of n-recovery stages before stage 2s+1. For each l ∈ {4, 5} there is a component of G_{n}[2s] isomorphic to [12⟨n, c⟩ + l].

If 2s + 1 is an n-recovery stage then, for i ∈ ω, let S_{n,2s}^{i} be the component of A_{2s}^{i} that is isomorphic to the special component of G_{n}[2s]. If 2s + 1 is the first n-recovery stage then let r_{n,2s+1} = 0. Otherwise, proceed as follows. Let i = r_{n,2s} and let 2t + 1 be the last n-recovery stage before stage 2s + 1. If S_{n,2s}^{i} extends S_{n,2t}^{i} then let r_{n,2s+1} = i. Otherwise, let c be the number of n-change stages (defined below) before stage 2s + 1 and let r_{n,2s+1} = π_{0}(c).

If 2s + 1 is not an n-recovery stage then let r_{n,2s+1} = r_{n,2s}.

We say that 2s + 1 is an n-change stage if it is the first n-recovery stage or r_{n,2s+1} ≠ r_{n,2s}. We say that 2s + 1 is an n-isomorphism recovery stage if it is an n-recovery stage but not an n-change stage and one of the following conditions holds.

1. The last n-recovery stage before stage 2s + 1 was an n-change stage.

2. There has been at least one stage at which n was active after the last n-iso-morphism recovery stage and before stage 2s + 1.

Let n_{0}, n_{1}, …, n_{m} be all the numbers n_{k} such that 2s+1 is an n_{k}-recovery stage. We say that each n_{k}, k ⩽ m, is active at stage 2s + 1. For each k ⩽ m, proceed as follows. Let i = r_{n_{k},2s+1} and let 2t + 1 ⩽ 2s + 1 be the last n_{k}-recovery stage. Let R_{n_{k},2s}^{i} be the component of A_{2s}^{i} that extends S_{n_{k},2t}^{i} and, for each j ≠ i, let R_{n_{k},2s}^{j} be the isomorphic image of R_{n_{k},2s}^{i} in A_{2s}^{j}. Let c_{k} be the number of n_{k}-recovery stages before stage 2s + 1.

For each k ⩽ m, we define components B_{n_{k},2s}^{j} and C_{n_{k},2s}^{j}, j ∈ ω. There are two cases.

1. 2s + 1 is an n_{k}-isomorphism recovery stage. If the first condition in the definition of n_{k}-isomorphism recovery stage holds then let t + 1 be the last n_{k}-recovery stage, and otherwise let t + 1 be the first stage after the last n_{k}-isomorphism recovery stage at which n_{k} was active. Let C_{n_{k},2s}^{i} be the component of A_{2s}^{i} that extends B_{n_{k},t}^{i} and, for j ≠ i, let C_{n_{k},2s}^{j} be the isomorphic image of C_{n_{k},2s}^{i} in A_{2s}^{j}. For j ∈ ω, let B_{n_{k},2s}^{j} be the component of A_{2s}^{j} isomorphic to [12⟨n_{k}, c_{k}⟩ + 4].

2. 2s+1 is not an n_{k}-isomorphism recovery stage. For j ∈ ω, let B_{n_{k},2s}^{j} and C_{n_{k},2s}^{j} be the components of A_{2s}^{j} isomorphic to [12⟨n_{k}, c_{k}⟩ + 4] and [12⟨n_{k}, c_{k}⟩ + 5], respectively.

For each i ∈ ω, we define operations O_{0}^{i}, …, O_{m}^{i} as follows. If i = r_{n_{k},2s+1} then let O_{k}^{i} = L(B_{n_{k},2s}^{i}, R_{n_{k},2s}^{i}, C_{n_{k},2s}^{i}). Otherwise, let O_{k}^{i} = R(B_{n_{k},2s}^{i}, R_{n_{k},2s}^{i}, C_{n_{k},2s}^{i}).

For each i ∈ ω, perform the sequence of operations O_{0}^{i}, …, O_{m}^{i} on A_{2s}^{i} to get A_{2s+1}^{i}.

stage 2s + 2. For each n ∈ ω, let r_{n,2s+2} = r_{n,2s+1}.

Let l = π_{0}(a_{s}). Let n_{0}, n_{1}, …, n_{m} be all the numbers n_{j} such that a_{s} is less than the number of n_{j}-recovery stages before stage 2s + 2. We say that each n_{j}, j ⩽ m, is active at stage 2s + 2. For i ∈ ω and j ⩽ m, let X_{2s+1}^{i}, Y_{n_{j},2s+1}^{i}, Z_{n_{j},2s+1}^{i}, B_{n_{j},2s+1}^{i}, and C_{n_{j},2s+1}^{i} be the components of A_{2s+1}^{i} isomorphic to [6a_{s}], [6⟨n_{j}, a_{s}⟩+1], [6⟨n_{j}, a_{s}⟩ + 2], [12⟨n_{j}, a_{s}⟩ + 10], and [12⟨n_{j}, a_{s}⟩ + 11], respectively.

For each k ⩽ m, proceed as follows. Let i = r_{n_{k},2s+2} and let 2t + 1 be the last n_{k}-recovery stage before stage 2s + 2. Let R_{n_{k},2s+1}^{i} be the component of A_{2s+1}^{i} that extends S_{n_{k},2t}^{i} and, for each j ≠ i, let R_{n_{k},2s+1}^{j} be the isomorphic image of R_{n_{k},2s+1}^{i} in A_{2s+1}^{j}.

Now perform

L(Y_{n_{0},2s+1}^{l}, …, Y_{n_{m},2s+1}^{l}; X_{2s+1}^{l}; Z_{n_{0},2s+1}^{l}, …, Z_{n_{m},2s+1}^{l}; B_{n_{0},2s+1}^{l}, R_{n_{0},2s+1}^{l}, C_{n_{0},2s+1}^{l}; B_{n_{1},2s+1}^{l}, R_{n_{1},2s+1}^{l}, C_{n_{1},2s+1}^{l}; …; B_{n_{m},2s+1}^{l}, R_{n_{m},2s+1}^{l}, C_{n_{m},2s+1}^{l})

on A_{2s+1}^{l} to get A_{2s+2}^{l} and, for each j ≠ l, perform

R(Y_{n_{0},2s+1}^{j}, …, Y_{n_{m},2s+1}^{j}; X_{2s+1}^{j}; Z_{n_{0},2s+1}^{j}, …, Z_{n_{m},2s+1}^{j}; B_{n_{0},2s+1}^{j}, R_{n_{0},2s+1}^{j}, C_{n_{0},2s+1}^{j}; B_{n_{1},2s+1}^{j}, R_{n_{1},2s+1}^{j}, C_{n_{1},2s+1}^{j}; …; B_{n_{m},2s+1}^{j}, R_{n_{m},2s+1}^{j}, C_{n_{m},2s+1}^{j})

on A_{2s+1}^{j} to get A_{2s+2}^{j}. (If no n is active at stage 2s+2 then, for each i ∈ ω, let Y_{2s+1}^{i} and Z_{2s+1}^{i} be the components of A_{2s+1}^{i} isomorphic to [6⟨0, a_{s}⟩ + 1] and [6⟨0, a_{s}⟩ + 2], respectively. Perform L(Y_{2s+1}^{l}, X_{2s+1}^{l}, Z_{2s+1}^{l}) on A_{2s+1}^{l} to get A_{2s+2}^{l} and, for each j ≠ l, perform R(Y_{2s+1}^{j}, X_{2s+1}^{j}, Z_{2s+1}^{j}) on A_{2s+1}^{j} to get A_{2s+2}^{j}.)

Put the coding location of the copy of [6a_{s}] in A_{0}^{l} into U^{l} and, for each j ≠ l, put the coding location of the copy of [6a_{s}] in A_{2s+2}^{j} − A_{2s+1}^{j} into U^{j}.

This completes the construction. For each i ∈ ω, let A^{i} = ⋃_{s∈ω} A_{s}^{i}. As previously remarked, the proof that (3.4.1)–(3.4.3) are satisfied is similar to what we did in Section 3.2. We begin by showing that (3.4.2) is satisfied. 3.4.1. Lemma. For each i ∈ ω, U^{i} ≡_{m} A_{i}.

Proof. If k is the coding location of a copy of [6⟨i, x⟩] in A^{i} then k ∈ U^{i} if and only if k ∈ A_{0}^{i} and x ∈ A_{i}. On the other hand, if k is the coding location of a copy of [6⟨j, x⟩] in A^{i} for some x ∈ ω, j ≠ i, and k enters U^{i} at stage s + 1 then k is a new number at that stage, and hence is greater than s.

Lemmas 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.2.12, 3.2.14, and 3.2.18 still hold, as do the following versions of Lemmas 3.2.13, 3.2.15, 3.2.16, and 3.2.17. In all cases, the reasoning is basically the same as in Section 3.2. 3.4.2. Lemma. Let i, j, s ∈ ω. A_{s}^{i} ≅ A_{s}^{j} and no component of A_{s}^{i} is embeddable in another component of A_{s}^{i}. Furthermore, if a component of A_{s}^{i} participates in an operation at stage s + 1 then so does the (unique) isomorphic component of A_{s}^{j}. 3.4.3. Lemma. Let 2s + 1 be an n-recovery stage that is not the first such stage. Let 2t + 1 be the last n-recovery stage before stage 2s + 1 and suppose that r_{n,2t+1} = i ≠ r_{n,2s+1}. Then for some u ∈ [t, s), S_{n,2s}^{i} extends one of B_{n,2u}^{i}, B_{n,2u+1}^{i}, or C_{n,2u+1}^{i}. 3.4.4. Lemma. Suppose that r_{n,t} = i for all t ⩾ s. Then no component of (A^{i})_{n} can participate in an operation more than twice after stage s unless it extends R_{n,t}^{i} for some t ⩾ s, while for j ≠ i, no component of (A^{j})_{n} can participate in an operation more than twice after stage s unless it extends C_{n,t}^{i} for some t ⩾ s such that t + 1 is an n-isomorphism recovery stage. 3.4.5. Lemma. Suppose that s < t < v are such that s + 1 is an n-isomorphism recovery stage, r_{n,u} = r_{n,s+1} for all u > s, t + 1 is the next stage after stage s + 1 at which n is active, and v + 1 is the next n-isomorphism recovery stage after stage s + 1. For j ∈ ω, let B^{j} and R^{j} be the components of A_{t+1}^{j} that extend B_{n,t}^{j} and R_{n,t}^{j}, respectively, and let B̂^{j} and R̂^{j} be the components of A_{v}^{j} that extend B^{j} and R^{j}, respectively. Then B̂^{i} ≅ B^{i} and, for j ≠ i, R̂^{j} ≅ R^{j}.

We now wish to show that that (3.4.3) is satisfied. Lemma 3.2.20 still holds, and hence so does Lemma 3.2.26. In both cases the proofs are essentially the same as in Section 3.2. Using Lemma 3.4.3 in place of Lemma 3.2.15, we can prove Lemma 3.2.19 in much the same way as before. (Notice that the way we define r_{n,2s+1} guarantees that if r_{n,s} does not have a limit then for each i ∈ ω there are infinitely many stages s such that r_{n,s} = i.) Now Lemma 3.2.27 follows, as before, from Lemmas 3.2.19 and 3.2.26.

Lemmas 3.2.28 and 3.2.29 still hold, with essentially the same proofs as in Section 3.2, provided that, in the latter lemma, we make the obvious changes arising from the fact that if n is active at stage 2s + 1 then the components B_{n,2s}^{i}, R_{n,2s}^{i}, and C_{n,2s}^{i} are defined but the components Y_{n,2s}^{i}, X_{2s}^{i}, and Z_{n,2s}^{i} are not.

Now the following lemma can be proved in much the same way as Lemma 3.2.30. 3.4.6. Lemma. Suppose that 2s+1 is an n-recovery stage such that r_{n,2s+1} = r_{n,2s}. Let 2t + 1 be the last n-recovery stage before stage 2s + 1 and let j ∈ A[s] − A[t] be less than the number of n-recovery stages less than or equal to 2t + 1. By the definition of n-recovery stage, there is a unique component K of G_{n}[2t] isomorphic to [6j]. Let L be the component of G_{n} that extends K. Then L contains a copy of [6⟨n, j⟩ + 2] if and only if r_{n,2s+1} = π_{0}(j).

The previous lemma allows us to establish that (3.4.3) is satisfied. 3.4.7. Lemma. Suppose that G_{n} ≅ A^{0}. Let U be the image of U^{0} under this isomorphism. Then U ≡_{m} A_{i} for some i ∈ ω.

Proof. Let N and M be as in the proof of Lemma 3.2.31. By Lemma 3.2.28, it is enough to show that U ∩ M ≡_{m} A_{i} for some i ∈ ω. By Lemma 3.2.27, r_{n,s} has a limit i. Let M_{0} be the set of elements of M that are coding locations of copies of graphs of the form [6n], π_{0}(n) = i, and let M_{1} = M − M_{0}. Note that M_{0} and M_{1} are computable.

Now, combining Lemmas 3.2.18 and 3.4.6, we see that

1. an element x of M_{0} is in U if and only if, for some j ∈ A_{i}, x is the coding location of the first copy of [6⟨i, j⟩] to appear in G_{n}, while

2. an element x of M_{1} is in U if and only if, for some k ∈ ω, x is the coding location of the second copy of [6k] to appear in G_{n}.

So U ∩ M_{0} ≡_{m} A_{i} and U ∩ M_{1} is computable, and thus U ∩ M ≡_{m} A_{i}.

We are left with showing that (3.4.1) is satisfied. Lemma 3.2.21 still holds, with basically the same proof as before. Lemma 3.2.22 still holds, but the proof needs to be slightly modified, so we restate the lemma and give the new proof. 3.4.8. Lemma. Suppose that n is active infinitely often and s and i are such that r_{n,t} = r_{n,s} = i for all t ⩾ s. By Lemma 3.2.21, there are infinitely many nisomorphism recovery stages. Let s_{0} + 1 < s_{1} + 1 < ⋯ be the n-isomorphism recovery stages after stage s. For each j ∈ ω, let t_{j} + 1 be the next stage after stage s_{j} + 1 at which n is active. (Note that t_{j} < s_{j+1} for all j ∈ ω.) For t ⩾ t_{0}, let K_{t}^{l} be the component of A_{t}^{l} that extends R_{n,t_{0}}^{l}. Then K_{t_{j}}^{l} = R_{n,t_{j}}^{l} for all j ∈ ω.

Proof. That K_{s_{j}}^{i} = R_{n,s_{j}}^{i} for all j ∈ ω follows from Lemma 3.2.14.

Now let l ≠ i and assume by induction that K_{t_{j}}^{l} = R_{t_{j}}^{l}. Let B be the component of A_{t_{j}+1}^{i} that extends B_{n,t_{j}}^{i}. By construction, B ≅ K_{t_{j}+1}^{l}. Since s_{j+1} + 1 is an n-isomorphism recovery stage, C_{s_{j+1}}^{i} extends B. Thus, by Lemma 3.4.5, C_{s_{j+1}}^{i} ≅ B. By the same lemma, K_{s_{j+1}}^{l} ≅ K_{t_{j}+1}^{l}. So C_{s_{j+1}}^{i} ≅ K_{s_{j+1}}^{l}, and thus C_{s_{j+1}}^{l} = K_{s_{j+1}}^{l}. Let R be the component of A_{s_{j+1}+1}^{i} that extends R_{n,s_{j+1}}^{i}. Then R ≅ K_{s_{j+1}+1}^{l}. But, by Lemma 3.2.11, R_{n,t_{j+1}}^{i} ≅ R and K_{t_{j+1}}^{l} ≅ K_{s_{j+1}+1}^{l}. So K_{t_{j+1}}^{l} ≅ R_{n,t_{j+1}}^{i}, and thus K_{t_{j+1}}^{l} = R_{n,t_{j+1}}^{l}.

If we assume the hypotheses of Lemma 3.4.8 and let S_{n}^{l} be the component of A^{l} that extends R_{n,s_{0}}^{l} then we can prove Lemma 3.2.23 in the same way as before, using Lemma 3.4.4 in place of Lemma 3.2.16. Furthermore, the following version of Lemma 3.2.24 follows directly from Lemma 3.4.8. 3.4.9. Lemma. Assume the hypotheses of Lemma 3.4.8 and let S_{n}^{l} be the component of A^{l} that extends R_{n,s_{0}}^{l}. Then S_{n}^{k} ≅ S_{n}^{l} for all k, l ∈ ω.

Reasoning as in Section 3.2 (using Lemma 3.4.2 in place of Lemma 3.2.13), we see that Lemmas 3.2.23 and 3.4.9 suffice to establish that (3.4.1) is satisfied. 3.4.10. Lemma. For each i, j ∈ ω, A^{i} ≅ A^{j} via an isomorphism that carries U^{i} to U^{j}.

Theorem 3.1.6 follows from Lemmas 3.4.1, 3.4.7, and 3.4.10. ■

3.5 Proof of Theorem 3.1.7

In this section we prove the following theorem.

3.1.7. Theorem. Let α ∈ ω ∪ {ω} and let b > 0 be an α-c.e. degree. There exists an intrinsically α-c.e. relation V on the domain of a computable structure B of computable dimension 2 such that DgSp_{B}(V) = {0, b}.

Proof. Let α ∈ ω ∪ {ω} and let B be an α-c.e. set that is not computable. It is well-known (see [6]) that there exist a computable sequence b_{0}, b_{1}, … ∈ ω and a function f such that

1. either α < ω and f(x) = α for all x ∈ ω or α = ω and f is computable,

2. |{s | b_{s} = x}| ⩽ f(x) for all x ∈ ω, and

3. x ∈ B ⇔ |{s | b_{s} = x}| ≡ 1 mod 2.

We wish to construct computable structures B^{0} and B^{1} and unary relations V^{0} and V^{1} on the domains of B^{0} and B^{1}, respectively, so that the following properties hold.

(3.5.1) B^{0} ≅ B^{1} via an isomorphism that carries V^{0} to V^{1}.

(3.5.2) V^{0} ≡_{m} B and V^{1} is computable.

(3.5.3) If G ≅ B^{0} is a computable structure then G is computably isomorphic to either B^{0} or B^{1}.

(3.5.4) B^{0} is rigid.

For each s ∈ ω, let c_{s} = |{t < s | b_{t} = b_{s}}| and let a_{s} = ⟨b_{s}, c_{s}⟩. Let A = {a_{0}, a_{1}, … }. A is clearly c.e. but not computable, so we can follow the construction in Section 3.3 to obtain computable structures A^{0} and A^{1} and relations U^{0} and U^{1} on the domains of A^{0} and A^{1}, respectively, satisfying properties (3.3.1)–(3.3.4). (We assume that the construction has been carried out in such a way that the domains of A^{0} and A^{1} are co-infinite.)

Now, for i = 0, 1, proceed as follows. Add an element, which we will call the identifying node of B^{i} to the domain of A^{i} and add an edge from this node to each node of A^{i}. For each j ∈ ω and each sequence of components L_{0}, L_{1}, …, L_{f(j)−1} such that each L_{k} contains a copy of [6⟨j, k⟩], add an element x (which will be said to be a j-coding node) to the domain of A^{i} and, for each k < f(j), add an edge from x to the coding location of the copy of [6⟨j, k⟩] in L_{k}. The resulting graph is B^{i}.

Clearly, each B^{i} is a computable graph, and the following lemma can be easily checked, using the fact that A^{0} is rigid. 3.5.1. Lemma. B^{0} is rigid.

We now define a relation V^{i} on the domain of B^{i}. Let K^{i} be the set of coding nodes in B^{i}. Let j ∈ ω and let x be a j-coding node in B^{i}. By construction, there exist components L_{0}, …, L_{f(j)−1} of A^{i} such that, for each k < f(j), L_{k} contains a copy of [6⟨j, k⟩] whose coding location y_{k} is attached to x. Let c^{i}(x) be the least k < f(j) such that y_{k} ∉ U^{i}, if such a k exists, and let c^{i}(x) = f(j) otherwise. Now let V^{i} = {x ∈ K^{i} | c^{i}(x) is odd}. 3.5.2. Lemma. B^{0} ≅ B^{1} via an isomorphism that carries V^{0} to V^{1}.

Proof. By (3.2.1), A^{0} ≅ A^{1} via an isomorphism that carries U^{0} to U^{1}. It is straightforward to extend this isomorphism to an isomorphism h : B^{0} ≅ B^{1}. The fact that h(U^{0}) = (U^{1}) implies that if x ∈ K^{0} then c^{0}(x) = c^{1}(h(x)). Thus h(V^{0}) = V^{1}.

3.5.3. Lemma. V_{1} is computable and V_{0} ≡_{m} B.

Proof. Since U^{1} is computable, there is a computable procedure for determining c(x) given x ∈ K^{0}, and thus V_{1} is computable.

Let x ∈ K^{0}. By construction, there exist components L_{0}, …, L_{f(j)−1} of A^{0} such that, for each k < f(j), L_{k} contains a copy of [6⟨j, k⟩] whose coding location y_{k} is attached to x. Let d(x) be the least k such that, for all m ⩾ k, y_{m} is the coding location of the copy of [6⟨j, m⟩] in A_{0}^{0}, if such a k exists, and let d(x) = f(j) otherwise. Note that there is a computable procedure for determining d(x) given x ∈ K^{0}.

If d(x) > 0 then clearly ⟨j, d(x)−1⟩ ∈ A. But this means that, in fact, ⟨j, k⟩ ∈ A for all k < d(x). It follows that we can computably determine whether y_{k} ∈ U^{0} for k < d(x). So S = {x ∈ K^{0} | c(x) < d(x)}, T = K^{0} − S, and V^{0} ∩ S are computable.

Now let x ∈ T be a j-coding node and let y_{0}, …, y_{f(j)−1} be as above. By the definition of T, y_{0}, …, y_{d(x)−1} ∈ U^{0}, so ⟨j, k⟩ ∈ A for all k < d(x). But, by the definition of d(x), for each k ⩾ d(x), y_{k} ∈ U^{0} if and only if ⟨j, k⟩ ∈ A. So c(x) = |{k | ⟨j, k⟩ ∈ A}| = |{t | b_{t} = j}|. Thus x ∈ V^{0} if and only if j ∈ B, and hence V^{0} ∩ T ≡_{m} B. Since V^{0} = (V^{0} ∩ S) ∪ (V^{0} ∩ T), it follows that V^{0} ≡_{m} B.

3.5.4. Lemma. If G ≅ B^{0} is a computable structure then G is computably isomorphic to either B^{0} or B^{1}.

Proof. Let z be the image of the identifying node of B^{0} in G. Let G′ be the computable subgraph of G consisting of all elements y of G such that there is an edge from z to y. By the definition of B^{0}, G′ is isomorphic to A^{0}. Thus, by the results of Section 3.3, for some i = 0, 1 there exists a computable isomorphism h : A^{i} ≅ G′.

To extend this isomorphism to a computable isomorphism ĥ : B^{i} ≅ G, we first define ĥ ↾ A^{i} ≡ h. Now let x ∈ B^{i} − A^{i}. Then x is a j-coding node for some j ∈ ω, and we can computably determine the f(j) many coding locations y_{0}, …, y_{f(j)−1} attached to x. There is a unique w ∈ G − G′ attached to h(y_{0}), …, h(y_{f(j)−1}). Define ĥ(x) = w. It is now easy to check that ĥ is a computable isomorphism from B^{i} to G.

Theorem 3.1.7 follows from Lemmas 3.5.1, 3.5.2, 3.5.3, and 3.5.4. ■

Expansions of Computably

Categorical Structures

4.1 Introduction

In classical model theory, it follows from the Ryll-Nardzweski Theorem that a countably categorical structure remains countably categorical when expanded by finitely many constants. It is natural to ask whether the same is true in the analogous situation in computable model theory. That is, does every computably categorical structure remain computably categorical when expanded by finitely many constants?

Millar [30] showed that, with a relatively small additional amount of decidability, computable categoricity is preserved under expansion by finitely many constants.

4.1.1. Theorem (Millar). If A is computably categorical and 1-decidable then any expansion of A by finitely many constants remains computably categorical.

However, preservation of categoricity does not hold in general, as was shown by Cholak, Goncharov, Khoussainov, and Shore [4]. 4.1.2. Theorem (Cholak, Goncharov, Khoussainov, and Shore). If k > 0 then there exists a computably categorical structure A and an a ∈ |A| such that ⟨A, a⟩ has computable dimension k.

This raises the following question, left open in [4], as well as in [25], where an easier proof of Theorem 4.1.2 is given: Does there exist a computably categorical structure whose expansion by some set of finitely many constants has computable dimension ω? In this chapter, which reports on joint work with Bakhadyr Khoussainov and Richard Shore, we apply the methods of Chapter 3 to give the following positive answer to this question. 4.1.3. Theorem. There exists a computably categorical structure A and an a ∈ |A| such that ⟨A, a⟩ has computable dimension ω.

4.2 Proof of Theorem 4.1.3

We will build a computable structure A and a computable set {a_{i}}_{i∈ℤ} of elements of |A| so that the following properties hold.

(4.2.1) For every i ∈ ℤ, ⟨A, a_{i}⟩ ≅ ⟨A, a_{0}⟩.

(4.2.2) For every i ≠ j ∈ ℤ, ⟨A, a_{i}⟩ is not computably isomorphic to ⟨A, a_{j}⟩.

(4.2.3) If G is a computable structure, g ∈ |G|, and ⟨G, g⟩ ≅ ⟨A, a_{0}⟩, then ⟨G, g⟩ is computably isomorphic to ⟨A, a_{i}⟩ for some i ∈ ℤ.

The ideas used in this proof borrow heavily from those of Chapter 3, and we will assume familiarity with the methods and definitions in that chapter.

The structure A will be a leveled graph, in the sense of the following definition. 4.2.1. Definition. The backbone graph is the directed graph, shown in Figure 4.1, consisting of the following nodes and edges.

1. A root node x.

2. For each i ∈ ℤ, an i-master node x_{i}, with an edge from x to x_{i}.

3. For each i ∈ ℤ, an edge from x_{i} to x_{i+1}. We will say that a directed graph G is leveled if |G| can be split into two disjoint

sets H and I so that the following conditions are satisfied. Here a cycle is a copy of [k] for some k ∈ ω, where [k] is as in Definition 3.2.1.

1. G ↾ H is isomorphic to the backbone graph.

2. G ↾ I consists of cycles and edges between the tops of some of these cycles.

3. The only edges in G between elements of H and elements of I are edges from i-master nodes, i ∈ ℤ, to tops of cycles.

4. Let i ≠ j ∈ ℤ. If there is an edge from the i-master node of G ↾ H to an element y of I then there is no edge from the j-master node of G ↾ H to y.

We call the connected components of G ↾ I the components of G. Let C be a cycle in G ↾ I and let i ∈ ℤ. If there is a node from the i-master node to the top of C then we say that C has level i. Let K be a component of G, in the above sense. If all the cycles in K have the same level i then we say that K has level i, and define level(K) = i. If none of the cycles in K have levels then we say that K has no level. If there are two cycles in K with different levels then we say that K has multiple levels.

For i ∈ ℤ, G^{i} will denote the subgraph of G consisting of all level-i components of G. We denote by G^{∗} the subgraph of G consisting of those components of G that either have no level or have multiple levels.

Let n, r ∈ ω. Suppose that G is such that every component M of G^{∗} that has multiple levels consists of a cycle K with no level whose top is connected to the tops of infinitely many cycles L_{0}, L_{1}, … such that, for each i ∈ ω, L_{i} has a level g(i). For each component M of G^{∗} as above, let M̂ be the graph obtained by restricting the domain of M to the union of |K| and |L_{i}| for every i ∈ ω such that |g(i) − r| ⩽ n. We denote by (G^{∗})^{n,r} the union of all M̂ such that M is a component of G^{∗}. In case r = 0, we write simply (G^{∗})^{n}.

The components of A^{∗} that have multiple levels will be of the form given in the previous paragraph, so it will make sense to talk about (A^{∗})^{n,r} and (A^{∗})^{n}. The a_{i} mentioned in (4.2.1)–(4.2.3) will be the i-master nodes of A.

Before describing the construction of A, we note that we can restrict the class of graphs that must be considered in satisfying property (4.2.3). Fix a computable presentation B of the backbone graph with co-infinite domain. Every computable leveled graph is computably isomorphic to a computable graph containing B as a subgraph, so it is enough to consider such graphs. It will also be the case that every

\xymatrix{ & ⋮ \\  &  & • 2-master node \ar@{->>}[ul] \\  &  & • 1-master node \ar@{->>}[u] \\ root node • \ar@{->>}[uuur] \ar@{->>}[uurr] \ar@{->>}[urr] \ar@{->>}[rr] \ar@{->>}[drr] \ar@{->>}[ddrr] \ar@{->>}[dddr] &  & • 0-master node \ar@{->>}[u] \\  &  & • −1-master node \ar@{->>}[u] \\  &  & • −2-master node \ar@{->>}[u] \\  & ⋮ \ar@{->>}[ur]}

Figure 4.1: The backbone graph

cycle in A will have a level except for cycles of the form [10k], k ∈ ω, which will not have levels, so it is enough to consider graphs satisfying this property.

Thus, in this section, we will only consider partial computable graphs G satisfying the following conditions for each s ∈ ω.

1. G[s] ↾ (|G[s]| ∩ |B|) ≅ B ↾ (|G[s]| ∩ |B|).

2. If x ∈ |G[s]| then x is contained in a cycle in G[s].

3. Let K be a cycle not of the form [10k], k ∈ ω, in G[s]. There is a unique node x of B such that x ∈ |G[s]| and there is an edge in G[s] from x to the top of K, and x is an i-master node for some i ∈ ℤ.

4. Let K be a cycle of the form [10k], k ∈ ω, in G[s]. For every x ∈ |B|, there is no edge in G[s] from x to the top of K.

Clearly, there exists a computable list G_{0}, G_{1}, … of all partial computable graphs that satisfy the above conditions, and this list contains all the computable graphs that must be considered in satisfying property (4.2.3). As in Chapter 3, we will assume that, for each n, s ∈ ω, there is an embedding of G_{n}[s] into A_{s}.

The fact that G_{n} contains B means that it makes sense to speak of level i of G_{n}. It also makes sense to speak of level i of G_{n}[s], with the understanding that if the i-master node of B is not in |G_{n}[s]| then level i of G_{n}[s] is empty. The reason for conditions 3 and 4 above is that they ensure that the following is true. Let K be a cycle in G_{n}[s]. If K has level i in G_{n}[s] then it has level i in G_{n}, while if K has no level in G_{n}[s] then it has no level in G_{n}. While this fact will not be needed in our formal construction and verification, it is nevertheless useful in clarifying what we mean when we speak of the level of a component of G_{n} or G_{n}[s] in our informal discussion below.

In order to satisfy (4.2.2), we will satisfy the following requirement for each e ∈ ω and i ∈ ℤ, i ≠ 0:

R_{⟨e,i⟩} : Φ_{e} is not an isomorphism from ⟨A, a_{0}⟩ to ⟨A, a_{i}⟩.

Since, given j ≠ k ∈ ℤ, any automorphism of A taking a_{j} to a_{k} takes a_{0} to a_{i} for some i ≠ 0, this will be enough.

The basic idea for satisfying R_{⟨e,i⟩} is simple. We begin with a leveled graph A_{0} with following properties. All levels are isomorphic and consist of singleton components (in the sense of Definition 3.2.6), A_{0}^{∗} consists of singleton components that have no level, no two components of the same level are isomorphic, and no component that has a level is isomorphic to a component that has no level. We choose a singleton component E^{0} of A_{0}^{0}, let E^{i} be the component of A_{0}^{i} isomorphic to E^{0}, and let x and y be the coding locations of E^{0} and E^{i}, respectively. We then wait until Φ_{e}(x) converges. If this never happens then we win by default. If Φ_{e}(x)↓≠ y then we win by doing nothing, thus guaranteeing that any automorphism of A that takes a_{0} to a_{i} must take x to y, which implies that Φ_{e} cannot be such an automorphism.

If Φ_{e}(x) ↓= y then we act to ensure that no automorphism of A can take x to y. We do this by performing operations on E^{0} and E^{i} that guarantee that the components of A that extend each of these components are not isomorphic. Specifically, we first choose components D^{0}, F^{0}, D^{i}, and F^{i} such that D^{0} and F^{0} have level 0, D^{i} and F^{i} have level i, D^{0} ≅ D^{i}, and F^{0} ≅ F^{i}. Then we perform an operation that guarantees that E^{0} is extended by a copy of E^{0} · F^{0}, while E^{i} is extended by a copy of D^{i} · E^{i}.

Of course, in order to keep all the levels of A isomorphic, we also need to perform similar operations on the components of A_{0}^{j} isomorphic to D^{0}, E^{0}, and F^{0} for each j ∈ ℤ. Without any other features to the construction, we could do this simply by performing the sequence of operations L(D^{0}, E^{0}, F^{0}) and R(D^{j}, E^{j}, F^{j}), j ∈ ℤ, j ≠ 0, where these operations are as described in Definition 3.2.3.

However, as in Chapter 3, the satisfaction of (4.2.3) will require us to involve more components than just the D^{j}, E^{j}, and F^{j} in our operations; as in that chapter, whenever we perform an operation, we will have several rows of components involved in the operation. These rows will share a component, which is what will allow us to satisfy (4.2.3) in much the same way as we satisfied the corresponding property in Section 3.3.

In contrast to what we did before, a single operation on A will have certain rows of components going to the left and other rows going to the right, in the sense of Chapter 3. All of our operations will be periodic, in the sense that there is an n > 0 such that, if a row of level-i components participates in the operation by going to the left then so does the isomorphic row of level-(i+nj) components for each j ∈ ℤ, and similarly for rows that go to the right.

As an illustration, Figure 4.2, which will be explained below, shows the basic diagonalization strategy in the case in which we are satisfying R_{⟨e,i⟩} for some e ∈ ω and i = 3. As in the figures in Chapter 3, an arrow from, say, K to L means that the component K is involved in the operation and becomes a copy of L. Since we want the level-0 and level-3 components involved in the operation to go in opposite directions, the period of this operation is 4. As above, we have components D^{0} and E^{0}, but we now need multiple components F_{0}^{0}, F_{1}^{0}, and F_{2}^{0} in place of F^{0}, for reasons that should become clear after examining the figure. For each i ∈ ℤ, D^{i}, E^{i}, F_{0}^{i}, F_{1}^{i}, and F_{2}^{i} are the level-i components isomorphic to D^{0}, E^{0}, F_{0}^{0}, F_{1}^{0}, and F_{2}^{0}, respectively. There is also a component X that acts as the link between different rows of components participating in the operation.

In order to understand Figure 4.2, we need to define two new kinds of basic operations.

4.2.2. Definition. Let G be a computable leveled graph whose domain is coinfinite. Let L, K_{0}, K_{1}, … be components of G isomorphic to [x], [y_{0}], [y_{1}], …, respectively, where x, y_{0}, y_{1}, … ∈ ω, such that K_{0}, K_{1}, … have levels and L has no

\xymatrix{D^{0} \ar[d] & E^{0} \ar[d] \\ D^{0} · E^{0} & E^{0} ⊙ (F_{0}^{0}, F_{1}^{0}, F_{2}^{1})}

similarly for all levels ≡ 0 mod 4

\xymatrix{E^{1} \ar[d] & F_{0}^{1} \ar[d] \\ E^{1} · D^{1} & F_{0}^{1} ⊙ (E^{1}, F_{1}^{1}, F_{2}^{1})}

similarly for all levels ≡ 1 mod 4

\xymatrix{E^{2} \ar[d] & F_{1}^{2} \ar[d] \\ E^{2} · D^{2} & F_{1}^{2} ⊙ (E^{2}, F_{0}^{2}, F_{2}^{2})}

similarly for all levels ≡ 2 mod 4

\xymatrix{E^{3} \ar[d] & F_{2}^{3} \ar[d] \\ E^{3} · D^{3} & F_{2}^{3} ⊙ (E^{3}, F_{0}^{3}, F_{1}^{3})}

similarly for all levels ≡ 3 mod 4

[figure: X; ⋮; F_{2}^{7}; F_{1}^{6}; F_{0}^{5}; D^{4}; X; F_{2}^{3}; F_{1}^{2}; F_{0}^{1}; D^{0}; ⋮; \underbrace{…, F_{2}^{0}, D^{1}, F_{0}^{2}, F_{1}^{3}, F_{2}^{4}, D^{5}, F_{0}^{6}, F_{1}^{7}, …}; ⋮; F_{1}^{7}; F_{0}^{6}; D^{5}; F_{2}^{4}; X; F_{1}^{3}; F_{0}^{2}; D^{1}; F_{2}^{0}; ⋮]

Figure 4.2: The basic diagonalization strategy

Figure 4.2 (Continued)

[figure: \underbrace{…, F_{1}^{0}, F_{2}^{1}, D^{2}, F_{0}^{3}, F_{1}^{4}, F_{2}^{5}, D^{6}, F_{0}^{7}, …}; ⋮; F_{0}^{7}; D^{6}; F_{2}^{5}; F_{1}^{4}; X; F_{0}^{3}; D^{2}; F_{2}^{1}; F_{1}^{0}; ⋮]

[figure: \underbrace{…, F_{0}^{0}, F_{1}^{1}, F_{2}^{2}, D^{3}, F_{0}^{4}, F_{1}^{5}, F_{2}^{6}, D^{7}, …}; ⋮; D^{7}; F_{2}^{6}; F_{1}^{5}; F_{0}^{4}; X; D^{3}; F_{2}^{2}; F_{1}^{1}; F_{0}^{0}; ⋮]

level. Let S = {K_{i} | i ∈ ω}. We define two operations, each of which takes G to a new co-infinite computable structure extending G.

• The operation S · L consists of performing the following steps, and otherwise leaving G unchanged. Create a new copy of [x] using numbers not in the domain of G. For each i ∈ ω, add an edge from the top of this new copy of [x] to the top of K_{i}.

• The operation L · S consists of performing the following steps, and otherwise leaving G unchanged. For each i ∈ ω, create a new copy of [y_{i}] using numbers not in the domain of G. For each i ∈ ω, add an edge from the top of L to the top of the new copy of [y_{i}] and add an edge from the level(K_{i})-master node to the top of the new copy of [y_{i}].

4.2.3. Definition. Let G be a computable leveled graph whose domain is coinfinite. Let L and K_{0}, K_{1}, …, K_{n} be components of G isomorphic to [x] and [y_{0}], [y_{1}], …, [y_{n}], respectively, where x, y_{0}, y_{1}, …, y_{n} ∈ ω, such that K_{0}, K_{1}, …, K_{n} have levels.

The operation L ⊙ (K_{0}, K_{1}, …, K_{n}), taking G to a new computable structure extending G, consists of performing the following steps, and otherwise leaving G unchanged. For each i ⩽ n, create a new copy of [y_{i}] using numbers not in the domain of G. For each i ⩽ n, add an edge from the top of L to the top of the new copy of [y_{i}], an edge from the top of the new copy of [y_{i}] to the top of L, and an edge from the level(K_{i})-master node to the top of the new copy of [y_{i}]. For each i, j ⩽ n, i ≠ j, add an edge from the top of the new copy of [y_{i}] to the top of the new copy of [y_{j}].

The operations in Definition 4.2.2 are infinite versions of those in Definition 3.2.5. As an example of the operation in Definition 4.2.3, suppose that K_{0}, K_{1}, and K_{2} are copies of [2], [3], and [4], respectively. Let i, j, k be such that {i, j, k} = {0, 1, 2}. The operation K_{i} ⊙ (K_{j}, K_{k}) consists of extending K_{i} to a copy of the graph shown in Figure 4.3, adding an edge from the level(K_{j})-master node to the new copy of K_{j}, and adding an edge from the level(K_{k})-master node to the new copy of K_{k}.

[figure: •; top; •; •; •; coding location; •; •; top; •; •; •; •; coding location; •; •; top; •; •; •; •; •; coding location; •]

Figure 4.3: The result of any of [2] ⊙ ([3], [4]), [3] ⊙ ([2], [4]), or [4] ⊙ ([2], [3])

In Figure 4.2, the result of either of the operations L · S or S · L is represented by L with a line to each element of S, while the result of the operation L ⊙ (K_{0}, K_{1}, …, K_{n}) is represented simply by L ⊙ (K_{0}, K_{1}, …, K_{n}). (The important difference between L · (K_{0}, K_{1}, …, K_{n}) and L ⊙ (K_{0}, K_{1}, …, K_{n}) is that, for any partial computable graph G and s < t ∈ ω, if K_{i} and K_{j}, i, j ⩽ n, are different components of G[s] then they can be extended by the same component of G[t] if this component results from an operation of the form L · (K_{0}, K_{1}, …, K_{n}), but not if it results from an operation of the form L ⊙ (K_{0}, K_{1}, …, K_{n}).)

As we have seen, we will be performing infinite operations in our construction.

Thus, at a stage s + 1, we might add infinitely many new nodes and edges to A_{s} to obtain A_{s+1}. We will do this in such a way that the only edges in A = ⋃_{t∈ω} A_{t} between nodes of A_{s+1} are those already present in A_{s+1}.

As in Chapter 3, we will use special components to satisfy (4.2.3). The idea is similar to what we did in Section 3.3. For each finite binary string σ, there will be a strategy for satisfying (4.2.3) for G_{|σ|}. As before, the string σ will represent a guess as to which G_{m}, m < |σ|, recover infinitely often, with σ(m) = 0 representing a guess that G_{m} recovers infinitely often and σ(m) = 1 representing a guess that it does not. We will not allow σ-recovery unless there is τ-recovery for all τ such that τ^{⌢}0 ⊆ σ, where σ-recovery will be defined much as before, with a few differences which will be discussed below.

For each σ ∈ 2^{<ω}, G_{|σ|} will have a σ-special component, which will change each time σ is initialized. At each stage s in the construction, we will have a guess r_{σ,s} as to which level of A behaves like level 0 of G_{|σ|}, in the same sense that, in Section 3.3, r_{σ,s} was a guess as to which copy of the structure constructed in that section behaved like G_{|σ|}.

Suppose that copies of the σ-special component of G_{|σ|} participate in an operation at a stage s+1 (we say that σ is active at stage s+1) and t+1 is the next σ-recovery stage after stage s + 1. If the component of A_{t} that is isomorphic to the special component of G_{|σ|}[t] extends the component of A_{s} that is isomorphic to the special component of G_{|σ|}[s] then r_{σ,t+1} = r_{σ,s+1}; otherwise, r_{σ,t+1} ≠ r_{σ,s+1}.

Because we are diagonalizing against certain potential automorphisms of A rather than, as in Chapter 3, coding a given set into a relation, we will be able to arrange the construction so that σ is not active more than once between σrecovery stages. In fact, σ will not be active except at σ-recovery stages. This will simplify the analysis of what happens when σ recovers. We will comment further on this below.

By performing operations involving the images in A of the σ-special component of G_{|σ|} (one image for each level of A), we will ensure that, for σ on the true path of the construction, if G_{|σ|} ≅ A then the σ-special component of G_{|σ|} is infinite. We will also ensure that either for some i ∈ ℤ there is a level-i component that, from some point in the construction on, always goes in the same direction as the special component of G_{|σ|}, or there is no component in A isomorphic to the special component of G_{|σ|}. As we will see, this will mean that if G_{|σ|} ≅ A then, for each j ∈ ℤ, it will be the case that from some stage s_{j} in the construction on, the j^{th} level of G_{|σ|} will go in the same direction as (j + i)^{th} level of A at all stages at which σ is active.

The reason that s_{j} will depend on j is that the operations in this construction will involve infinitely many components at a time. Thus, we cannot make it a requirement for σ-recovery that G_{|σ|} provide all components that will be used in the next operation to be performed at a stage at which σ is active, as we did in Chapter 3. Instead, we will only require that G_{|σ|} provide the necessary components for a finite number of levels; each time σ recovers, the number of levels that must be provided for the next recovery will increase.

In order to illustrate the recovery process, consider Figure 4.4, which illustrates an operation that might be performed at some stage s + 1 of our construction, ignoring for now all components indexed by τ.

Our construction will be such that A_{s} will have the following properties. For each i, j ∈ ℤ, A_{s}^{i} ≅ A_{s}^{j}. For each i ∈ ℤ, no component K of A_{s}^{i} is embeddable in another component L of A_{s} unless, for some j ∈ ℤ, L is the (unique) component of A_{s}^{j} isomorphic to K. No singleton component of A_{s}^{∗} is embeddable in another component of A_{s}.

In Figure 4.4, we are assuming that each of Z_{σ}^{0}, B_{σ}^{0}, C_{σ}^{0}, Y_{σ,0}^{0}, Y_{σ,1}^{0}, Y_{σ,2}^{0}, D^{0}, E^{0}, F_{0}^{0}, F_{1}^{0}, and F_{2}^{0} are singleton components of A_{s}^{0}, X is a singleton component of A_{s} that has no level, and S_{σ}^{0} is the copy of the σ-special component of G_{|σ|}[s] in A_{s}^{0}. For each i ∈ ℤ, Z_{σ}^{i}, B_{σ}^{i}, S_{σ}^{i}, C_{σ}^{i}, Y_{σ,0}^{i}, Y_{σ,1}^{i}, Y_{σ,2}^{i}, D^{i}, E^{i}, F_{0}^{i}, F_{1}^{i}, and F_{2}^{i} are the components of A_{s}^{i} isomorphic to Z_{σ}^{0}, B_{σ}^{0}, S_{σ}^{0}, C_{σ}^{0}, Y_{σ,0}^{0}, Y_{σ,1}^{0}, Y_{σ,2}^{0}, D^{0}, E^{0}, F_{0}^{0}, F_{1}^{0}, and F_{2}^{0}, respectively.

Suppose that r_{σ,s+1} = 0 and we perform the operation pictured in Figure 4.4 on A_{s} to obtain A_{s+1} and wait for G_{|σ|} to σ-recover at some stage t + 1 > s + 1. Notice that this operation preserves the relevant automorphisms of A. That is, if ⟨A_{s}, a_{0}⟩ ≅ ⟨A_{s}, a_{i}⟩ then ⟨A_{s+1}, a_{0}⟩ ≅ ⟨A_{s+1}, a_{i}⟩.

The definition of σ-recovery will be such that G_{|σ|}[s] contains a component X̂ isomorphic to X and, for some k ∈ ω and all i ∈ ℤ, |i| ⩽ k, G_{|σ|}[s] contains level-i components Ẑ^{i}, B̂^{i}, Ŝ^{i}, Ĉ^{i}, Ŷ_{0}^{i}, Ŷ_{1}^{i}, Ŷ_{2}^{i}, D̂^{i}, Ê^{i}, F̂_{0}^{i}, F̂_{1}^{i}, and F̂_{2}^{i} isomorphic to Z_{σ}^{i}, B_{σ}^{i}, S_{σ}^{i}, C_{σ}^{i}, Y_{σ,0}^{i}, Y_{σ,1}^{i}, Y_{σ,2}^{i}, D^{i}, E^{i}, F_{0}^{i}, F_{1}^{i}, and F_{2}^{i}, respectively.

Let \overline{A}_{t} be the union of (A_{t}^{∗})^{k} and A_{t}^{i} for each i ∈ ℤ such that |i| ⩽ k. Let \overline{G}_{n}[t] be the union of (G_{n}^{∗}[t])^{k} and G_{n}^{i}[t] for each i ∈ ℤ such that |i| ⩽ k.

For i ∈ ℤ, |i| ⩽ k, let X̃, Z̃^{i}, B̃^{i}, S̃^{i}, C̃^{i}, Ỹ_{0}^{i}, Ỹ_{1}^{i}, Ỹ_{2}^{i}, D̃^{i}, Ẽ^{i}, F̃_{0}^{i}, F̃_{1}^{i}, and F̃_{2}^{i} be

\xymatrix{D^{0} \ar[d] & E^{0} \ar[d] \\ D^{0} · E^{0} & E^{0} ⊙ (F_{0}^{0}, F_{1}^{0}, F_{2}^{1})}

similarly for all levels ≡ 0 mod 4

\xymatrix{E^{1} \ar[d] & F_{0}^{1} \ar[d] \\ E^{1} · D^{1} & F_{0}^{1} ⊙ (E^{1}, F_{1}^{1}, F_{2}^{1})}

similarly for all levels ≡ 1 mod 4

\xymatrix{E^{2} \ar[d] & F_{1}^{2} \ar[d] \\ E^{2} · D^{2} & F_{1}^{2} ⊙ (E^{2}, F_{0}^{2}, F_{2}^{2})}

similarly for all levels ≡ 2 mod 4

\xymatrix{E^{3} \ar[d] & F_{2}^{3} \ar[d] \\ E^{3} · D^{3} & F_{2}^{3} ⊙ (E^{3}, F_{0}^{3}, F_{1}^{3})}

similarly for all levels ≡ 3 mod 4 Figure 4.4: A 3, (0, 1)-operation

Figure 4.4 (Continued)

\xymatrix{Z_{σ}^{0} \ar[d] & B_{σ}^{0} \ar[d] & S_{σ}^{0} \ar[d] & C_{σ}^{0} \ar[d] \\ Z_{σ}^{0} · B_{σ}^{0} & B_{σ}^{0} · S_{σ}^{0} & S_{σ}^{0} · C_{σ}^{0} & C_{σ}^{0} ⊙ (Y_{σ,0}^{0}, Y_{σ,1}^{0}, Y_{σ,2}^{0})}

similarly for all levels ≡ 0 mod 4

\xymatrix{B_{σ}^{1} \ar[d] & S_{σ}^{1} \ar[d] & C_{σ}^{1} \ar[d] & Y_{σ,0}^{1} \ar[d] \\ B_{σ}^{1} · Z_{σ}^{1} & S_{σ}^{1} · B_{σ}^{1} & C_{σ}^{1} · S_{σ}^{1} & Y_{σ,0}^{1} ⊙ (C_{σ}^{1}, Y_{σ,1}^{1}, Y_{σ,2}^{1})}

similarly for all levels ≡ 1 mod 4

\xymatrix{B_{σ}^{2} \ar[d] & S_{σ}^{2} \ar[d] & C_{σ}^{2} \ar[d] & Y_{σ,1}^{2} \ar[d] \\ B_{σ}^{2} · Z_{σ}^{2} & S_{σ}^{2} · B_{σ}^{2} & C_{σ}^{2} · S_{σ}^{2} & Y_{σ,1}^{2} ⊙ (C_{σ}^{2}, Y_{σ,0}^{2}, Y_{σ,2}^{2})}

similarly for all levels ≡ 2 mod 4

\xymatrix{B_{σ}^{3} \ar[d] & S_{σ}^{3} \ar[d] & C_{σ}^{3} \ar[d] & Y_{σ,2}^{3} \ar[d] \\ B_{σ}^{3} · Z_{σ}^{3} & S_{σ}^{3} · B_{σ}^{3} & C_{σ}^{3} · S_{σ}^{3} & Y_{σ,2}^{3} ⊙ (C_{σ}^{3}, Y_{σ,0}^{3}, Y_{σ,1}^{3})}

similarly for all levels ≡ 3 mod 4

Figure 4.4 (Continued)

\xymatrix{B_{τ}^{0} \ar[d] & S_{τ}^{0} \ar[d] & C_{τ}^{0} \ar[d] & Y_{τ,2}^{0} \ar[d] \\ B_{τ}^{0} · Z_{τ}^{0} & S_{τ}^{0} · B_{τ}^{0} & C_{τ}^{0} · S_{τ}^{0} & Y_{τ,2}^{0} ⊙ (C_{τ}^{0}, Y_{τ,0}^{0}, Y_{τ,1}^{0})}

similarly for all levels ≡ 0 mod 4

\xymatrix{Z_{τ}^{1} \ar[d] & B_{τ}^{1} \ar[d] & S_{τ}^{1} \ar[d] & C_{τ}^{1} \ar[d] \\ Z_{τ}^{1} · B_{τ}^{1} & B_{τ}^{1} · S_{τ}^{1} & S_{τ}^{1} · C_{τ}^{1} & C_{τ}^{1} ⊙ (Y_{τ,0}^{1}, Y_{τ,1}^{1}, Y_{τ,2}^{1})}

similarly for all levels ≡ 1 mod 4

\xymatrix{B_{τ}^{2} \ar[d] & S_{τ}^{2} \ar[d] & C_{τ}^{2} \ar[d] & Y_{τ,1}^{2} \ar[d] \\ B_{τ}^{2} · Z_{τ}^{2} & S_{τ}^{2} · B_{τ}^{2} & C_{τ}^{2} · S_{τ}^{2} & Y_{τ,0}^{2} ⊙ (C_{τ}^{2}, Y_{τ,1}^{2}, Y_{τ,2}^{2})}

similarly for all levels ≡ 2 mod 4

\xymatrix{B_{τ}^{3} \ar[d] & S_{τ}^{3} \ar[d] & C_{τ}^{3} \ar[d] & Y_{τ,1}^{3} \ar[d] \\ B_{τ}^{3} · Z_{τ}^{3} & S_{τ}^{3} · B_{τ}^{3} & C_{τ}^{3} · S_{τ}^{3} & Y_{τ,1}^{3} ⊙ (C_{τ}^{3}, Y_{τ,0}^{3}, Y_{τ,2}^{3})}

similarly for all levels ≡ 3 mod 4

Figure 4.4 (Continued)

[figure: X; ⋮; ⋮; F_{2}^{7}; Y_{τ,1}^{7}; Y_{σ,2}^{7}; F_{1}^{6}; Y_{τ,0}^{6}; Y_{σ,1}^{6}; F_{0}^{5}; Z_{τ}^{5}; Y_{σ,0}^{5}; D^{4}; Y_{τ,2}^{4}; Z_{σ}^{4}; X; F_{2}^{3}; Y_{τ,1}^{3}; Y_{σ,2}^{3}; F_{1}^{2}; Y_{τ,0}^{2}; Y_{σ,1}^{2}; F_{0}^{1}; Z_{τ}^{1}; Y_{σ,0}^{1}; D^{0}; Y_{τ,2}^{0}; Z_{σ}^{0}; ⋮; ⋮]

Figure 4.4 (Continued)

[figure: \underbrace{{…, F_{2}^{0}, D^{1}, F_{0}^{2}, F_{1}^{3}, F_{2}^{4}, D^{5}, F_{0}^{6}, F_{1}^{7}, … \atop …, Y_{σ,2}^{0}, Z_{σ}^{1}, Y_{σ,0}^{2}, Y_{σ,1}^{3}, Y_{σ,2}^{4}, Z_{σ}^{5}, Y_{σ,0}^{6}, Y_{σ,1}^{7}, …} ; …, Y_{τ,1}^{0}, Y_{τ,2}^{1}, Z_{τ}^{2}, Y_{τ,0}^{3}, Y_{τ,1}^{4}, Y_{τ,2}^{5}, Z_{τ}^{6}, Y_{τ,0}^{7}, …}]

[figure: ⋮; ⋮; F_{1}^{7}; Y_{τ,0}^{7}; Y_{σ,1}^{7}; F_{0}^{6}; Z_{τ}^{6}; Y_{σ,0}^{6}; D^{5}; Y_{τ,2}^{5}; Z_{σ}^{5}; F_{2}^{4}; Y_{τ,1}^{4}; Y_{σ,2}^{4}; X; F_{1}^{3}; Y_{τ,0}^{3}; Y_{σ,1}^{3}; F_{0}^{2}; Z_{τ}^{2}; Y_{σ,0}^{2}; D^{1}; Y_{τ,2}^{1}; Z_{σ}^{1}; F_{2}^{0}; Y_{τ,1}^{0}; Y_{σ,2}^{0}; ⋮; ⋮]

Figure 4.4 (Continued)

[figure: \underbrace{{…, F_{1}^{0}, F_{2}^{1}, D^{2}, F_{0}^{3}, F_{1}^{4}, F_{2}^{5}, D^{6}, F_{0}^{7}, … \atop …, Y_{σ,1}^{0}, Y_{σ,2}^{1}, Z_{σ}^{2}, Y_{σ,0}^{3}, Y_{σ,1}^{4}, Y_{σ,2}^{5}, Z_{σ}^{6}, Y_{σ,0}^{7}, …} ; …, Y_{τ,0}^{0}, Y_{τ,1}^{1}, Y_{τ,2}^{2}, Z_{τ}^{3}, Y_{τ,0}^{4}, Y_{τ,1}^{5}, Y_{τ,2}^{6}, Z_{τ}^{7}, …}]

[figure: ⋮; ⋮; F_{0}^{7}; Z_{τ}^{7}; Y_{σ,0}^{7}; D^{6}; Y_{τ,2}^{6}; Z_{σ}^{6}; F_{2}^{5}; Y_{τ,1}^{5}; Y_{σ,2}^{5}; F_{1}^{4}; Y_{τ,0}^{4}; Y_{σ,1}^{4}; X; F_{0}^{3}; Z_{τ}^{3}; Y_{σ,0}^{3}; D^{2}; Y_{τ,2}^{2}; Z_{σ}^{2}; F_{2}^{1}; Y_{τ,1}^{1}; Y_{σ,2}^{1}; F_{1}^{0}; Y_{τ,0}^{0}; Y_{σ,1}^{0}; ⋮; ⋮]

Figure 4.4 (Continued)

[figure: \underbrace{{…, F_{0}^{0}, F_{1}^{1}, F_{2}^{2}, D^{3}, F_{0}^{4}, F_{1}^{5}, F_{2}^{6}, D^{7}, … \atop …, Y_{σ,0}^{0}, Y_{σ,1}^{1}, Y_{σ,2}^{2}, Z_{σ}^{3}, Y_{σ,0}^{4}, Y_{σ,1}^{5}, Y_{σ,2}^{6}, Z_{σ}^{7}, …} ; …, Z_{τ}^{0}, Y_{τ,0}^{1}, Y_{τ,1}^{2}, Y_{τ,2}^{3}, Z_{τ}^{4}, Y_{τ,0}^{5}, Y_{τ,1}^{6}, Y_{τ,2}^{7}, …}]

[figure: ⋮; ⋮; D^{7}; Y_{τ,2}^{7}; Z_{σ}^{7}; F_{2}^{6}; Y_{τ,1}^{6}; Y_{σ,2}^{6}; F_{1}^{5}; Y_{τ,0}^{5}; Y_{σ,1}^{5}; F_{0}^{4}; Z_{τ}^{4}; Y_{σ,0}^{4}; X; D^{3}; Y_{τ,2}^{3}; Z_{σ}^{3}; F_{2}^{2}; Y_{τ,1}^{2}; Y_{σ,2}^{2}; F_{1}^{1}; Y_{τ,0}^{1}; Y_{σ,1}^{1}; F_{0}^{0}; Z_{τ}^{0}; Y_{σ,0}^{0}; ⋮; ⋮]

the intersection of the components of G_{|σ|}[t] that extend X̂, Ẑ^{i}, B̂^{i}, Ŝ^{i}, Ĉ^{i}, Ŷ_{0}^{i}, Ŷ_{1}^{i}, Ŷ_{2}^{i}, D̂^{i}, Ê^{i}, F̂_{0}^{i}, F̂_{1}^{i}, and F̂_{2}^{i}, respectively, with \overline{G}_{n}[t].

The fact that G_{|σ|} σ-recovers at stage t + 1 will mean that X̃, Z̃^{i}, B̃^{i}, S̃^{i}, C̃^{i}, Ỹ_{0}^{i}, Ỹ_{1}^{i}, Ỹ_{2}^{i}, D̃^{i}, Ẽ^{i}, F̃_{0}^{i}, F̃_{1}^{i}, and F̃_{2}^{i}, |i| ⩽ k, of G_{|σ|}[t] must all be isomorphic to components of \overline{A}_{t}.

Thus, since σ is not active in the interval (s+1, t+1), there are two possibilities. Either the σ-special component S̃^{0} of G_{|σ|}[t] is isomorphic to S_{σ}^{0}·B_{σ}^{0} or it is isomorphic to S_{σ}^{0} · C_{σ}^{0}.

In the first case, r_{σ,t+1} ≠ 0, and the copy of the σ-special component of G_{|σ|}[t] in A_{t} extends a singleton component of A_{s}. In fact, every time we have an action at stage u + 1 involving copies of the σ-special component of G_{|σ|}[u] and, for the next σ-recovery stage v +1, r_{σ,v+1} ≠ r_{σ,u+1}, the copy of the σ-special component of G_{|σ|}[v] in A_{v} will extend a singleton component of A_{u}. As in Section 3.4, we will make sure that if r_{σ,u} has no limit then, for each i ∈ ℤ, there are infinitely many stages u such that r_{σ,u} = i. This will guarantee that if σ is on the true path of the construction, G_{|σ|} ≅ A, and r_{σ,u} has no limit then there is no component of A isomorphic to the σ-special component of G_{|σ|}[t].

In the second case, we can check that, for each i ∈ ℤ such that |i| ⩽ k, level i of G_{|σ|} must have gone in the same direction as level i of A with respect to those components involved in the operation under consideration.

That is, let X̌, Ž^{i}, B̌^{i}, Š^{i}, Č^{i}, Y̌_{0}^{i}, Y̌_{1}^{i}, Y̌_{2}^{i}, Ď^{i}, Ě^{i}, F̌_{0}^{i}, F̌_{1}^{i}, and F̌_{2}^{i} be the intersection of the components of A_{t} that extend X, Z_{σ}^{i}, B_{σ}^{i}, S_{σ}^{i}, C_{σ}^{i}, Y_{σ,0}^{i}, Y_{σ,1}^{i}, Y_{σ,2}^{i}, D^{i}, E^{i}, F_{0}^{i}, F_{1}^{i}, and F_{2}^{i}, respectively, with \overline{A}_{t}. We are assuming that S̃^{0} ≅ Š^{0}, from which it follows that C̃^{0} ≅ Č^{0}, since all the components of A_{t} that contain copies of C_{σ}^{0} are isomorphic to either Š^{0} or Č^{0} and, since S̃^{0} and C̃^{0} have the same level, it cannot be the case that S̃^{0} ≅ C̃^{0}.

Continuing to argue in this way, we see that Ỹ_{l}^{0} ≅ Y̌_{l}^{0} for each l < 3, which implies that X̃ ≅ X̌, which implies that Z̃^{0} ≅ Ž^{0}, which implies that B̃^{0} ≅ B̌^{0}.

Now, using the fact that X̃ ≅ X̌, we can check that, for i ≡ 0 mod 4, |i| ⩽ k, Z̃^{i} ≅ Ž^{i}, which implies that B̃^{i} ≅ B̌^{i}, which implies that S̃^{i} ≅ Š^{i}, which implies that C̃^{i} ≅ Č^{i}, which implies that Ỹ_{l}^{i} ≅ Y̌_{l}^{i} for each l < 3.

For i ≡ l + 1 mod 4, l < 3, |i| ⩽ k, again using the fact that X̃ ≅ X̌, we can check that Ỹ_{l}^{i} ≅ Y̌_{l}^{i}, which implies that Ỹ_{m}^{i} ≅ Y̌_{m}^{i} for each m < 3, and also that C̃^{i} ≅ Č^{i}. This in turn implies that S̃^{i} ≅ Š^{i}, which implies that B̃^{i} ≅ B̌^{i}, which implies that Z̃^{i} ≅ Ž^{i}.

Similar arguments show that, for all i ∈ ℤ, |i| ⩽ k, D̃^{i} ≅ Ď^{i}, Ẽ^{i} ≅ Ě^{i}, and F̃_{l}^{i} ≅ F̌_{l}^{i} for each l < 3.

Thus we see that, for each i ∈ ℤ such that |i| ⩽ k, level i of G_{|σ|} goes in the same direction as level i of A with respect to those components involved in the operation under consideration. (Since k increases with each σ-recovery, the fact that the above argument only works for the level-i components, |i| ⩽ k, will not be a problem.)

In the previous argument, the fact that r_{σ,s+1} = 0 was crucial. Indeed, suppose that r_{σ,s+1} = 1, we perform the operation described above at stage s + 1, σ then recovers at stage t + 1, and r_{σ,t+1} = 1. We could not then argue as above, because from the fact that S̃^{1} ≅ Š^{1} it does not follow that X̃ ≅ X̌. Thus, in order to argue that, for each i ∈ ℤ, there is a stage after which level i of G_{|σ|} always goes in the same direction as level i + lim_{s} r_{σ,s} of A at stages at which σ is active, we need to make sure that, whenever we involve copies of the σ-special component of G_{|σ|} in an operation at stage s + 1, the row of level-(r_{σ,s+1}) components of A that contains a copy of the σ-special component of G_{|σ|} goes to the left.

This is illustrated in Figure 4.4. Here we are assuming that the operation pictured is happening at a stage s + 1 such that r_{σ,s+1} = 0 and r_{τ,s+1} = 1 (that is why we call this a 3, (0, 1)-operation). Now if σ recovers at a stage t + 1 > s + 1 and r_{σ,t+1} = 0 then we can argue as above that if |i| is sufficiently small then level i of G_{|σ|} goes in the same direction as level i of A as far as the components involved in this operation are concerned. But also, if τ recovers at a stage t + 1 > s + 1 and r_{τ,t+1} = 1 then we can argue in much the same way that if |i| is sufficiently small then level i of G_{|τ|} goes in the same direction as level i + 1 of A as far as the components involved in this operation are concerned.

In general, whenever we perform an operation at a stage s+1 at which the strings σ_{0}, …, σ_{k−1} are active, that operation will be an n, (r_{σ_{0},s+1}, …, r_{σ_{k−1},s+1})-operation for some n > 0, as defined below.

4.2.4. Definition. Let G be a computable leveled graph whose domain is coinfinite.

Let n > 0, k ⩾ 0, and d_{0}, …, d_{k−1} ∈ ℤ. Suppose that, for each i ∈ ℤ, j < k, and m < n, we have defined components Y_{j,m}^{i}, X, Z_{j}^{i}, B_{j}^{i}, S_{j}^{i}, C_{j}^{i}, D^{i}, E^{i}, and F_{m}^{i}, of which all but S_{j}^{i} are singleton components, all but X have levels, and X has no level.

The n, (d_{0}, …, d_{k−1})-operation

O_{n,(d_{0},...,d_{k−1})} ({Y_{j,m}^{i}} , X, {Z_{j}^{i}} , {B_{j}^{i}} , {S_{j}^{i}} , {C_{j}^{i}} , {D^{i}} , {E^{i}} , {F_{m}^{i}}) consists of applying the following sequences of operations to G.

• X · S_{0}, S_{1} · X, S_{2} · X, …, S_{n} · X, where

S_{m} = {Z_{j}^{d_{j}+m+p(n+1)} | j < k, p ∈ ℤ} ∪ {D^{m+p(n+1)} | p ∈ ℤ} ∪

{Y_{j,q}^{d_{j}+m+q+1+p(n+1)} | j < k, p ∈ ℤ, q < n} ∪
{F_{q}^{m+q+1+p(n+1)} | p ∈ ℤ, q < n} .

• For each i ≡ 0 mod n + 1 in ℤ:

D^{i} · E^{i}, E^{i} ⊙ (F_{0}^{i}, …, F_{n−1}^{i})

• For each j < k and i ≡ d_{j} mod n + 1 in ℤ:

Z_{j}^{i} · B_{j}^{i}, B_{j}^{i} · S_{j}^{i}, S_{j}^{i} · C_{j}^{i}, C_{j}^{i} ⊙ (Y_{j,0}^{i}, …, Y_{j,n−1}^{i})

• For each i ≡ l + 1 mod n + 1, l < n, in ℤ:

E^{i} · D^{i}, F_{l}^{i} ⊙ (E^{i}, F_{0}^{i}, …, F_{l−1}^{i}, F_{l+1}^{i}, …, F_{n−1}^{i})

• For each j < k and i ≡ l + d_{j} + 1 mod n + 1, l < n, in ℤ: B_{j}^{i} · Z_{j}^{i}, S_{j}^{i} · B_{j}^{i}, C_{j}^{i} · S_{j}^{i}, Y_{j,l}^{i} ⊙ (C_{j}^{i}, Y_{j,0}^{i}, …, Y_{j,l−1}^{i}, Y_{j,l+1}^{i}, …, Y_{j,n−1}^{i})

Note that this definition allows for the case k = 0, in which the only components involved in the operation are X and the D^{i}, E^{i}, and F_{m}^{i}.

Before proceeding with the full construction, there are two more differences between this construction and the ones in Chapter 3 that should be mentioned.

The first one is that we will not be able to use the isomorphism recovery mechanism described in that chapter. Recall that, in Section 3.3, in order to compute the isomorphism from A^{0} to some G_{n} ≅ A^{0}, we had to guess at the images of finitely many infinite special components. In the construction in this section, however, each special component will have infinitely many images, one for each level of A. This creates a problem, which we solve as follows.

For each stage s, we define a subgraph T_{σ,s} of the σ-special component of G_{|σ|}. Whenever r_{σ,s+1} ≠ r_{σ,s}, we define T_{σ,s+1} to be the entire σ-special component of G_{|σ|}[s]. Otherwise, we define T_{σ,s+1} = T_{σ,s}. Whenever copies of the σ-special component of G_{|σ|} are involved in an operation and σ later recovers at a stage t + 1, we perform a T_{σ,t+1}-catch-up operation on A_{s}, as defined below. (Copies of [10m + 9] will not be used for any other purpose in the construction.)

4.2.5. Definition. Let G be a computable leveled graph whose domain is coinfinite and that contains copies of [10m + 9] for only finitely many m ∈ ω.

Let T be a subgraph of G. Suppose that there are finitely many level-0 components L_{0,0}, …, L_{0,n} of G that contain a copy of T and that each L_{0,m}, m ⩽ n, is a copy of [P_{m}] for some finite P_{m} ⊂ ω. Suppose further that, for each m ⩽ n, P_{m} ⊈ ⋃_{k≠m} P_{k}, and let l_{m} be the largest element of P_{m} − ⋃_{k≠m} P_{k}. Let P = ⋃_{m⩽n} P_{m} − {l_{0}, …, l_{n}}.

For i ∈ ℤ, let L_{i,0}, …, L_{i,n} be the components of G^{i} isomorphic to L_{0,0}, …, L_{0,n}, respectively.

Let l_{0}, …, l_{n} be the n + 1 least numbers of the form 10m + 9, m ∈ ω, such that G does not contain copies of any of [l_{0}], …, [l_{n}].

The T -catch-up operation taking G to a new computable structure extending G consists of extending each L_{i,m}, i ∈ ℤ, m ⩽ n, to a copy of [P ∪ {l_{m}}], using numbers not in the domain of G.

Performing a T_{σ,t+1}-catch-up operation on A_{s} counts as σ being active, which means that we must then wait for σ to recover before allowing σ to be active again.

If σ is on the true path of the construction and r_{σ,s} comes to a limit then T_{σ,s} comes to a limit T. It is not hard to see that, in this case, by performing catch-up operations as described, we guarantee that every component of A that contains a copy of T is infinite, and that all such components are isomorphic. This will be enough to ensure that (4.2.2) is satisfied, while at the same time helping us to construct the computable isomorphisms needed to satisfy (4.2.3), because it will mean that if G_{|σ|} ≅ A then any embedding of a copy of T in A into G_{|σ|} can be extended to an isomorphism from A to G_{|σ|}.

Much as in Section 3.4, we will separate the stages at which we attempt to satisfy the R-requirements from the stages at which we perform catch-up operations, reserving the even stages for the former purpose and the odd ones for the latter. In order to guarantee that every σ on the true path is active at infinitely many even stages and infinitely many odd stages, we will call recovery at odd stages phase-1 recovery and recovery at even stages phase-2 recovery, and will require that phase-1 σ-recovery stages and phase-2 σ-recovery stages alternate.

Another difference between the construction in this section and the ones in Chapter 3, which has already been noted above, is that σ will not be active except at σ-recovery stages. There will be multiple strategies for satisfying each requirement R_{⟨e,i⟩}, one strategy R_{σ} for each σ ∈ 2^{<ω} such that |σ| = ⟨e, i⟩. Each of these strategies will work with a different set of components, which will be subject to initialization. If σ is accessible at some stage 2s + 2 in the construction and no requirements of stronger priority require attention then R_{σ} will have a chance to act as described above. If it does then copies of the τ-special components of G_{|τ|}[2s + 1] will be involved in the operation performed at stage 2s + 2 if and only if τ^{⌢}0 ⊆ σ, that is, if and only if 2s + 2 is a τ-recovery stage.

We now give a few more definitions and conventions that will be used below. Fix a computable one-to-one function from 2^{<ω} onto ω and let ⌜σ⌝ denote the

image under this function of the string σ. (Note that this definition of ⌜σ⌝ is slightly different from the one in Section 3.3.) Fix a computable function ξ from ω onto ℤ such that, for each i ∈ ℤ, there are infinitely many n ∈ ω such that ξ(n) = i.

4.2.6. Definition. Let G be a directed graph. We denote by (G)_{σ} the subgraph of G consisting of those components C of G that satisfy both of the following conditions.

1. C is not isomorphic to [x] for any x ∈ ω.

2. C contains a copy of [10⟨⌜σ⌝, j⟩ + l], j ∈ ω, l ∈ {2, 3, 4, 5, 6, 7}, or a copy of [10⟨⌜σ⌝, j, k⟩ + l], j, k ∈ ω, l ∈ {1, 8}.

Define (G)_{⊇σ} = ⋃_{τ⊇σ}(G)_{τ}.

In the particular case of G^{∗}, we will wish to define (G^{∗})_{σ} somewhat differently.

4.2.7. Definition. Let G be a leveled graph. We denote by (G^{∗})_{σ} the subgraph of G consisting of the non-singleton components of G^{∗} that contain a copy of [10⟨⌜σ⌝, j⟩], j ∈ ω. Let n, r ∈ ω. We denote by (G^{∗})_{σ}^{n,r} the subgraph of G consisting of the non-singleton components of (G^{∗})^{n,r} that contain a copy of [10⟨⌜σ⌝, j⟩], j ∈ ω. In case r = 0, we write simply (G^{∗})_{σ}^{n}.

Define (G^{∗})_{⊇σ} = ⋃_{τ⊇σ}(G^{∗})_{τ} and (G^{∗})_{⊇σ}^{n,r} = ⋃_{τ⊇σ}(G^{∗})_{τ}^{n,r}. In case r = 0, we write simply (G^{∗})_{⊇σ}^{n}.

Let k be the number of times σ has been initialized before stage t. Suppose there is a least stage s ⩽ t such that G_{|σ|}[s] has a level-0 component K isomorphic to [10⟨⌜σ⌝, k⟩ + 3]. We call the component of G_{|σ|}[t] that extends K the σ-special component of G_{|σ|}[t]. If σ is initialized only finitely often, say k many times, and there is a least stage s such that G_{|σ|}[s] has a level-0 component K isomorphic to [10⟨⌜σ⌝, k⟩ + 3] then we call the component of G_{|σ|} that extends K the σ-special component of G_{|σ|}.

We now proceed with the construction of A. We will start with a computable structure A^{0} with co-infinite domain. In order to ensure that we can carry out the construction, we require that, when we add elements to the domain of A_{s} at stage s + 1 to get A_{s+1}, we do this in such a way that A_{s+1} remains co-infinite. In order to ensure that A is computable, we require that the collection of sets (|A_{s+1}| − |A_{s}|)_{s∈ω} is uniformly computable.

stage 0. Let A_{0} be a computable leveled graph with co-infinite domain consisting of the following nodes and edges in addition to the ones required by Definition 4.2.1.

1. For each i ∈ ℤ, k ∈ ω, and 0 < l < 9, a copy of [10k + l] with an edge from the i-master node to its top.

2. For each k ∈ ω, a copy of [10k]. For each σ ∈ 2^{<ω}, let r_{σ,0} = 0 and T_{σ,0} = ∅.

stage 2s+1. For σ ∈ 2^{<ω}, let recov(σ, 2s) be the number of σ-recovery stages before stage 2s + 1. Define the string σ[2s + 1] ∈ 2^{[0,s]} by recursion as follows, beginning with n = 0. Let σ = σ[2s + 1] ↾ n. Say that 2s + 1 is a phase-1 σ-recovery stage and that σ is semi-recovered if all of the following conditions hold.

1. σ is not currently semi-recovered.

2. Every τ such that τ^{⌢}0 ⊆ σ has fully recovered (defined below) at least |σ| + 1 many times.

3. G_{n}[2s] has a σ-special component isomorphic to some component of A_{2s}^{0}.

4. For each i ∈ ℤ such that |i| ⩽ recov(σ, 2s), (G_{n}^{i}[2s])_{σ} ≅ (A_{2s}^{0})_{σ}.

5. For each i ∈ ℤ such that |i| ⩽ recov(σ, 2s), (G_{n}^{i}[2s])_{⊇σ^{⌢}0} ≅ (A_{2s}^{0})_{⊇σ^{⌢}0}.

6. (G_{n}^{∗}[2s])_{⊇σ^{⌢}0}^{recov(σ,2s)} ≅ (A_{2s}^{∗})_{⊇σ^{⌢}0}^{recov(σ,2s)}. If 2s+1 is a σ-recovery stage then let σ[2s+1](n) = 0. Otherwise, let σ[2s+1](n) = 1.

For each σ such that 2s+1 is a σ-recovery stage, proceed as follows. Let i = r_{σ,2s}. Let S_{σ,2s} be the component of A_{2s}^{i} that is isomorphic to the σ-special component of G_{|σ|}[2s]. If 2s + 1 is either the first σ-recovery stage ever or the first σ-recovery stage since the last time σ was initialized then let r_{σ,2s+1} = 0 and T_{σ,2s+1} = S_{σ,2s}. Otherwise, proceed as follows. Let 2t + 2 be the last σ-recovery stage before stage 2s + 1. If S_{σ,2s} extends S_{σ,2t+1} then let r_{σ,2s+1} = i and T_{σ,2s+1} = T_{σ,2s}; otherwise, declare 2s + 1 to be a σ-change stage, let n be the number of σ-change stages before stage 2s + 1, let r_{σ,2s+1} = ξ(n), and let T_{σ,2s+1} = S_{σ,2s}.

For each σ ∈ 2^{<ω} such that 2s + 1 is not a σ-recovery stage, let r_{σ,2s+1} = r_{σ,2s} and T_{σ,2s+1} = T_{σ,2s}.

Declare each σ to the right of σ[2s + 1] to have been initialized. This includes declaring σ to be neither semi-recovered nor fully recovered.

Proceed as follows to obtain A_{2s+1} from A_{2s}. For each σ ∈ 2^{<ω} such that 2s + 1 is a σ-recovery stage, perform the T_{σ,2s+1}-catch-up operation and say that σ is active at stage 2s + 1.

stage 2s + 2. For σ ∈ 2^{<ω}, let recov(σ, 2s + 1) be the number of σ-recovery stages before stage 2s + 2, let init(σ, 2s + 1) be the number of times σ has been initialized before stage 2s + 2, and let c(σ, 2s + 1) = max(recov(σ, 2s + 1), init(σ, 2s + 1)).

Define the string σ[2s + 2] ∈ 2^{[0,s]} by recursion as follows, beginning with n = 0. Say that 2s+2 is a phase-2 σ-recovery stage and that σ is fully recovered (and hence not semi-recovered) if all of the following conditions hold.

1. σ is currently semi-recovered.

2. The σ-special component of G_{n}[2s + 1] is isomorphic to some component of A_{2s+1}^{0}.

3. For each i ∈ ℤ such that |i| ⩽ recov(σ, 2s + 1), (G_{n}^{i}[2s + 1])_{σ} ≅ (A_{2s+1}^{0})_{σ}.

4. For each i ∈ ℤ such that |i| ⩽ recov(σ, 2s+1), (G_{n}^{i}[2s+1])_{⊇σ^{⌢}0} ≅ (A_{2s+1}^{0})_{⊇σ^{⌢}0}.

5. If τ ⊇ σ^{⌢}0 has not yet fully recovered since the last time it was initialized and |τ| ⩽ recov(σ, 2s + 1) then, for each i ∈ ℤ such that |i| ⩽ recov(σ, 2s + 1), G_{n}^{i}[2s + 1] has a component isomorphic to [10⟨⌜τ⌝, init(τ, 2s + 1)⟩ + 3].

6. Let τ be such that either τ = σ or both τ ⊇ σ^{⌢}0 and |τ| ⩽ recov(σ, 2s + 1). Let i ∈ ℤ be such that |i| ⩽ recov(σ, 2s + 1). For each m < c(σ, 2s + 1), there is a component of G_{n}^{i}[2s + 1] isomorphic to [10⟨⌜τ⌝, c(τ, 2s + 1), m⟩ + 1]. For each l ∈ {2, 4, 5}, there is a component of G_{n}^{i}[2s + 1] isomorphic to [10⟨⌜τ⌝, c(τ, 2s + 1)⟩ + l].

7. Let τ be such that R_{|τ|} has not yet been satisfied (defined below), τ ⊇ σ^{⌢}0, and |τ| ⩽ recov(σ, 2s + 1). Let i ∈ ℤ be such that |i| ⩽ recov(σ, 2s + 1). There is a component of G_{n}[s] isomorphic to [10⟨⌜τ⌝, init(τ, 2s + 1)⟩]. For each l ∈ {6, 7}, there is a component of G_{n}^{i}[s] isomorphic to [10⟨⌜τ⌝, init(τ, 2s + 1)⟩ + l]. For each m < π_{1}(⌜τ⌝), there is a component of G_{n}^{i}[s] isomorphic to [10⟨⌜τ⌝, init(τ, 2s + 1), m⟩ + 8].

If 2s+2 is a σ-recovery stage then let σ[2s+2](n) = 0. Otherwise, let σ[2s+2](n) = 1.

For each σ such that 2s + 2 is a σ-recovery stage, proceed as follows. Let i = r_{σ,2s+1}. Let S_{σ,2s+1} be the component of A_{2s+1}^{i} that is isomorphic to the σspecial component of G_{|σ|}[2s + 1]. Let 2t + 1 be the last σ-recovery stage before stage 2s + 2. If S_{σ,2s+1} extends S_{σ,2t} then let r_{σ,2s+2} = i and T_{σ,2s+2} = T_{σ,2s+1}; otherwise, declare 2s + 2 to be a σ-change stage, let n be the number of σ-change stages before stage 2s + 2, let r_{σ,2s+2} = ξ(n), and let T_{σ,2s+2} = S_{σ,2s+1}.

For each σ ∈ 2^{<ω} such that 2s + 2 is not a σ-recovery stage, let r_{σ,2s+2} = r_{σ,2s+1} and T_{σ,2s+2} = T_{σ,2s+1}.

Declare each σ to the right of σ[2s + 2] to have been initialized. This includes declaring σ to be neither semi-recovered nor fully recovered.

Say that R_{σ}, σ ⊆ σ[2s + 2], requires attention if R_{|σ|} has not yet been satisfied, π_{1}(|σ|) ⩽ c(τ, 2s + 1) for all τ such that τ^{⌢}0 ⊆ σ, and, for the coding locations x and y of the (unique) copies of [10⟨⌜σ⌝, init(σ, 2s + 1)⟩ + 7] in A_{2s+1}^{0} and A_{2s+1}^{π_{1}(|σ|)}, respectively, Φ_{π_{0}(|σ|)}(x)[s]↓= y.

Let e be the least number less than s such that R_{σ[2s+2](e)} requires attention. (If no such e exists then end the stage.) If σ^{⌢}0 ⊆ σ[2s + 2] then say that σ is active at stage 2s + 2.

Let X_{2s+1} be the component of A_{2s+1} isomorphic to [10⟨⌜σ[2s+2](e)⌝, init(σ[2s+ 2](e), 2s + 1)⟩]. For each i ∈ ℤ and m < π_{1}(e), let D_{2s+1}^{i}, E_{2s+1}^{i}, and F_{m,2s+1}^{i} be the components of A_{2s+1}^{i} isomorphic to [10⟨⌜σ[2s + 2](e)⌝, init(σ[2s + 2](e), 2s + 1)⟩ + 6], [10⟨⌜σ[2s + 2](e)⌝, init(σ[2s + 2](e), 2s + 1)⟩ + 7], and [10⟨⌜σ[2s + 2](e)⌝, init(σ[2s + 2](e), 2s + 1), m⟩ + 8], respectively.

Let σ_{0}, …, σ_{k−1} be all the strings that are active at stage 2s+2. For each j < k, i ∈ ℤ, and m < π_{1}(e), let Y_{σ_{j},m,2s+1}^{i}, Z_{σ_{j},2s+1}^{i}, B_{σ_{j},2s+1}^{i}, and C_{σ_{j},2s+1}^{i} be the level-i components of A_{2s+1} isomorphic to [10⟨⌜σ_{j}⌝, c(σ_{j}, 2s+1), m⟩+1], [10⟨⌜σ_{j}⌝, c(σ_{j}, 2s+ 1)⟩ + 2], [10⟨⌜σ_{j}⌝, c(σ_{j}, 2s + 1)⟩ + 4], and [10⟨⌜σ_{j}⌝, c(σ_{j}, 2s + 1)⟩ + 5], respectively. For each j < k and i ∈ ℤ, let S_{σ_{j},2s+1}^{i} be the level-i component of A_{2s+1} isomorphic to S_{σ_{j},2s+1}.

For j < k, let d_{j} = r_{σ_{j},2s+2}. Perform

O_{π_{1}(e),(d_{0},...,d_{k−1})}({Y_{σ_{j},m,2s+1}^{i}}, X_{2s+1}, {Z_{σ_{j},2s+1}^{i}}, {B_{σ_{j},2s+1}^{i}}, {S_{σ_{j},2s+1}^{i}},

{C_{σ_{j},2s+1}^{i}}, {D_{2s+1}^{i}}, {E_{2s+1}^{i}}, {F_{m,2s+1}^{i}})

on A_{2s+1} to get A_{2s+2}. Declare R_{e} to be satisfied.

This completes the construction. Let A = ⋃_{s∈ω} A_{s}. Since the collection of sets (|A_{s+1}| − |A_{s}|)_{s∈ω} is uniformly computable, A is computable. We now wish to argue that properties (4.2.1)–(4.2.3) are satisfied. Theorem 4.1.3 will then follow immediately.

Define the true path T P of the construction to be the leftmost path of 2^{ω} such that there are infinitely many stages s with σ[s] ∈ T P. For each i ∈ ℤ, let a_{i} be the i-master node of A.

We begin by showing that property (4.2.2) is satisfied. 4.2.8. Lemma. If σ ∈ T P then R_{σ} requires attention only finitely often. Proof. Assume by induction that there is a stage s such that, for all τ ⊊ σ, R_{τ} does not require attention after stage s. Let 2t+2 > s be such that R_{σ} requires attention at stage 2t + 2. Then, by definition, σ ⊆ σ[2t + 2], and hence R_{|σ|} is satisfied at stage 2t + 2, which implies that R_{σ} will never again require attention. 4.2.9. Lemma. Let e = ⟨j, i⟩. If R_{e} is ever satisfied then Φ_{j} is not an isomorphism from ⟨A, a_{0}⟩ to ⟨A, a_{i}⟩.

Proof. Suppose that R_{e} is satisfied at stage 2s + 2. Let σ = σ[2s + 2](e). Let K and L be the components of A_{2s+1}^{0} and A_{2s+1}^{i}, respectively, that are isomorphic to [10⟨⌜σ⌝, init(σ, 2s + 1)⟩ + 7], and let x and y be the coding locations of K and L, respectively. Since R_{σ} requires attention at stage 2s + 2, Φ_{j}(x)↓= y.

Let K′ and L′ be the components of A^{0} and A^{i} that extend K and L, respectively. The operation performed at stage 2s+2 guarantees that K′ ≇ L′, so no isomorphism from ⟨A, a_{0}⟩ to ⟨A, a_{i}⟩ can take x to y.

4.2.10. Lemma. For every i ≠ j ∈ ℤ, ⟨A, a_{i}⟩ is not computably isomorphic to ⟨A, a_{j}⟩.

Proof. Since, given k ≠ l ∈ ℤ, any automorphism of A taking a_{k} to a_{l} takes a_{0} to a_{i} for some i ≠ 0, it is enough to show that, for each j ∈ ω and i ∈ ℤ, i ≠ 0, Φ_{j} is not an isomorphism from ⟨A, a_{0}⟩ to ⟨A, a_{i}⟩.

Fix j ∈ ω and let e = ⟨j, i⟩. Let σ = T P (e), let s be a stage after which no R_{τ}, τ ⊊ σ, requires attention and such that σ is not initialized after stage s, and let k be the total number of times σ is initialized. If R_{e} is ever satisfied then, by Lemma 4.2.9, we are done. So suppose that R_{e} is never satisfied.

This means that the components K and L of A_{0}^{0} and A_{0}^{i}, respectively, isomorphic to [10⟨⌜σ⌝, k⟩+7] never participate in operations. Let x and y be the coding locations of K and L, respectively. Since R_{e} is never satisfied, R_{σ} never requires attention after stage s. So it cannot be the case that Φ_{j}(x)↓= y. But K and L are the unique copies of [10⟨⌜σ⌝, k⟩+7] in A^{0} and A^{i}, respectively, so any isomorphism from ⟨A, a_{0}⟩ to ⟨A, a_{i}⟩ must take x to y.

In showing that (4.2.1) and (4.2.3) are satisfied, we will need a few easily checked facts about the construction.

As in Chapter 3, we say that a component of A participates in an operation at stage s + 1 if it extends a component of A_{s} that participates in an operation at stage s + 1.

Let G and H be leveled graphs, let K and L be components of G and H, respectively, and let i ∈ ℤ. We say that K is i-isomorphic to L if there is an isomorphism f : K ≅ L such that, for all x ∈ K and j ∈ ℤ, if there is an edge from the j-master node of G to x then there is an edge from the (j + i)-master node of H to f(x).

4.2.11. Lemma. Let K and L be distinct components of A_{s}. If K is not a copy of [10k + l] for any k ∈ ω and l ∈ {1, 2, 6, 8} then K and L are not extended by the same component of A. If K and L are extended by the same component M of A then M is a component of A^{∗}.

4.2.12. Lemma. Every component of A has a level unless it contains a copy of [10k] for some k ∈ ω.

4.2.13. Lemma. For each s ∈ ω and i, j ∈ ℤ, ⟨A_{s}, a_{i}⟩ ≅ ⟨A_{s}, a_{j}⟩ and no component K of A_{s} is embeddable in another component L of A_{s} unless K is k-isomorphic to L for some k ∈ ℤ, k ≠ 0. Furthermore, if a component of A_{s}^{i} participates in an operation at stage s + 1 then so does the (unique) isomorphic component of A_{s}^{j}.

4.2.14. Lemma. A component of A that does not contain a copy of [10k] for any k ∈ ω is infinite if and only if it participates in operations infinitely often.

4.2.15. Lemma. Let k, j ∈ ω and σ ∈ 2^{<ω}. Any component of A containing a copy of [10k], [10⟨⌜σ⌝, j, k⟩ + l], l ∈ {1, 8}, or [10⟨⌜σ⌝, j⟩ + l], l ∈ {2, 6, 7}, can participate in an operation at most once. Any component of A^{i} containing a copy of [10⟨⌜σ⌝, j⟩ + l], l ∈ {3, 4, 5}, can participate in operations only at stages at which σ is active.

Note that, since A_{0} contains only one copy of each [10k], k ∈ ω, Lemma 4.2.15 implies that, for each k ∈ ω, there is at most one stage at which a copy of [10k] participates in an operation.

4.2.16. Lemma. Let K be an infinite component of A that contains a copy of [10k] for some K ∈ ω and let m ∈ ω. Then K ∩ (A^{∗})^{m} is not embeddable in any component L ≠ K of A unless K and L are i-isomorphic for some i ∈ ℤ, i ≠ 0.

4.2.17. Lemma. If σ is initialized at stage s + 1 then no components of (A)_{σ} that participate in operations at stages before stage s + 1 can participate in an operation after stage s.

4.2.18. Lemma. Suppose that r_{σ,s} = i ≠ r_{σ,s+1}. Of all the components of (A^{i})_{σ} that participate in operations at stages before stage s + 1, the only one that can participate in an operation after stage s is the one that extends S_{σ,s}.

4.2.19. Lemma. Let u be a stage after which σ is never initialized. Let s + 1 > u be a σ-recovery stage that is not the first such stage after u. Let t + 1 be the last σ-recovery stage before stage s + 1. If r_{σ,s} = i ≠ r_{σ,s+1} then S_{σ,s} extends either B_{σ,2u+1}^{i} or C_{σ,2u+1}^{i} for some 2u + 1 ∈ [t, s).

4.2.20. Lemma. Let T be a subgraph of A. If components K and L of A, each containing a copy of T, are involved in T -catch-up operations infinitely often then K and L are infinite and K ≅ L.

4.2.21. Lemma. Let σ ∈ T P and suppose that lim_{s} r_{σ,s} exists. Then T_{σ,s} comes to a limit T and every infinite component of (A_{s})_{σ} that does not contain a copy [10k] for any k ∈ ω contains a copy of T.

We now turn to showing that property (4.2.1) is satisfied. As in Chapter 3, this requires us to characterize the infinite components of A.

4.2.22. Lemma. Let σ ∈ 2^{<ω}. If σ^{⌢}0 is to the left of T P then no component of (A)_{σ} is infinite unless it contains a copy of [10k] for some k ∈ ω.

Proof. If σ^{⌢}0 is to the left of T P then σ is active only finitely often, so the lemma follows from Lemmas 4.2.14 and 4.2.15.

4.2.23. Lemma. Let σ ∈ 2^{<ω}. If σ is to the right of T P then no component of (A)_{σ} is infinite unless it contains a copy of [10k] for some k ∈ ω.

Proof. This follows immediately from Lemmas 4.2.14 and 4.2.17.

4.2.24. Lemma. Let σ ∈ 2^{<ω} be such that σ^{⌢}0 ∈ T P. If r_{σ,s} does not have a limit then no component of (A)_{σ} is infinite unless it contains a copy of [10k] for some k ∈ ω.

Proof. By Lemma 4.2.12, it is enough to show that, for each i ∈ ℤ, no component of (A^{i})_{σ} is infinite.

Let i ∈ ℤ. If s is the (n + 1)^{st} σ-change stage then r_{σ,s} = ξ(n). Thus there are infinitely many stages s such that r_{σ,s} = i.

Suppose that r_{σ,s} = i ≠ r_{σ,s+1} and let t + 1 be the last σ-recovery stage before stage s+1. By Lemma 4.2.18, of all the components of (A^{i})_{σ} that have participated in operations at stages before stage s + 1, the only one that can participate in an operation after stage s is the component L that extends S_{σ,s}. By Lemma 4.2.19, L extends either B_{σ,2u+1}^{i} or C_{σ,2u+1}^{i} for some 2u + 1 ∈ [t, s). But, for all 2u + 1 ∈ [t, s), B_{σ,2u+1}^{i} and C_{σ,2u+1}^{i} are singleton components, and hence did not participate in an operation at any stage before stage t + 1.

Thus, no component of (A^{i})_{σ} that participates in an operation before stage t+1 can do so again after stage s. The lemma now follows from Lemma 4.2.14.

4.2.25. Lemma. Let k ∈ ω. There are finitely many components K_{0}, …, K_{n} of A that contain a copy of [10k], and these can be chosen so that, for all j, k ⩽ n and i ∈ ℤ, i ≡ k − j mod n + 1, K_{j} is i-isomorphic to K_{k}.

Proof. Let K be the copy of [10k] in A_{0}. If K never participates in an operation then the lemma is trivially true with n = 0 and K_{0} = K. Otherwise, there is a stage 2s + 2 such that K participates in an operation at stage 2s + 2 and, by Lemma 4.2.15, for any t ≠ 2s + 2, no component of A that contains a copy of [10k] participates in an operation at stage t. The lemma now follows easily from the definition of the operation performed at stage 2s + 2.

4.2.26. Lemma. Let σ be such that σ^{⌢}0 ∈ T P and lim_{s} r_{σ,s} exists. There are infinitely many infinite components of (A)_{σ} that do not contain a copy of [10k] for any k ∈ ω. Let K_{0}, K_{1}, … be all such components. Each K_{j}, j ∈ ω, has a level. For each i ∈ ℤ there are infinitely many j ∈ ω such that level(K_{j}) = i. For all j, k ∈ ω, K_{j} ≅ K_{k}.

Proof. Let u be a stage after which σ is never initialized and such that, for all t > u, r_{σ,t} = lim_{s} r_{σ,s}. Let 2s + 1 be the first phase-1 σ-recovery stage after stage u and let T = T_{σ,2s+1}. Since the σ-special component of G_{|σ|}[2s] contains a copy of T, for each phase-2 σ-recovery stage 2t + 2 after stage 2s + 1, each level of A_{2t+2} has a component that contains a copy of T and extends a singleton component of A_{2t+1}. Thus there are infinitely many components K_{0}, K_{1}, … that contain a copy of T. Furthermore, each K_{j}, j ∈ ω, has a level, and for each i ∈ ℤ there are infinitely many j ∈ ω such that level(K_{j}) = i.

For each phase-1 σ-recovery stage 2t + 1 > 2s + 1, T_{σ,2t+1} = T, so K_{0}, K_{1}, … are involved in T -catch-up operations infinitely often. Thus, by Lemma 4.2.20, K_{0}, K_{1}, … are infinite and, for all j, k ∈ ω, K_{j} ≅ K_{k}.

We are left with showing that any component of (A)_{σ} that does not contain a copy of T or a copy of [10k] for any k ∈ ω is finite. By Lemma 4.2.14, it is enough to show that any component of (A)_{σ} that does not contain a copy of T participates in operations only finitely often. But the only components of (A)_{σ} that participate in an operation at an odd stage after stage 2s + 1 are ones that contain a copy of T, while for 2t + 2 > 2s + 1, the only non-singleton components of (A_{2t+1})_{σ} that participate in an operation at stage 2t + 2 are the ones that are isomorphic to the special component of G_{|σ|}[2t + 1], and that therefore contain a copy of T.

4.2.27. Lemma. For every i ∈ ℤ, ⟨A, a_{i}⟩ ≅ ⟨A, a_{0}⟩.

Proof. By Lemma 4.2.13, it is enough to define a 1–1 map f from the set of infinite components of A onto itself such that, for each infinite component K of A, f(K) is i-isomorphic to K.

Let k ∈ ω be such that a copy of [10k] participates in an operation at some point in the construction and let K_{0}, …, K_{n} be as in Lemma 4.2.25. For j ⩽ n, let k ⩽ n be such that k − j ≡ i mod n + 1 and define f(K_{j}) = K_{k}.

Let σ be such that σ^{⌢}0 ∈ T P and lim_{s} r_{σ,s} exists. For each j ∈ ℤ, let K_{0}^{j}, K_{1}^{j}, … be a list of all infinite components of (A^{j})_{σ} that do not contain a copy of [10k] for any k ∈ ω. By Lemma 4.2.26, each such list is infinite. For j ∈ ℤ and n ∈ ω, define f(K_{n}^{j}) = K_{n}^{j+i}.

By Lemmas 4.2.22, 4.2.23, and 4.2.24, we have defined f on all infinite components of A. By Lemmas 4.2.25 and 4.2.26, f is 1–1 and onto, and, for each infinite component K of A, f(K) is i-isomorphic to K.

We are left with showing that property (4.2.3) is satisfied. We begin by showing that if σ ∈ T P and G_{|σ|} ≅ A then lim_{s} r_{σ,s} is well-defined.

4.2.28. Lemma. If σ ∈ T P and G_{|σ|} ≅ A then there are infinitely many σ-recovery stages, and hence the σ-special component of G_{|σ|} is infinite.

Proof. If σ ∈ T P and G_{|σ|} ≅ A then G_{|σ|} has a σ-special component. Assume for a contradiction that there are only m many σ-recovery stages. Let s_{0} be the last σ-recovery stage. (If there are no σ-recovery stages then let s_{0} be the first stage at which G_{|σ|} has a σ-special component.) Since σ is not active at any stage that is not a σ-recovery stage, σ is not active at any stage t ⩾ s_{0}. By the definition of T P, there is a stage s ⩾ s_{0} by which every τ such that τ^{⌢}0 ⊆ σ has fully recovered at least |σ| + 1 many times and such that σ is not initialized at any stage greater than or equal to s.

There are two cases.

Case 1. σ is not semi-recovered at stage s. Then the first condition in the definition of phase-1 σ-recovery stage is met at every stage greater than or equal to s.

By the choice of s, the second condition in the definition of phase-1 σ-recovery stage is met at every stage greater than or equal to s.

Consider the components of A^{0} that contain a copy of the σ-special component of G_{|σ|}. By Lemma 4.2.15, each such component is finite. Thus, if the third condition in the definition of phase-1 σ-recovery stage is not eventually satisfied after stage s then the σ-special component of G_{|σ|} is not isomorphic to any component of A^{0}.

Now consider (A^{0})_{σ}. Again by Lemma 4.2.15, (A^{0})_{σ} is finite. So, since there are only finitely many i ∈ ℤ such that |i| ⩽ recov(σ, s), if the fourth condition in the definition of phase-1 σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|}^{i})_{σ} ≇ (A^{0})_{σ} for some i ∈ ℤ.

Since we are assuming that there are only finitely many σ-recovery stages, σ^{⌢}1 ∈ T P. Thus it follows from Lemmas 4.2.14 and 4.2.15 that (A_{s}^{0})_{⊇σ^{⌢}0} is finite. So, since there are only finitely many i ∈ ℤ such that |i| ⩽ recov(σ, s), if the fifth condition in the definition of phase-1 σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|}^{i})_{⊇σ^{⌢}0} ≇ (A^{0})_{⊇σ^{⌢}0} for some i ∈ ℤ.

Since we are assuming that σ^{⌢}0 is to the left of T P, (A_{s}^{∗})_{⊇σ^{⌢}0}^{recov(σ,s)} is finite. So if the last condition in the definition of phase-1 σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|}^{∗})_{⊇σ^{⌢}0} ≇ (A^{∗})_{⊇σ^{⌢}0}.

Case 2. σ is semi-recovered at stage s. Then the first condition in the definition of phase-2 σ-recovery stage is met at every stage greater than or equal to s.

By the same arguments as above we have the following facts. If the second condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then the σ-special component of G_{|σ|} is not isomorphic to any component of A^{0}. If the third condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|}^{i})_{σ} ≇ (A^{0})_{σ} for some i ∈ ℤ. If the fourth condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then (G_{|σ|}^{i})_{⊇σ^{⌢}0} ≇ (A^{0})_{⊇σ^{⌢}0} for some i ∈ ℤ.

Since we are assuming that σ^{⌢}0 is to the left of T P, there is a stage t ⩾ s after which no τ such that τ ⊇ σ^{⌢}0 is initialized. Any such τ that has not fully recovered since the last time it was initialized never again recovers, and hence there is a component of A^{0} isomorphic to [10⟨⌜τ⌝, init(τ, t)⟩ + 3]. Since there are only finitely many τ and i ∈ ℤ such that |τ| , |i| ⩽ recov(σ, s), if the fifth condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then G_{|σ|}^{i} ≇ A^{0} for some i ∈ ℤ.

Now let τ be such that either τ = σ or both τ ⊇ σ^{⌢}0 and |τ| ⩽ recov(σ, s), and let i ∈ ℤ be such that |i| ⩽ recov(σ, s). Clearly, c(τ, t) reaches a limit c(τ). It is easy to see that, for any stage 2t + 2 at which τ is active, c(τ, 2t + 1) < c(τ, s) = c(τ). So, for each l ∈ {2, 4, 5}, there is a unique component of A^{0} that contains a copy of [10⟨⌜τ⌝, c(τ)⟩ + l], and it is isomorphic to [10⟨⌜τ⌝, c(τ)⟩ + l]. Similarly, for each m < c(σ, s), there is a unique component of A^{0} that contains a copy of [10⟨⌜τ⌝, c(τ), m⟩ + 1], and it is isomorphic to [10⟨⌜τ⌝, c(τ), m⟩ + 1]. Thus, if the sixth condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then, for some i ∈ ℤ, there is a component of A^{0} that is not isomorphic to any component of G_{|σ|}^{i}.

Finally, let τ ⊇ σ^{⌢}0 and i ∈ ℤ be such that |τ| , |i| ⩽ recov(σ, s) and consider R_{|τ|}. If this requirement is ever satisfied then the last condition in the definition of phase-2 σ-recovery stage will be satisfied for these particular τ and i at all sufficiently large stages. So suppose that R_{|τ|} is never satisfied. It is easy to see that init(τ, t) reaches a limit init(τ), and there is a component of A isomorphic to [10⟨⌜τ⌝, init(τ)⟩]. Similarly, for each l ∈ {6, 7}, there is a component of A^{0} isomorphic to [10⟨⌜τ⌝, init(τ)⟩ + l], and, for each m < π_{1}(⌜τ⌝), there is a component of A^{0} isomorphic to [10⟨⌜τ⌝, init(τ), m⟩ + 8]. Thus, if the last condition in the definition of phase-2 σ-recovery stage is not eventually satisfied after stage s then, for some i ∈ ℤ, there is a component of A^{0} that is not isomorphic to any component of G_{|σ|}^{i}.

In any case, G_{|σ|} cannot be isomorphic to A, contrary to hypothesis. So there are infinitely many σ-recovery stages.

Now let v be a stage after which σ is never initialized. Given any two stages 2u+ 2 > 2t + 2 > v at which σ is active, the σ-special component of G_{|σ|}[2u + 1] properly extends the σ-special component of G_{|σ|}[2t + 1]. Thus, to establish the second part of the lemma, it is enough to show that σ is active infinitely often. But it is easy to find infinitely many τ ⊃ σ^{⌢}0 such that R_{τ} eventually requires attention. Each time such an R_{τ} requires attention, σ is active.

4.2.29. Lemma. If σ ∈ T P and G_{|σ|} ≅ A then lim_{s} r_{σ,s} is well-defined.

Proof. This follows immediately from Lemmas 4.2.24 and 4.2.28.

Now fix σ ∈ T P such that G_{|σ|} ≅ A. Let n = |σ| and let g be the 0-master node of G_{n}. By Lemma 4.2.29, r = lim_{s} r_{σ,s} is well-defined. We wish to show that ⟨G_{n}, g⟩ is computably isomorphic to ⟨A, a_{r}⟩. Let b be the unique map from the backbone graph B of A to the backbone graph B of G_{n} that takes a_{r} to g. Note that b is computable.

We will define a computable isomorphism f from G_{n} to A extending b. As in Section 3.3, our method will be to divide |A| into a finite collection of (not necessarily disjoint) c.e. sets and define f independently on each of these sets. We will need to be a little more careful here, because A is not rigid, but Lemma 4.2.32 below justifies our approach.

Let ω^{−} = {k ∈ ω | k ≢ 9 mod 10}. Let N_{0} = {(k, i) | k ∈ ω^{−}, k ≢ 0 mod 10, i ∈ ℤ} and N_{1} = {k ∈ ω | k ≡ 0 mod 10}. Let N = N_{0} ∪ N_{1}. For p = (k, i) ∈ N_{0}, let π(p) = k; for k ∈ N_{1}, let π(k) = k.

4.2.30. Definition. Let p = (k, i) ∈ N_{0}, s ∈ ω, and i ∈ ℤ. We denote by (p) and (p)_{s} the components of A and A_{s}, respectively, that extend the unique copy of [k] in A_{0}^{i}.

Let k ∈ N_{1} and s ∈ ω. We denote by (k) and (k)_{s} the components of A and A_{s}, respectively, that extend the unique copy of [k] in A_{0}.

For H ⊆ ω^{−}, let H̃ = {(k, i) | k ∈ H, k ≢ 0 mod 10, i ∈ ℤ} ∪ {k ∈ H | k ≡ 0 mod 10} and let P_{H} be the graph obtained by restricting the domain of A to |B| ∪ ⋃_{p∈H̃} |(p)|. 4.2.31. Lemma. Let H and H′ be disjoint subsets of ω^{−} and let f and f′ be embeddings of P_{H} and P_{H′}, respectively, into G_{n}. Then f and f′ agree on P_{H} ∩ P_{H′}. Proof. By Lemma 4.2.11, if p ≠ q ∈ N are such that (p) = (q) then (p) is a component of A^{∗}. This clearly implies that f^{−1} ∘ (f′ ↾ P_{H} ∩ P_{H′}) can be extended to an automorphism of A^{∗}. But it is also easy to check that A^{∗} is rigid. Thus f and f′ must agree on P_{H} ∩ P_{H′}. 4.2.32. Lemma. Let H_{0}, …, H_{m} be pairwise disjoint computable subsets of ω^{−} such that ⋃_{i=0}^{m} H_{i} = ω^{−} and, for i ≠ j ⩽ m, if K and L are components of P_{H_{i}} and P_{H_{j}}, respectively, and f_{i}(K) = f_{j}(L), then K = L. Suppose that, for each i ⩽ m, there exists a computable embedding f_{i} ⊃ b from P_{H_{i}} into G_{n}, such that ⋃_{i=0}^{m} rng(f_{i}) = |G_{n}|. Then there exists a computable isomorphism f ⊃ b from A to G_{n}. Proof. Since H_{0}, …, H_{m} are computable, P_{H_{0}}, …, P_{H_{m}} are c.e.. Since ⋃_{i=0}^{m} H_{i} = ω^{−}, ⋃_{i=0}^{m} P_{H_{i}} = A. Define f as follows. Given x ∈ A^{0}, wait until x is enumerated into some P_{H_{i}}, i ⩽ m, and then let f(x) = f_{i}(x). It is easy to check that the conditions imposed on H_{0}, …, H_{m} and f_{0}, …, f_{m}, together with Lemma 4.2.31, imply that f is an isomorphism from A to G_{n}.

We will partition ω^{−} into the pairwise disjoint computable sets H_{0}, …, H_{6} shown in Table 4.1.

Table 4.1: H_{0}, …, H_{6}

H_{0} {10⟨⌜τ⌝, k, j⟩ + 1, 10⟨⌜τ⌝, k⟩ + l | τ to the left of σ or τ^{⌢}1 ⊆ σ,

j, k ∈ ω, l ∈ {2, 3, 4, 5}}

H_{1} {10⟨⌜τ⌝, k, j⟩ + 8, 10⟨⌜τ⌝, k⟩ + l | τ to the left of σ, j, k ∈ ω, l ∈ {0, 6, 7}} H_{2} {10⟨⌜τ⌝, k, j⟩ + d, 10⟨⌜τ⌝, k⟩ + l | τ to the right of σ^{⌢}0, j, k ∈ ω,

d ∈ {1, 8}, l ∈ {0, 2, 3, 4, 5, 6, 7}}

H_{3} {m ∈ ω | for any i ∈ ℤ, ((m, i)) is an infinite component of (A)_{τ}, τ ⊂ σ,

that does not contain a copy of [10k] for any k ∈ ω}

H_{4} {10⟨⌜τ⌝, k, j⟩ + 1, 10⟨⌜τ⌝, k⟩ + l | τ^{⌢}0 ⊆ σ, j, k ∈ ω, l ∈ {2, 3, 4, 5}} − H_{3}
H_{5} {10⟨⌜τ⌝, k, j⟩ + 8, 10⟨⌜τ⌝, k⟩ + l | τ ⊆ σ, j, k ∈ ω, l ∈ {0, 6, 7}}
H_{6} {10⟨⌜τ⌝, k, j⟩ + 1, 10⟨⌜τ⌝, k⟩ + l | τ = σ or σ^{⌢}0 ⊆ τ, ; j, k ∈ ω, l ∈ {2, 3, 4, 5}} ∪ ; {10⟨⌜τ⌝, k, j⟩ + 8, 10⟨⌜τ⌝, k⟩ + l | σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {0, 6, 7}}

The following two lemmas are versions of Lemmas 3.3.28 and 3.3.29.

4.2.33. Lemma. Let p ∈ N and suppose there is a stage s such that, for each t ⩾ s, (p)_{t} does not participate in an operation at stage t + 1. Then (p) ≅ (p)_{s}.

Proof. Clearly, if (p)_{t} does not participate in an operation at stage t + 1 then (p)_{t+1} ≅ (p)_{t}. So, by induction, (p)_{t} ≅ (p)_{s+1} for all t ⩾ s. Since (p) = ⋃_{t∈ω}(p)_{t}, the lemma follows.

4.2.34. Lemma. Let H ⊆ ω^{−} and h : H → ω be computable. Suppose that, for each p ∈ H̃ and t ⩾ h(π(p)), (p)_{t} does not participate in an operation at stage t + 1.

Then there is a unique embedding f ⊃ b of P_{H} into G_{n}, and f is computable.

Proof. Let x ∈ P_{H} and let p ∈ H̃ be such that x ∈ (p). By Lemma 4.2.33, (p)_{h(π(p))} ≅ (p), so either (p) is finite or it contains a copy of [10k] for some k ∈ ω.

First suppose that (p) is finite. Since, by Lemma 4.2.13, no finite component K of A is embeddable in another component L of A unless K and L are i-isomorphic for some i ∈ ℤ, i ≠ 0, there is a unique finite set T ⊂ G_{n} such that there is an isomorphism g_{x} : A ↾ (|(p)| ∪ |B|) ≅ G_{n} ↾ (|T | ∪ |B|) extending b, and this isomorphism is unique.

Now suppose that (p) contains a copy of [10k] for some k ∈ ω. If (p) does not participate in an operation before stage h(π(p)) + 1 then (p) is finite, so the previous case applies. Otherwise, let m be such that x ∈ (p) ∩ (A^{∗})^{m}. Since, by Lemma 4.2.16, (p) ∩ (A^{∗})^{m} is not embeddable in any component L ≠ K of A unless (p) and L are i-isomorphic for some i ∈ ℤ, i ≠ 0, there is a unique finite set T ⊂ G_{n} such that there is an isomorphism g_{x} : A ↾ (|(p) ∩ (A^{∗})^{m}| ∪ |B|) ≅ G_{n} ↾ (|T | ∪ |B|) extending b, and this isomorphism is unique.

In either case, define f(x) = g_{x}(x). By the uniqueness of T and g_{x}, f is the unique embedding of P_{H} into G_{n} extending b. Furthermore, it is easy to see that g_{x} can be computably determined given x ∈ P_{H}, which implies that f is computable.

4.2.35. Lemma. Let H_{0} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 1 or 10⟨⌜τ⌝, k⟩ + l, τ to the left of σ or τ^{⌢}1 ⊆ σ, j, k ∈ ω, l ∈ {2, 3, 4, 5}. Then there is a unique embedding f_{0} ⊃ b of P_{H_{0}} into G_{n}, and f_{0} is computable.

Proof. Let T be the set of all τ which are either to the left of σ or such that τ^{⌢}1 ⊆ σ. Since σ ∈ T P, only finitely many elements of T ever recover, and the ones that do recover, do so only finitely often. So there exists a stage s such that if τ ∈ T then τ is not active after stage s. If we let h(m) = s for all m ∈ H_{0} then the hypotheses of Lemma 4.2.34 are satisfied.

4.2.36. Lemma. Let H_{1} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 8 or 10⟨⌜τ⌝, k⟩ + l, τ to the left of σ, j, k ∈ ω, l ∈ {0, 6, 7}. Then there is a unique embedding f_{1} ⊃ b of P_{H_{1}} into G_{n}, and f_{1} is computable.

Proof. Since σ ∈ T P, there exists a stage s such that if τ is to the left of σ then τ is not accessible after stage s. If we let h(m) = s for all m ∈ H_{1} then the hypotheses of Lemma 4.2.34 are satisfied.

4.2.37. Lemma. Let τ be to the right of σ^{⌢}0. Let m be of the form 10⟨⌜τ⌝, k, j⟩+d or 10⟨⌜τ⌝, k⟩ + l, j, k ∈ ω, d ∈ {1, 8}, l ∈ {0, 2, 3, 4, 5, 6, 7}. Let s + 1 be the stage at which τ is initialized for the (k +1)^{st} time. Let i ∈ ℤ. If m ∈ N_{0} then let p = (m, i); otherwise, let p = m. Then (p) does not participate in an operation after stage s.

Proof. If a singleton component of A_{t} of the form [10⟨⌜τ⌝, q⟩ + l], l ∈ {0, 3, 6, 7}, or [10⟨⌜τ⌝, q, j⟩ + 8] participates in an operation at a stage t + 1 > s then q = init(τ, t) > k. If a singleton component of A_{t} of the form [10⟨⌜τ⌝, q⟩ + l], l ∈ {2, 4, 5}, or [10⟨⌜τ⌝, q, j⟩ + 1] participates in an operation at a stage t + 1 > s then q = c(τ, t) ⩾ init(τ, t) > k. So if (p) does not participate in an operation before stage s + 1 then it does not participate in an operation after stage s.

On the other hand, if (p) participates in an operation before stage s + 1 then the fact that it does not participate in an operation after stage s follows from Lemma 4.2.17. 4.2.38. Lemma. Let H_{2} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + d or 10⟨⌜τ⌝, k⟩ + l, τ to the right of σ^{⌢}0, j, k ∈ ω, d ∈ {1, 8}, l ∈ {0, 2, 3, 4, 5, 6, 7}. Then there is a unique embedding f_{2} ⊃ b of P_{H_{2}} into G_{n}, and f_{2} is computable. Proof. If m ∈ H_{2} is of the form 10⟨⌜τ⌝, k, j⟩ + d or 10⟨⌜τ⌝, k⟩ + l then define h(m) to be the first stage by which τ has been initialized k + 1 many times (which exists, since σ^{⌢}0 ∈ T P). Then, by Lemma 4.2.37, the hypotheses of Lemma 4.2.34 are satisfied.

Let H_{3} be the set of all m ∈ ω such that, for any i ∈ ℤ, ((m, i)) is an infinite component of (A)_{τ}, τ ⊂ σ, that does not contain a copy of [10k] for any k ∈ ω. 4.2.39. Lemma. H_{3} is computable. Proof. By Lemmas 4.2.15, 4.2.22, and 4.2.24, every element of H_{3} must be of the form 10⟨⌜τ⌝, k⟩ + l, τ^{⌢}0 ⊆ σ, lim_{s} r_{τ,s} exists, k ∈ ω, l ∈ {3, 4, 5}. Let m ∈ ω be of this form. We will describe an effective procedure for deciding whether m ∈ H_{3}.

First suppose that l = 3. Since lim_{s} r_{τ,s} exists, T_{τ,s} comes to a limit T by some stage u. Since τ ∈ T P, init(τ, s) comes to a limit init(τ). If k ≠ init(τ) then m ∉ H_{3}. Otherwise, by Lemma 4.2.21, for any i ∈ ℤ, m ∈ H_{3} if and only if ((m, i))_{u} contains a copy of T.

Now suppose that l ∈ {4, 5}. Now let t ⩾ u be a stage by which τ has recovered k + 1 many times, which must exist, since τ^{⌢}0 ∈ T P. Arguing as in the proof of Lemma 4.2.37, we see that if ((m, i)), i ∈ ℤ, has not participated in an operation by stage t then it will never participate in an operation, in which case m ∉ H_{3}. On the other hand, if ((m, i)), i ∈ ℤ, has participated in an operation by stage t then, by Lemma 4.2.21, m ∈ H_{3} if and only if ((m, i))_{t} contains a copy of T.

For τ ⊂ σ, let H_{3}^{τ} be the set of all m ∈ H_{3} such that, for any i ∈ ℤ, ((m, i)) is a component of (A)_{τ}. The following lemma is easily checked.

4.2.40. Lemma. For each τ ⊂ σ, P_{H_{3}^{τ}} is c.e..

For τ ⊂ σ, let M_{τ} be the union of all infinite components of (G_{n})_{τ} that do not contain a copy of [10k] for any k ∈ ω. Let M = ⋃_{τ⊂σ} M_{τ}.

4.2.41. Lemma. Each M_{τ}, τ ⊂ σ, is c.e..

Proof. By Lemmas 4.2.15, 4.2.22, and 4.2.24, it is enough to show that, for each τ^{⌢}0 ⊆ σ such that lim_{s} r_{τ,s} exists, M_{τ} is c.e..

Fix such a τ. Since lim_{s} r_{τ,s} exists, T_{τ,s} comes to a limit T. By Lemma 4.2.21, the components of M_{τ} are exactly those that contain a copy of T. Since T is finite, we can effectively enumerate such components.

4.2.42. Lemma. There exists a computable isomorphism f_{3} ⊃ b from P_{H_{3}} to the graph obtained by restricting the domain of G_{n} to |B| ∪ |M|.

Proof. Let τ ⊂ σ. By Lemma 4.2.40, P_{H_{3}^{τ}} is c.e.. By Lemma 4.2.41, so is M_{τ}. Thus there exists a computable 1–1 and onto map d_{τ} from the tops of components of P_{H_{3}^{τ}} to the tops of components of M_{τ} such that if x is the top of a level-i component of P_{H_{3}^{τ}}, i ∈ ℤ, then d_{τ}(x) is the top of a level-(i − r) component of M_{τ}. By Lemma 4.2.26, d_{τ} can be extended to a computable isomorphism f_{3}^{τ} from P_{H_{3}^{τ}} to M_{τ}. Now define f_{3} = b ∪ ⋃_{τ⊂σ} f_{3}^{τ}.

4.2.43. Lemma. Let H_{4} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 1 or 10⟨⌜τ⌝, k⟩ + l, τ^{⌢}0 ⊆ σ, j, k ∈ ω, l ∈ {2, 3, 4, 5}, that are not in H_{3}. Then there is a unique embedding f_{4} ⊃ b of P_{H_{4}} into G_{n}, and f_{4} is computable.

Proof. Let m ∈ H_{4} be of the form 10⟨⌜τ⌝, k⟩ + 3, let i ∈ ℤ, and let p = (m, i). Let init(τ) = lim_{s} init(τ, s).

If k < init(τ) then let s be the least stage by which τ has been initialized k + 1 many times. Arguing as in the proof of Lemma 4.2.37, we see that (p) does not participate in an operation after stage s. In this case, let h(m) = s.

If k > init(τ) then (p) never participates in an operation. In this case, let h(m) = 0.

If k = init(τ) then it must be the case that r_{τ,s} has no limit, since otherwise (p) would be infinite. Thus T_{τ,s} has no limit, which means that we can find a stage s such that (p)_{s} does not contain a copy of T_{τ,s}. It is not hard to check that (p) does not participate in an operation after stage s. In this case, let h(m) = s.

Now let m ∈ H_{4} be of the form 10⟨⌜τ⌝, k, j⟩ + 1 or 10⟨⌜τ⌝, k⟩ + l, l ∈ {2, 4, 5}, let i ∈ ℤ, and let p = (m, i). Let 2s + 2 be the least phase-2 τ-recovery stage such that c(τ, 2s + 1) > k, (p) does not participate in an operation at stage 2s + 2, and (p)_{2s+1} does not contain a copy of T_{τ,2s+1}. Such a stage must exist, since otherwise (p) would be infinite. It is not hard to check that (p) does not participate in an operation after stage s. In this case, let h(m) = s.

Now the hypotheses of Lemma 4.2.34 are satisfied. 4.2.44. Lemma. Let H_{5} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 8 or 10⟨⌜τ⌝, k⟩ + l, τ ⊆ σ, j, k ∈ ω, l ∈ {0, 6, 7}. Then there is a unique embedding f_{5} ⊃ b of P_{H_{5}} into G_{n}, and f_{5} is computable. Proof. Let m ∈ H_{5} be of the form 10⟨⌜τ⌝, k, j⟩ + 8 or 10⟨⌜τ⌝, k⟩ + l. Let i ∈ ℤ. If m ∈ N_{0} then let p = (m, i); otherwise, let p = m. If R_{|τ|} is never satisfied then (p) never participates in an operation. In this case, let h(m) = 0. If R_{|τ|} is satisfied at stage s then (p) never participates in an operation after stage s. In this case, let h(m) = s. Since there are only finitely many τ ⊆ σ, h is computable, and hence the hypotheses of Lemma 4.2.34 are satisfied.

Let H′_{6} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 1 or 10⟨⌜τ⌝, k⟩ + l, τ = σ or σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {2, 3, 4, 5}. Let H′′_{6} consist of all numbers of the form 10⟨⌜τ⌝, k, j⟩ + 8 or 10⟨⌜τ⌝, k⟩ + l, σ^{⌢}0 ⊆ τ, j, k ∈ ω, l ∈ {0, 6, 7}. Let H_{6} = H′_{6} ∪ H′′_{6}. 4.2.45. Lemma. Let τ be such that τ = σ or σ^{⌢}0 ⊆ τ. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = r. Let 2s + 1 > u be a phase-1 τ-recovery stage and let 2t + 2 be the next phase-2 σ-recovery stage after stage 2s + 1. Let i ∈ ℤ be such that |i − r| ⩽ recov(σ, 2s + 1). Let K_{0}, …, K_{m} be the components of (A_{2s}^{i})_{τ} that participate in an operation at stage 2s + 1. Let K′_{0}, …, K′_{m} be the components of A_{2t+1} that extend K_{0}, …, K_{m}, respectively. Then the following hold.

1. There exist components K̂_{0}, …, K̂_{m} of G_{n}^{i−r}[2s] such that K̂_{0} ≅ K_{0}, …, K̂_{m} ≅ K_{m}.

2. Let K̂′_{0}, …, K̂′_{m} be the components of G_{n}[2t + 1] that extend K̂_{0}, …, K̂_{m}, respectively. Then K̂′_{0} ≅ K′_{0}, …, K̂′_{m} ≅ K′_{m}.

Proof. Since 2s + 1 is a τ-recovery stage, it is also a σ-recovery stage, so the first part of the lemma follows from the definition of phase-1 σ-recovery stage; we prove the second part.

Let j ⩽ m. Since no component of (A)_{τ} participates in an operation in the interval (2s+1, 2t+2), the definition of the catch-up operation performed at stage 2s+1 guarantees that K′_{j} is the unique component of A_{2t+1}^{i} that contains a copy of K_{j}. This means that K̂′_{j} is the unique component of G^{i−r}[2t + 1] that contains a copy of K̂_{j}. Since, by the definition of phase-2 σ-recovery stage, there must exist a component of G^{i−r}[2t + 1] isomorphic to K′_{j}, it must be the case that K̂′_{j} ≅ K′_{j}.

4.2.46. Lemma. Let τ be such that τ = σ or σ^{⌢}0 ⊆ τ. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = r. Let 2s + 2 > u be a phase-2 τ-recovery stage and let 2t + 1 be the next phase-1 σ-recovery stage after stage 2s + 2. Let \overline{A}_{2t} be the union of (A_{2t}^{∗})^{recov(σ,2s+1),r} (see Definition 4.2.1) and A_{2t}^{i} for each i ∈ ℤ such that |i − r| ⩽ recov(σ, 2s + 1). Let \overline{G}_{n}[2t] be the union of (G_{n}^{∗}[2t])^{recov(σ,2s+1)} and G_{n}^{i}[2t] for each i ∈ ℤ such that |i| ⩽ recov(σ, 2s + 1).

Let i ∈ ℤ be such that |i − r| ⩽ recov(σ, 2s + 1). Let e be such that R_{e} is satisfied at stage 2s + 2 and let m = π_{1}(e). Let Y_{0}, …, Y_{m−1}, X, Z, B, S, C, D, E, and F_{0}, …, F_{m−1} be Y_{τ,0,2s+1}^{i}, …, Y_{τ,m,2s+1}^{i}, X_{2s+1}, Z_{τ,2s+1}^{i}, B_{τ,2s+1}^{i}, S_{τ,2s+1}^{i}, C_{τ,2s+1}^{i}, D_{2s+1}^{i}, E_{2s+1}^{i}, and F_{0,2s+1}^{i}, …, F_{m,2s+1}^{i}, respectively. Let Y′_{0}, …, Y′_{m−1}, X′, Z′, B′, S′, C′, D′, E′, and F′_{0}, …, F′_{m−1} be the intersection of the components of A_{2t} that extend Y_{0}, …, Y_{m−1}, X, Z, B, S, C, D, E, and F_{0}, …, F_{m−1}, respectively, with \overline{A}_{2t}. Then the following hold.

1. There exists a component X̂ of G_{n}^{i−r}[2s + 1] such that X̂ ≅ X. There exist components Ŷ_{0}, …, Ŷ_{m−1}, Ẑ, B̂, Ŝ, Ĉ, D̂, Ê, and F̂_{0}, …, F̂_{m−1} of G_{n}^{i−r}[2s+1] such that Ŷ_{0} ≅ Y_{0}, …, Ŷ_{m−1} ≅ Y_{m−1}, Ẑ ≅ Z, B̂ ≅ B, Ŝ ≅ S, Ĉ ≅ C, D̂ ≅ D, Ê ≅ E, and F̂_{0} ≅ F_{0}, …, F̂_{m−1} ≅ F_{m−1}.

2. Let Ŷ′_{0}, …, Ŷ′_{m−1}, X̂′, Ẑ′, B̂′, Ŝ′, Ĉ′, D̂′, Ê′, and F̂′_{0}, …, F̂′_{m−1} be the intersection of the components of G_{n}[2t] that extend Ŷ_{0}, …, Ŷ_{m−1}, X̂, Ẑ, B̂, Ŝ, Ĉ, D̂, Ê, and F̂_{0}, …, F̂_{m−1}, respectively, with \overline{G}_{n}[2t]. Then Ŷ′_{0} ≅ Y′_{0}, …, Ŷ′_{m−1} ≅ Y′_{m−1}, X̂′ ≅ X′, Ẑ′ ≅ Z′, B̂′ ≅ B′, Ŝ′ ≅ S′, Ĉ′ ≅ C′, D̂′ ≅ D′, Ê′ ≅ E′, and F̂′_{0} ≅ F′_{0}, …, F̂′_{m−1} ≅ F′_{m−1}.

Proof. Since 2s + 2 is a τ-recovery stage, if τ ≠ σ then σ must have fully recovered at least |τ| + 1 many times by stage 2s + 1, so the first part of the lemma follows from the definition of phase-2 recovery stage; we prove the second part. There are several cases.

We begin with the τ = σ and i = r case. Since i = r_{σ,2s+2}, the row of level-i components corresponding to σ in the operation performed at stage 2s + 2 goes to the left. That is, Z′ is a copy of Z · B, B′ is a copy of B · S, S′ is a copy of S · C, C′ is a copy of C ⊙ (Y_{0}, …, Y_{m−1}), each Y_{j}, j < m, contains a copy of Y_{j} · X, and X contains a copy of X · Z.

By definition, Ŝ and Ŝ′ are the σ-special components of G_{n}[2s + 1] and G_{n}[2t], respectively. Thus, since r_{σ,2t+1} = r_{σ,2t} = r and 2t+1 is a σ-recovery stage, Ŝ′ ≅ S′.

All the components of A_{2t} that contain a copy of C are isomorphic to either S′ or C′. Since Ŝ′ ≅ S′, it must be the case that Ĉ′ ≅ C′.

Let j < m. All the components of A_{2t} that contain a copy of Y_{j} are isomorphic to either C′ or Y′_{j}. Since Ĉ′ ≅ C′, it must be the case that Ŷ′_{j} ≅ Y′_{j}.

The only components of A_{2t} that contain a copy of X are Y′_{0}, …, Y′_{m−1} and X′. Since, for each j < m, Ŷ′_{j} ≅ Y′_{j}, it must be the case that X̂′ ≅ X′.

The only components of A_{2t} that contain a copy of Z are X′ and components isomorphic to Z′. Since X̂′ ≅ X′, it must be the case that Ẑ′ ≅ Z′.

All the components of A_{2t} that contain a copy of B are isomorphic to either Z′ or B′. Since Ẑ′ ≅ Z′, it must be the case that B̂′ ≅ B′.

We now deal with the i ≡ r_{τ,2s+2} mod m + 1 case. As in the first case, the row of level-i components corresponding to τ in the operation performed at stage 2s + 2 goes to the left.

The previous case shows that X̂′ ≅ X′. The only components of A_{2t} that contain a copy of Z are X′ and components

isomorphic to Z′. Since X̂′ ≅ X′, it must be the case that Ẑ′ ≅ Z′.

All the components of A_{2t} that contain a copy of B are isomorphic to either Z′ or B′. Since Ẑ′ ≅ Z′, it must be the case that B̂′ ≅ B′.

All the components of A_{2t} that contain a copy of S are isomorphic to either B′ or S′. Since B̂′ ≅ B′, it must be the case that Ŝ′ ≅ S′.

All the components of A_{2t} that contain a copy of C are isomorphic to either S′ or C′. Since Ŝ′ ≅ S′, it must be the case that Ĉ′ ≅ C′.

Let j < m. All the components of A_{2t} that contain a copy of Y_{j} are isomorphic to either C′ or Y′_{j}. Since Ĉ′ ≅ C′, it must be the case that Ŷ′_{j} ≅ Y′_{j}.

We now deal with the i ≢ r_{τ,2s+2} mod m + 1 case. Let l < m be such that i ≡ l+r_{τ,2s+2}+1 mod m+1. In this case, the row of level-i components corresponding to σ in the operation performed at stage 2s + 2 goes to the right. That is, B′ is a copy of B · Z, S′ is a copy of S · B, C′ is a copy of C · S, Y′_{l} is a copy of Y′_{l} ⊙ (C, Y_{0}, …, Y_{l−1}, Y_{l+1}, …, Y_{m−1}), each Y′_{j}, j < m, j ≠ l, contains a copy of Y_{j} · X, X′ contains a copy of X · Y_{l}, and Z′ contains a copy of Z · X.

As before, the first case shows that X̂′ ≅ X′.

The only components of A_{2t} that contain a copy of Y_{l} are X′ and components isomorphic to Y′_{l}. Since X̂′ ≅ X′, it must be the case that Ŷ′_{l} ≅ Y′_{l}.

Let j < m, j ≠ l. All the components of A_{2t} that contain a copy of Y_{j} are isomorphic to either Y′_{l} or Y′_{j}. Since Ŷ′_{l} ≅ Y′_{l}, it must be the case that Ŷ′_{j} ≅ Y′_{j}.

All the components of A_{2t} that contain a copy of C are isomorphic to either Y′_{l} or C′. Since Ŷ′_{l} ≅ Y′_{l}, it must be the case that Ĉ′ ≅ C′.

All the components of A_{2t} that contain a copy of S are isomorphic to either C′ or S′. Since Ĉ′ ≅ C′, it must be the case that Ŝ′ ≅ S′.

All the components of A_{2t} that contain a copy of B are isomorphic to either S′ or B′. Since Ŝ′ ≅ S′, it must be the case that B̂′ ≅ B′.

All the components of A_{2t} that contain a copy of Z are isomorphic to either B′ or Z′. Since B̂′ ≅ B′, it must be the case that Ẑ′ ≅ Z′.

Finally, we deal with the case of D, E, and F_{0}, …, F_{m−1}. First suppose that i ≡ 0 mod m+1. In this case, the row of components containing E in the operation performed at stage 2s + 2 goes to the left. That is, D′ is a copy of D · E, E′ is a copy of E ⊙ (F_{0}, …, F_{m−1}), each F′_{j}, j < m, contains a copy of F_{j} · X, and X′ contains a copy of X · D.

As before, the first case shows that X̂′ ≅ X′.

The only components of A_{2t} that contain a copy of D are X′ and components isomorphic to D′. Since X̂′ ≅ X′, it must be the case that D̂′ ≅ D′.

All the components of A_{2t} that contain a copy of E are isomorphic to either D′ or E′. Since D̂′ ≅ D′, it must be the case that Ê′ ≅ E′.

Let j < m. All the components of A_{2t} that contain a copy of F_{j} are isomorphic to either E′ or F′_{j}. Since Ê′ ≅ E′, it must be the case that F̂′_{j} ≅ F′_{j}.

Now suppose that i ≢ 0 mod m+1. Let l < m be such that i ≡ l +1 mod m+1. In this case, the row of components containing E in the operation performed at stage 2s + 2 goes to the right. That is, E′ is a copy of E · D, F′_{l} is a copy of F′_{l} ⊙ (E, F_{0}, …, F_{l−1}, F_{l+1}, …, Y_{m−1}), each F′_{j}, j < m, j ≠ l, contains a copy of F_{j} · X, X′ contains a copy of X · F_{l}, and D′ contains a copy of D · X.

As before, the first case shows that X̂′ ≅ X′.

The only components of A_{2t} that contain a copy of F_{l} are X′ and components isomorphic to F′_{l}. Since X̂′ ≅ X′, it must be the case that F̂′_{l} ≅ F′_{l}.

Let j < m, j ≠ l. All the components of A_{2t} that contain a copy of F_{j} are isomorphic to either F′_{l} or F′_{j}. Since F̂′_{l} ≅ F′_{l}, it must be the case that F̂′_{j} ≅ F′_{j}.

All the components of A_{2t} that contain a copy of E are isomorphic to either F′_{l} or E′. Since F̂′_{l} ≅ F′_{l}, it must be the case that Ê′ ≅ E′.

All the components of A_{2t} that contain a copy of D are isomorphic to either E′ and D′. Since Ê′ ≅ E′, it must be the case that D̂′ ≅ D′.

The following lemma can be easily checked. 4.2.47. Lemma. Let p ∈ H̃_{6}. If (p)_{2s+1} participates in an operation at stage 2s+2 then it is one of Y_{τ,m,2s+1}^{i} X_{2s+1}, Z_{τ,2s+1}^{i}, B_{τ,2s+1}^{i}, S_{τ,2s+1}^{i}, C_{τ,2s+1}^{i}, D_{2s+1}^{i}, E_{2s+1}^{i}, or F_{m,2s+1}^{i}, τ = σ or σ^{⌢}0 ⊆ τ, m ∈ ω, i ∈ ℤ, and σ is active at stage 2s + 2. 4.2.48. Lemma. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = r. Let s + 1 > u be a σ-recovery stage and let t + 1 be the next σ-recovery stage after stage s + 1. Let p ∈ H̃_{6}. Suppose there exists a component L of G_{n}[s] that is (−r)-isomorphic to (p)_{s}. Then the component L′ of G_{n}[t] that extends L is isomorphic to (p)_{t}. Proof. If (p) does not participate in an operation in the interval (s, t] then (p)_{t} ≅ (p)_{s}. Since L′ ⊇ L, (p)_{t} is not properly embeddable in any component of A_{t}, and, by convention, G_{n}[t] is embeddable in A_{t}, this means that L′ ≅ (p)_{t}.

Otherwise, the lemma follows from Lemmas 4.2.45, 4.2.46, and 4.2.47. 4.2.49. Lemma. Let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = r. Let x ∈ P_{H_{6}}. There exists a σ-recovery stage s + 1 > u such that x is contained in (p)_{s} for some p ∈ H̃_{6} and there exists a (−r)-isomorphic component L of G_{n}[s]. For any such s, if we let d be the unique isomorphism from (p)_{s} to L and let L′ be the component of G_{n} that extends L then d can be extended to an isomorphism from (p) to L′. Proof. If x is contained in a finite component of A then the existence of s and L follows from the fact that G_{n} ≅ A. Otherwise, there is a σ-recovery stage s + 1 > u such that x is contained in (p)_{s}, p ∈ H̃_{6}, and (p)_{s} is involved in an operation at stage s+1. Now it follows from Lemmas 4.2.45, and 4.2.46 that there is a component L of G_{n}[s] isomorphic to (p)_{s}.

Let s + 1 = s_{0} + 1 < s_{1} + 1 < ⋯ be the σ-recovery stages greater than or equal to s + 1. Let L_{i} be the component of G_{n}[s_{i}] that extends L and let L′ be the component of G_{n} that extends L. Using Lemma 4.2.48 and induction, we see that, for each i ⩾ 0, there is a unique isomorphism g_{i} : (p)_{s_{i}} ≅ L_{i}. Note that g_{0} = g. Clearly, if j > i then g_{j} extends g_{i}. Thus the limit g′ of the g_{i} is well-defined and is an isomorphism from (p) to L′.

Let T be the graph obtained by restricting the domain of G_{n} to the union of |B| with the domain of the set of all components of G_{n} that contain a copy of [m] for some m ∈ H_{6}.

4.2.50. Lemma. There exists a computable isomorphism f_{6} ⊃ b from P_{H_{6}} to T.

Proof. We begin by defining f_{6} ↾ B ≡ b. Now let u be a stage after which σ is never initialized and such that, for all s ⩾ u, r_{σ,s} = r. Given x ∈ P_{H_{6}}, find the least σ-recovery stage s + 1 > u such that x is contained in a component (p)_{s}, p ∈ H̃_{6}, of A_{s} and there exists a component L of G_{n}[s] that is (−r)-isomorphic to (p)_{s}. Such a stage exists by Lemma 4.2.49. Let d_{x} be the unique isomorphism from (p)_{s} to L and define f_{6}(x) = d_{x}(x).

We need to show that f_{6} is computable, that it is an embedding, and that its range is all of T.

Since d_{x} can be computably determined given x ∈ P_{H_{6}}, f_{6} is computable.

By Lemma 4.2.49, all we need to do to show that f_{6} is an embedding is to show that if x and y are both contained in a component (p), p ∈ H̃_{6}, then f_{6}(x) and f_{6}(y) are contained in the same component of G_{n}. But this follows from Lemma 4.2.48, which implies, by induction, that if the least σ-recovery stage s + 1 > u such that x is contained in (p)_{s} is greater than or equal to the least σ-recovery stage t + 1 > u such that y is contained in (p)_{t} then d_{x} extends d_{y}.

Finally, notice that, for any s ∈ ω, if K is a component of A_{s} that contains a copy of [m] for some m ∈ H_{6} then K is (p)_{s} for some p ∈ H̃_{6}.

Let L be a component of T. If L is a singleton component then the fact that G_{n} ≅ A implies that, for some σ-recovery stage s + 1 > u, there is a component K of A_{s} that is r-isomorphic to L. Since K is (p)_{s} for some p ∈ H̃_{6}, L is in the range of f_{6}.

If L is not a singleton component then it is in (G_{n})_{τ} or (G_{n}^{∗})_{τ} for some τ such that τ = σ or σ^{⌢}0 ⊆ τ. Let x ∈ L and let t > u be a stage such that x is contained in a component of G_{n}[s] that contains a copy of [m] for some m ∈ H_{6}. By the definition of σ-recovery stage, there is some σ-recovery stage s + 1 ⩾ t and components L′ and K of G_{n}[s] and A_{s}, respectively, such that x ∈ L′ and K is r-isomorphic to L′. Since K is (p)_{s} for some p ∈ H̃_{6}, x is in the range of f_{6}. Thus L is in the range of f_{6}.

Now H_{0}, …, H_{6} are computable subsets of ω^{−} such that ⋃_{i=0}^{6} H_{i} = ω^{−}. It is not hard to check that, for i ≠ j ⩽ 6, if K and L are components of P_{H_{i}} and P_{H_{j}}, respectively, and f_{i}(K) = f_{j}(L), then K and L are components of A^{∗}, from which it follows that K = L. Furthermore, the uniqueness of f_{0}, f_{1}, f_{2}, f_{4}, and f_{5}, together with the surjectivity of f_{3} and f_{6}, imply that ⋃_{i=0}^{m} rng(f_{i}) = |G_{n}|. So, combining Lemmas 4.2.35, 4.2.36, 4.2.38, 4.2.42, 4.2.43, 4.2.44, and 4.2.50 with Lemma 4.2.32, we have the following result.

4.2.51. Lemma. There exists a computable isomorphism from ⟨A, a_{r}⟩ to ⟨G_{n}, g⟩.

Theorem 4.1.3 follows from Lemmas 4.2.10, 4.2.27, and 4.2.51. ■

Relations on Algebraic Structures

I: Positive Results

5.1 Introduction

Whenever a computable structure with a particularly interesting property is found, it is natural to ask whether similar examples can be found within well-known classes of algebraic structures, such as groups, rings, lattices, and so forth. As an example, let us consider the computable dimension of computable structures.

It is easy to construct computable structures with computable dimension 1 or ω. Indeed, most familiar structures and even all members of many classes of familiar structures have computable dimension 1 or ω. Nurtazin [31], for example, showed that all decidable structures fall into this category. Goncharov [8] later extended this result to 1-decidable structures, and there have been several other familiar classes of structures for which similar results have been established.

5.1.1. Theorem. All structures in each of the following classes have computable dimension 1 or ω.

• (Nurtazin; Metakides and Nerode) algebraically closed fields

• (Nurtazin) real closed fields

• (Goncharov) Abelian groups

• (Goncharov and Dzgoev; Remmel) linear orderings

• (Goncharov; LaRoche) Boolean algebras

• (Goncharov) Δ_{2}^{0}-categorical structures

The result for algebraically closed and real closed fields is implied by the results in [31]; the result for algebraically closed fields was also independently proved in [29]. The result for Abelian groups appears in [12], that for linear orderings independently in [15] and [33], and that for Δ_{2}^{0}-categorical structures in [13]. The result for Boolean algebras appears in full in [14], though it is implicit in earlier work of Goncharov and, independently, in [27].

Thus, an important question early in the development of computable model theory was whether there exist computable structures of finite computable dimension greater than 1. This question was answered positively by Goncharov [11].

5.1.2. Theorem (Goncharov). For each n > 0 there is a computable structure with computable dimension n.

Further investigation led to examples of computable structures with finite computable dimension greater than 1 in several classes of algebraic structures. In each case, the proof consists of coding families of c.e. sets with a finite number of computable enumerations (up to a suitable notion of computable equivalence of enumerations) in a sufficiently effective way.

5.1.3. Theorem. For each n > 0 there are structures with computable dimension n in each of the following classes.

• (Goncharov) graphs, partial orderings, and lattices

• (Goncharov, Molokov, and Romanovskii) 2-step nilpotent groups

• (Kudinov) integral domains

The results for partial orderings and (implicitly) graphs appear in [11], and the result for lattices is an easy consequence of the results in that paper. The result for 2-step nilpotent groups (which improves a result in [12]) appears in [17], and that for integral domains in [26].

In the original proofs of Theorems 3.1.2 and 4.1.2, the structures in question were directed graphs, and the relation mentioned in Theorem 3.1.2 was unary. The same holds of the results of Chapters 3 and 4. It is natural to ask, in the spirit of what was done for structures of finite computable dimension, for which theories these theorems remain true if we also require that A be a model of the given theory.

In this chapter, we present a method for showing that Theorems 3.1.2 and 4.1.2, as well as related results, including the results of Chapters 3 and 4, remain true if we also require that A be a model of a given theory, and apply it to the cases of symmetric, irreflexive graphs; integral domains of arbitrary characteristic; and commutative semigroups. These results also appear in [22], where the following cases are also dealt with: partial orderings, lattices, rings (with zero-divisors) of arbitrary characteristic, and 2-step nilpotent groups.

Our method is based on coding computable graphs with the desired properties into models of the given theory in a way that is effective enough to preserve these properties. This approach is much simpler than attempting to adapt the original proofs of the theorems under consideration. Furthermore, our codings are sufficiently effective to make other similar results that might be proved for graphs in the future carry over to the classes of structures mentioned above without additional work.

Notice that, by Theorem 5.1.1, most of the results mentioned above cannot be extended from partial orderings to linear orderings, from lattices to Boolean algebras, or from commutative semigroups and 2-step nilpotent groups to Abelian groups. We will say more about this in Chapter 6. A natural open question is what is the situation for fields. It is not even known whether there exist fields of finite computable dimension greater than 1.

5.2 A Sufficient Condition

In this section, we give a sufficient condition for a coding of a graph into a structure to be effective enough for our purposes. This condition is not the most general one we could give, but it is sufficient for our needs. It corresponds to an especially effective version of interpretations of theories (in the standard model-theoretic sense). (See, e.g., chapter 5 of [23] for more on interpretations of theories.)

If Q is an equivalence relation on a set D then by a set of Q-representatives we mean a set of elements of D containing exactly one member of each Q-equivalence class. 5.2.1. Theorem. Let G be a computably presentable directed graph and let A be a computably presentable structure. Suppose there exist intrinsically computable, invariant relations D(x), Q(x, y), and R(x, y) on |A| and a map G ↦ A_{G} from the set of computable presentations of G to the set of computable presentations of A with the following properties. (P1) For each computable presentation G of G, there is a computable map g_{G} :

D(A_{G}) ⟶^{onto} |G| such that, for x, y ∈ D(A_{G}), R^{A_{G}}(x, y) ⇔ E^{G}(g_{G}(x), g_{G}(y))

and Q^{A_{G}}(x, y) ⇔ g_{G}(x) = g_{G}(y). (Note that this implies that Q is an equivalence relation and that if Q(x, x′) and Q(y, y′) then R(x, y) ⇔ R(x′, y′).)

(P2) For every pair S, S′ of sets of Q-representatives, if f : S ⟶_{onto}^{1–1} S′ is such that for every x, y ∈ S, R(x, y) ⇔ R(f(x), f(y)), then f can be extended to an automorphism of A.

(P3) If G is a computable presentation of G and S is a computable set of Q^{A_{G}}-rep-resentatives then there is a computable set of existential formulas {φ_{0}(a⃗, b⃗_{0}, x), φ_{1}(a⃗, b⃗_{1}, x), … } such that a⃗ is a tuple of elements of |A_{G}|, for each i ∈ ω, b⃗_{i} is a tuple of elements of S, each x ∈ |A_{G}| satisfies some φ_{i}, and no two elements of |A_{G}| satisfy the same φ_{i}. (Such a set of formulas is known as a defining family for ⟨A_{G}, a⟩_{a∈S}.)

Then the following hold.

1. A has the same computable dimension as G.

2. If x ∈ |G| then there exists an a ∈ D(A) such that ⟨A, a⟩ has the same computable dimension as ⟨G, x⟩.

3. If V ⊆ |G| then there exists a U ⊆ D(A) such that DgSp_{A}(U) = DgSp_{G}(V).

Proof. We begin with two remarks. First, if G is a computable presentation of G and S is a set of Q^{A_{G}}-representatives then g_{G} ↾ S is one-to-one. Second, if S and S′ are sets of Q-representatives and f : S ⟶_{onto}^{1–1} S′ is such that, for every x ∈ S, Q(x, f(x)), then (P1) implies that, for every x, y ∈ S, R(x, y) ⇔ R(f(x), f(y)), so that, by (P2), f can be extended to an automorphism of A.

We now need a few lemmas. 5.2.2. Lemma. Let A and G be computable presentations of A and G, respectively, let S be a computable set of Q^{A}-representatives, and let f : A ≅ A_{G}. If f ↾ S is computable then so is f.

Proof. It is enough to show that f^{−1} is computable. Given x ∈ |A_{G}|, find an i ∈ ω such that A_{G} ⊨ φ_{i}(a⃗, b⃗_{i}, x), where φ_{i}(a⃗, b⃗_{i}, x) is as in (P3). By definition, x is the only element of |A_{G}| that satisfies φ_{i}. Thus, there exists a unique y ∈ |A| such that A ⊨ φ_{i}(f^{−1}(a⃗), f^{−1}(b⃗_{i}), y), and f^{−1}(x) = y.

5.2.3. Lemma. Let A and G be computable presentations of A and G, respectively. Let S be a computable set of Q^{A}-representatives and let S′ be a computable set of Q^{A_{G}}-representatives. Suppose that there exists a (computable) map f : S ⟶_{onto}^{1–1} S′ such that, for each x, y ∈ S, R^{A}(x, y) ⇔ R^{A_{G}}(f(x), f(y)). Then f can be extended to a (computable) isomorphism f̂: A ≅ A_{G}.

Proof. Since A and A_{G} are both computable presentations of A, there exists an isomorphism h : A ≅ A_{G}. By our second remark above, h can be chosen so that h(S) = S′. Let d ≡ h ↾ S. Then c ≡ f ∘ d^{−1} is a one-to-one map from S′ onto itself such that, for each x, y ∈ S, R^{A_{G}}(x, y) ⇔ R^{A_{G}}(c(x), c(y)). So, by (P2), c can be extended to ĉ : A_{G} ≅ A_{G}. Now let f̂ ≡ ĉ ∘ h. Then f̂ : A ≅ A_{G} and f̂ ↾ S ≡ f ∘ d^{−1} ∘ d ≡ f. If f is computable then Lemma 5.2.2 implies that f̂ is computable.

We now need a few definitions. Let A be a computable presentation of A. Let D̂(A) = {x ∈ D(A) | y < x ⇒ ¬Q^{A}(x, y)}, where < is the usual ordering on ω. Note that D̂(A) is a computable set of Q^{A}-representatives. Define G_{A} to be the computable graph whose universe is D̂(A), with an edge between x and y if and only if R^{A}(x, y). For any computable presentation G of G, let d_{G} = g_{G} ↾ D̂(A_{G}). Note that, by our first remark above, d_{G} is one-to-one and hence invertible. 5.2.4. Lemma. If G and G′ are computable presentations of G and h : G ≅ G′ is a (computable) isomorphism then there exists a (computable) isomorphism f̂: A_{G} ≅ A_{G′} such that f̂ ↾ D̂(A_{G}) ≡ d_{G′}^{−1} ∘ h ∘ d_{G}.

Proof. Let f : D̂(A_{G}) ⟶_{onto}^{1–1} D̂(A_{G′}) be defined by f ≡ d_{G′}^{−1}∘h∘d_{G}. If h is computable then so is f. Furthermore, for each x, y ∈ D̂(A_{G}), R^{A_{G}}(x, y) ⇔ E^{G}(d_{G}(x), d_{G}(y)) ⇔ E^{G′}(h ∘ d_{G}(x), h ∘ d_{G}(y)) ⇔ R^{A_{G′}}(f(x), f(y)). So, by Lemma 5.2.3, there exists an isomorphism f̂: A_{G} ≅ A_{G′} extending f and if h is computable then so is f̂.

5.2.5. Lemma. If A and A′ are computable presentations of A and f : A ≅ A′ is a (computable) isomorphism then there exists a map h : f(D̂(A)) ⟶_{onto}^{1–1} D̂(A′) such that h ∘ (f ↾ D̂(A)) is a (computable) isomorphism from G_{A} to G_{A′}.

Proof. For x ∈ f(D̂(A)), let h(x) be the unique y ∈ D̂(A′) such that Q^{A′}(x, y). Then E^{G_{A}}(x, y) ⇔ R^{A}(x, y) ⇔ R^{A′}(f(x), f(y)) ⇔ R^{A′}(h∘f(x), h∘f(y)) ⇔ E^{G_{A′}}(h∘ f(x), h∘f(y)). Thus h∘(f ↾ D̂(A)) is an isomorphism from G_{A} to G_{A′}. Furthermore, if f is computable then clearly so is h ∘ (f ↾ D̂(A)).

5.2.6. Lemma. If G is a computable presentation of G then d_{G} is a computable isomorphism from G_{A_{G}} to G.

Proof. If x, y ∈ |G_{A_{G}}| then E^{G_{A_{G}}}(x, y) ⇔ R^{A_{G}}(x, y) ⇔ E^{G}(d_{G}(x), d_{G}(y)). Thus d_{G} is a computable isomorphism from G_{A_{G}} to G.

5.2.7. Lemma. If A is a computable presentation of A then there exists a computable isomorphism f : A ≅ A_{G_{A}} such that f ↾ D̂(A) ≡ d_{G_{A}}^{−1}.

Proof. The map d_{G_{A}}^{−1} is computable. Furthermore, for each x, y ∈ D(A), R^{A}(x, y) ⇔ E^{G_{A}}(x, y) ⇔ R^{A_{G_{A}}}(d_{G_{A}}^{−1}(x), d_{G_{A}}^{−1}(y)). So, by Lemma 5.2.3, d_{G_{A}}^{−1} can be extended to a computable isomorphism from A to A_{G_{A}}.

We are now ready to show that 1–3 in the statement of Theorem 5.2.1 hold.

5.2.8. Proposition. A has the same computable dimension as G.

Proof. Let G and G′ be computable presentations of G that are not computably isomorphic. By Lemma 5.2.6, G_{A_{G}} and G_{A_{G′}} are not computably isomorphic. Thus, by Lemma 5.2.5, A_{G} and A_{G′} are not computably isomorphic. So the computable dimension of A is at least the same as that of G.

Now let A and A′ be computable presentations of A that are not computably isomorphic. By Lemma 5.2.7, A_{G_{A}} and A_{G_{A′}} are not computably isomorphic. Thus, by Lemma 5.2.4, G_{A} and G_{A′} are not computably isomorphic. So the computable dimension of G is at least the same as that of A.

5.2.9. Proposition. Let x ∈ |G|. There exists an a ∈ D(A) such that ⟨A, a⟩ has the same computable dimension as ⟨G, x⟩.

Proof. Let f : G ≅ G be a computable presentation of G, let h : A ≅ A_{G} be an isomorphism, and let a = h^{−1} ∘ d_{G}^{−1} ∘ f(x). By Lemma 5.2.4, for every computable presentation f′ : G ≅ G′ of G there exists an isomorphism k : A ≅ A_{G′} such that a = k^{−1}∘d_{G′}^{−1}∘f′(x). The rest of the proof is similar to the proof of Proposition 5.2.8.

Let ⟨G, x^{G}⟩ and ⟨G′, x^{G′}⟩ be computable presentations of ⟨G, x⟩ that are not computably isomorphic. By Lemma 5.2.6, ⟨G_{A_{G}}, d_{G}^{−1}(x^{G})⟩ and ⟨G_{A_{G′}}, d_{G′}^{−1}(x^{G′})⟩ are not computably isomorphic. Thus, by Lemma 5.2.5, ⟨A_{G}, d_{G}^{−1}(x^{G})⟩ and ⟨A_{G′}, d_{G′}^{−1}(x^{G′})⟩ are not computably isomorphic. So the computable dimension of ⟨A, a⟩ is at least the same as that of ⟨G, x⟩.

Now let ⟨B, a^{B}⟩ and ⟨B′, a^{B′}⟩ be computable presentations of ⟨A, a⟩ that are not computably isomorphic. By Lemma 5.2.3, there exist computable presentations ⟨A, a^{A}⟩ and ⟨A′, a^{A′}⟩ of ⟨A, a⟩ such that ⟨A, a^{A}⟩ is computably isomorphic to ⟨B, a^{B}⟩, ⟨A′, a^{A′}⟩ is computably isomorphic to ⟨B′, a^{B′}⟩, a^{A} ∈ D̂(A), and a^{A′} ∈ D̂(A′). By Lemma 5.2.7, ⟨A_{G_{A}}, d_{G_{A}}^{−1}(a^{A})⟩ and ⟨A_{G_{A′}}, d_{G_{A′}}^{−1}(a^{A′})⟩ are not computably isomorphic. Thus, by Lemma 5.2.4, ⟨G_{A}, a^{A}⟩ and ⟨G_{A′}, a^{A′}⟩ are not computably isomorphic. So the computable dimension of ⟨G, x⟩ is at least the same as that of ⟨A, a⟩.

5.2.10. Proposition. Let V ⊆ |G|. There is a U ⊆ D(A) such that DgSp_{A}(U) = DgSp_{G}(V).

Proof. Let f : G ≅ G be a computable presentation of G, let h : A ≅ A_{G} be an isomorphism, and let U = {x ∈ D | ∃y[Q(x, y) ∧ y ∈ h^{−1} ∘ d_{G}^{−1} ∘ f(V)]}. Notice that this definition guarantees that Q(x, y) ⇒ (U(x) ⇔ U(y)).

By Lemma 5.2.4, for every computable presentation f′ : G ≅ G′ of G there exists an isomorphism k : A ≅ A_{G′} such that U = {x ∈ D | ∃y[Q(x, y) ∧ y ∈ k^{−1} ∘ d_{G′}^{−1} ∘ f′(V)]} = {x ∈ D | ¬∃y[Q(x, y) ∧ y ∈ k^{−1} ∘ d_{G′}^{−1} ∘ f′(|G| − V)]}, which implies that DgSp_{G}(V) ⊆ DgSp_{A}(U).

On the other hand, for every computable presentation k : A ≅ A of A, our second remark at the beginning of the proof of Theorem 5.2.1 implies that there exists an automorphism p : A ≅ A such that p ∘ h^{−1}(D̂(A_{G})) = k^{−1}(D̂(A)). It is not hard to check that m = k ∘ p ∘ h^{−1} ∘ d_{G}^{−1} ∘ f : G ≅ G_{A} is an isomorphism and that V = m^{−1} ∘ k(U ↾ k^{−1}(D̂(A))). This implies that DgSp_{A}(U) ⊆ DgSp_{G}(V).

Theorem 5.2.1 follows from Propositions 5.2.8, 5.2.9, and 5.2.10. ■

5.3 Undirected Graphs

It is usually easier to code symmetric, irreflexive graphs into structures than arbitrary directed graphs. Thus, as a simple but useful example of the application of Theorem 5.2.1, we exhibit a coding of an arbitrary directed graph into a symmetric, irreflexive graph that allows us to restrict our attention to symmetric, irreflexive graphs when applying Theorem 5.2.1.

Let G be a computable infinite directed graph with edge relation E.

Let G′ be a computable presentation of G. The computably presentable symmetric, irreflexive graph H_{G′} = ⟨|H_{G′}| , F ⟩ is defined as follows.

1. |H_{G′}| = {a, a′, b} ∪ {c_{i}, d_{i}, e_{i} | i ∈ |G′|}.

2. F (x, y) holds only in the following cases.

(a) F (a, a′) and F (a′, a).

(b) For all i ∈ |G′|,

i. F (a, c_{i}) and F (c_{i}, a),

ii. F (b, e_{i}) and F (e_{i}, b), iii. F (c_{i}, d_{i}) and F (d_{i}, c_{i}). iv. F (d_{i}, e_{i}) and F (e_{i}, d_{i}).

(c) If E^{G′}(i, j) then F (c_{i}, e_{j}) and F (e_{j}, c_{i}).

As an example, Figure 5.1 shows part of H_{G} in the case in which E(0, 1), E(1, 0), E(1, 2), E(2, 2), ¬E(0, 0), ¬E(0, 2), ¬E(1, 1), ¬E(2, 0), and ¬E(2, 1).

[figure: a; a′; c_{0}; c_{1}; c_{2}; d_{0}; d_{1}; d_{2}; b; e_{0}; e_{1}; e_{2}]

Figure 5.1: Part of the graph H_{G}

Fix a computable presentation of H_{G′} for which the map g_{G′} : c_{i} ↦ i is computable and identify H_{G′} with this presentation.

It is easy to see that, for any computable presentation G′ of G, H_{G} ≅ H_{G′}. Now let a, a′, and b be as in the definition of H_{G} and define

D(x) = {x ∈ |H_{G}| | x ≠ a′ ∧ F (a, x)},
Q(x, y) = {(x, x) | D(x)},

and

R(x, y) = {(x, y) | D(x) ∧ D(y) ∧ ∃d, e(F (b, e) ∧ F (y, d) ∧ F (d, e) ∧ F (x, e))}.

Clearly, D and Q are intrinsically computable relations, and so is R, since, for x, y ∈ D(H_{G}),

∃d, e(F (b, e) ∧ F (y, d) ∧ F (d, e) ∧ F (x, e)) ⇔ ¬∃d, e(F (b, e) ∧ F (y, d) ∧ F (d, e) ∧ ¬F (x, e)).

Furthermore, if G′ is a computable presentation of G then D(H_{G′}) = dom(g_{G′}), Q^{H_{G′}}(x, y) ⇔ g_{G′}(x) = g_{G′}(y), and R^{H_{G′}}(x, y) ⇔ E^{G′}(g_{G′}(x), g_{G′}(y)).

To see that D, Q, and R are invariant, it is enough to notice that a is the only element of H_{G} that satisfies the formula

∃^{∞}y(F (x, y)) ∧ ∃z(F (x, z) ∧ ∀w(F (w, z) → w = x)),

a′ is the only element of H_{G} that satisfies

F (x, a) ∧ ∀y(F (x, y) → y = a)

and x = b is the only element of H_{G} that satisfies

∃^{∞}y(F (x, y)) ∧ ¬F (a, x) ∧ ¬∃z(F (a, z) ∧ F (x, z)).

The only set of Q-representatives is D(H_{G}) itself. If f : D(H_{G}) ⟶_{onto}^{1–1} D(H_{G}) is such that R(x, y) ⇔ R(f(x), f(y)) then we can extend f as follows. Let a, a′, b, d_{i}, and e_{i} be as in the definition of H_{G}. Let f(a) = a, f(a′) = a′, f(b) = b, f(d_{i}) = d_{g_{G}∘f(i)}, and f(e_{i}) = e_{g_{G}∘f(i)}. It can be easily checked that this extended map is an automorphism of H_{G}.

Finally, given a computable presentation G′ of G, let a and b be as in the definition of H_{G′} and consider the computable set of formulas

{x = a, x = a′, x = b} ∪ {x = c | c ∈ D(H_{G′})} ∪

{x ≠ a ∧ F (c, x) ∧ ¬F (b, x) | c ∈ D(H_{G′})} ∪ {F (b, x) ∧ ∃d(F (c, d) ∧ F (d, x)) | c ∈ D(H_{G′})}.

Clearly, every x ∈ |H_{G′}| satisfies some formula in this set, with no two elements satisfying the same formula.

It now follows from Theorem 5.2.1 that Theorems 3.1.2 and 4.1.2 and the results of Chapters 3 and 4 remain true if we require that A be a symmetric, irreflexive graph and that U be a subgraph of A.

5.4 Integral Domains and Commutative Semi-

groups

In this section, we present a coding of a graph into an integral domain inspired by Kudinov’s coding [26] of a family of c.e. sets into an integral domain of characteristic 0 and show how this leads to a proof that Theorems 3.1.2 and 4.1.2 and the results of Chapters 3 and 4 remain true if we also require that A be a integral domain of arbitrary characteristic and that U be a subring of A. Because our coding does not make use of the additive structure of the domain, we will simultaneously handle the case of commutative semigroups.

Let p be either 0 or a prime. We adopt the convention that ℤ_{0} = ℤ. If p = 0 then let 𝔽 = ℚ; otherwise, let 𝔽 = ℤ_{p}. Let I be the set of invertible elements of ℤ_{p}. Note that I is finite.

The graphs constructed in Section 5.3 have the following property: For every finite set of nodes S there exist nodes x, y ∉ S that are connected by an edge. Thus, in applying Theorem 5.2.1, we can restrict our attention to graphs with this property.

Let G be a symmetric, irreflexive, infinite computable graph with edge relation E, having the property mentioned in the previous paragraph.

Let G′ be a computable presentation of G. We assume without loss of generality that |G′| = ω. The computably presentable integral domain with unit A_{G′} is defined to be

ℤ_{p} [x_{i} | i ∈ ω] [\frac{y}{x_{i}x_{j}} | E^{G′}(i, j)] [\frac{z}{x_{i}x_{j}} | ¬E^{G′}(i, j)] [\frac{y}{x_{i}^{n}} | i, n ∈ ω] .

Note that, since G is irreflexive, \frac{z}{x_{i}^{2}} is included as a generator for each i ∈ ω.

It is easy to see that A_{G′} is computably presentable. In fact, if we fix a computable presentation P of the ring 𝔽(x_{i} | i ∈ ω)[y, z] then A_{G′} has an obvious presentation induced from that of P. (Just take as the domain of this presentation a computable copy of the set of all elements of P that can be generated from the generators of A_{G′}.) In what follows, we will identify A_{G′} with this presentation. We will also assume that we have chosen P so that the map g_{G′} : ax_{i} ↦ i, a ∈ I, is computable.

It is easy to check that if G′ is a computable presentation of G then A_{G′} ≅ A_{G}. Let y and z be as in the definition of A_{G}. Let

D(x) = {x | x ∉ I ∧ ∃r(x^{2}r = z)},

Q(x, x′) = {(x, ax) | D(x) ∧ a ∈ I},

and

R(x, x′) = {(x, x′) | D(x) ∧ D(x′) ∧ ¬Q(x, x′) ∧ ∃r(rxx′ = y)}.

Since A_{G} is a subring of 𝔽(x_{i} | i ∈ ω)[y, z], it makes sense to talk of the degree in y or z of an element r of A_{G}. We will denote these by deg_{y}(r) and deg_{z}(r), respectively. Let

Gen = \{±1\}∪\{x_{i} | i ∈ ω\}∪\{\frac{y}{x_{i}x_{j}} | E(i, j)\}∪\{\frac{z}{x_{i}x_{j}} | ¬E(i, j)\}∪\{\frac{y}{x_{i}^{n}} | i, n ∈ ω\} .

It will be useful to think of elements of A_{G} as sums of products of elements of Gen. (Of course, such a representation is not unique, but this will not matter for our purposes.)

Whenever we mention another ring B, such as ℤ_{p}[x_{i}, \frac{1}{x_{i}} | i ∈ ω][y, z] or ℤ_{p}[x_{i} | i ∈ ω], for example, we will think of A_{G} as a subring of B or of B as a subring of A_{G}, as appropriate. The relationships between such rings should be clear. For instance, if deg_{y}(r) = deg_{z}(r) = 0 then r can be expressed as a sum of products of the generators x_{i}, i ∈ ω, so that r is in the subring ℤ_{p}[x_{i} | i ∈ ω] of A_{G}. In this case, it makes sense to talk of the degree in x_{i} of r, denoted by deg_{x_{i}}(r), for any i ∈ ω. We will make frequent use of these and similar facts.

Let M = ℤ_{p}[x_{i}, \frac{1}{x_{i}} | i ∈ ω][y, z].

5.4.1. Lemma. The only invertible elements of A_{G} are the elements of I.

Proof. If rs = 1 then deg_{y}(r) = deg_{z}(r) = 0, and hence r ∈ ℤ_{p}[x_{i} | i ∈ ω]. Clearly, the only invertible elements of ℤ_{p}[x_{i} | i ∈ ω] are the invertible elements of ℤ_{p}.

5.4.2. Lemma. Let r, s ∈ A_{G}. Suppose that r^{2}s = z and r ∉ I. Then r = ax_{i} for some i ∈ ω and a ∈ I.

Proof. Clearly, deg_{y}(r) = deg_{z}(r) = 0. Since r ∉ I, it must be the case that r = x_{i}r_{0} + r_{1} for some i ∈ ω, r_{0} ∈ ℤ_{p}[x_{k} | k ∈ ω], r_{0} ≠ 0, and r_{1} ∈ ℤ_{p}[x_{k} | k ≠ i].

Now, deg_{y}(s) = 0 and deg_{z}(s) = 1, so that, working in M, we can write s = \frac{z}{x_{i}^{2}} s_{0} + \frac{z}{x_{i}} s_{1} + s_{2}, where s_{0} ∈ ℤ_{p}[x_{j} | j ≠ i], s_{1} ∈ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i], and s_{2} ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i][z].

Suppose that r_{1} ≠ 0. It is easy to check that

x_{i}^{2}z = x_{i}^{2}r^{2}s = zr_{1}^{2}s_{0} + x_{i}(2zr_{0}r_{1}s_{0} + zr_{1}^{2}s_{1}) + x_{i}^{2}t

for some t ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i][z], and hence that zr_{1}^{2}s_{0} = x_{i}u for some u ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i][z]. Since deg_{x_{i}}(zr_{1}^{2}s_{0}) = 0, it must be the case that s_{0} = 0. Now (zr_{1}^{2}s_{1})x_{i} = x_{i}^{2}(z − t). Since deg_{x_{i}}(zr_{1}^{2}s_{1}) = 0, it follows from this that s_{1} = 0. But then s_{2} ≠ 0 and

x_{i}^{2}r_{0}^{2}s_{2} = (x_{i}r_{0} + r_{1})^{2}s_{2} − (2x_{i}r_{0}r_{1} + r_{1}^{2})s_{2} = z − (2x_{i}r_{0}r_{1} + r_{1}^{2})s_{2}. Since now

deg_{x_{i}}(x_{i}^{2}r_{0}^{2}s_{2}) = 2 deg_{x_{i}}(r_{0}) + deg_{x_{i}}(s_{2}) + 2 >

deg_{x_{i}}(r_{0}) + deg_{x_{i}}(s_{2}) + 1 ⩾ deg_{x_{i}}(z − (2x_{i}r_{0}r_{1} + r_{1}^{2})s_{2}),

this is a contradiction. So in fact r_{1} = 0, and hence r = x_{i}r_{0}. We need to show that r_{0} ∈ I.

We have

x_{i}^{2}r_{0}^{2}s_{2} = x_{i}^{2}r_{0}^{2}s − (r_{0}^{2}s_{0}z + x_{i}r_{0}^{2}s_{1}z) = z − (r_{0}^{2}s_{0}z + x_{i}r_{0}^{2}s_{1}z).

Since s_{2} ≠ 0 implies that

deg_{x_{i}}(x_{i}^{2}r_{0}^{2}s_{2}) = 2 deg_{x_{i}}(r_{0}) + deg_{x_{i}}(s_{2}) + 2 > 2 deg_{x_{i}}(r_{0}) + 1 ⩾ deg_{x_{i}}(z − (r_{0}^{2}s_{0}z + x_{i}r_{0}^{2}s_{1}z)), it must be the case that s_{2} = 0. Now x_{i}r_{0}^{2}s_{1}z = z − r_{0}^{2}s_{0}z. Since s_{1} ≠ 0 implies that

deg_{x_{i}}(x_{i}r_{0}^{2}s_{1}z) = 2 deg_{x_{i}}(r_{0}) + 1 > 2 deg_{x_{i}}(r_{0}) ⩾ deg_{x_{i}}(z − r_{0}^{2}s_{0}z),

it must be the case that s_{1} = 0.

So z = x_{i}^{2}r_{0}^{2} \frac{z}{x_{i}^{2}} s_{0} = r_{0}^{2}s_{0}z, and hence r_{0} ∈ I. 5.4.3. Corollary. For any computable presentation G′ of G, D(A_{G′}) = {ax_{i} | i ∈ ω, a ∈ I}. Furthermore, D is intrinsically computable. Proof. The first statement follows immediately from Lemma 5.4.2; we prove the second.

Let A be a computable presentation of A_{G}. We want to show that D(A) is computable. Abusing notation, we refer to the images of y and z in A as y and z, respectively. Let D̂(A) be as in Section 5.2. Since I is finite and x ∈ D(A) ⇔ ∃a ∈ I(ax ∈ D̂(A)), it is enough to show that D̂(A) is computable.

Clearly, D̂(A) is c.e., and hence so is the set

Gen_{A} = D̂(A) ∪ {r ∈ A | ∃x, x′ ∈ D̂(A), n ∈ ω(xx′r = y ∨ xx′r = z ∨ x^{n}r = y)} .

Given x ∈ |A|, we can write x as a sum of products of elements of Gen_{A} and hence computably determine deg_{y}(x) and deg_{z}(x). If it is not the case that deg_{y}(x) = deg_{z}(x) = 0 then x ∉ D̂(A). Otherwise, x is a polynomial over the elements of D̂(A) with coefficients in ℤ_{p}, and checking whether a polynomial over a linearly independent c.e. set is an element of that set can be done computably. 5.4.4. Lemma. If i ≠ j and ¬E(i, j) then there is no r ∈ A_{G} such that rx_{i}x_{j} = y. Similarly, if E(i, j) then there is no r ∈ A_{G} such that rx_{i}x_{j} = z.

Proof. The proofs of both statements are similar; we prove the first.

Assume for a contradiction that, for some i ≠ j ∈ ω and r ∈ A_{G}, ¬E(i, j) and x_{i}x_{j}r = y. We work in the ring M. Since deg_{y}(r) = 1 and deg_{z}(r) = 0, thinking of r as a sum of products of elements of Gen, we see that we can write r = \frac{y}{x_{i}} r_{0}+ \frac{y}{x_{j}} r_{1}+r_{2}, where r_{0} ∈ ℤ_{p}[x_{k} | k ≠ i][\frac{1}{x_{k}} | k ≠ j], r_{1} ∈ ℤ_{p}[x_{k} | k ≠ j][\frac{1}{x_{k}} | k ≠ i], and r_{2} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j][y].

Let n ∈ ω be such that x_{i}^{n}r_{0}, x_{j}^{n}r_{2} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j]. Then

(x_{i}x_{j})^{n+1}r_{2} = (x_{i}x_{j})^{n}y − (x_{i}^{n}x_{j}^{n+1}r_{0}y + x_{i}^{n+1}x_{j}^{n}r_{1}y).

Since deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{0}y), deg_{x_{j}}(x_{i}^{n+1}x_{j}^{n}r_{1}y), and deg_{x_{i}}((x_{i}x_{j})^{n}y) are all less than or equal to n and r_{2} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j][y], it must be the case that r_{2} = 0.

Now

(x_{i}x_{j})^{n}y = x_{i}^{n}x_{j}^{n+1}r_{0}y + x_{i}^{n+1}x_{j}^{n}r_{1}y.

But

r_{0} ≠ 0 ⇒ deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{0}y) ⩽ n ∧ deg_{x_{j}}(x_{i}^{n}x_{j}^{n+1}r_{0}y) > n

and

r_{1} ≠ 0 ⇒ deg_{x_{i}}(x_{i}^{n+1}x_{j}^{n}r_{1}y) > n ∧ deg_{x_{j}}(x_{i}^{n+1}x_{j}^{n}r_{1}y) ⩽ n.

Since it cannot be the case that r_{0} = r_{1} = 0, this means that at least one of deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{0}y + x_{i}^{n+1}x_{j}^{n}r_{1}y) and deg_{x_{j}}(x_{i}^{n}x_{j}^{n+1}r_{0}y + x_{i}^{n+1}x_{j}^{n}r_{1}y) is greater than n. However, deg_{x_{i}}((x_{i}x_{j})^{n}y) = deg_{x_{j}}((x_{i}x_{j})^{n}y) = n, so this is a contradiction.

5.4.5. Corollary. R(A_{G}) = {(x, x′) | D(x) ∧ D(x′) ∧ ¬Q(x, x′) ∧ ∃r(rxx′ = y)} = {(x, x′) | D(x) ∧ D(x′) ∧ ¬∃r(rxx′ = z)}, and hence R is intrinsically computable.

Furthermore, for any computable presentation G′ of G, R(A_{G′}) = {(ax_{i}, bx_{j}) | E^{G′}(i, j) ∧ a, b ∈ I}.

We now need to show that D, Q, and R are invariant. Fix an automorphism f : A_{G} ≅ A_{G}. We will show that f(D) = D, f(Q) = Q, and f(R) = R. 5.4.6. Lemma. Suppose that i ∈ ω and f(x_{i}) = rs for some r, s ∈ A_{G}. Then either r ∈ I or s ∈ I. Proof. Since f(I) = I and x_{i} = f^{−1}(r)f^{−1}(s), it is enough to show that if x_{i} = r′s′ for some r′, s′ ∈ A_{G} then either r′ ∈ I or s′ ∈ I. But this follows easily from the fact that if x_{i} = r′s′ then deg_{y}(r′) = deg_{z}(r′) = deg_{y}(s′) = deg_{z}(s′) = 0, so that r′, s′ ∈ ℤ_{p}[x_{j} : j ∈ ω]. 5.4.7. Lemma. f(D) = D, which implies that f(Q) = Q. Proof. It is enough to show that f(D) ⊆ D. Since f is an arbitrary automorphism of A_{G}, the same proof will show that f^{−1}(D) ⊆ D, and hence that D ⊆ f(D).

Let i ∈ ω. Let n = deg_{y}(f(y)) and let r = f(\frac{y}{x_{i}^{n+1}} ). Then f(x_{i})^{n+1}r = f(y), and hence n = deg_{y}(f(y)) ⩾ deg_{y}(f(x_{i})^{n+1}) = (n + 1) deg_{y}(f(x_{i})). Thus it must be the case that deg_{y}(f(x_{i})) = 0. A similar argument shows that deg_{z}(f(x_{i})) = 0. Since f(x_{i}) ∉ I, this means that f(x_{i}) = x_{j}s_{0} + s_{1} for some j ∈ ω, s_{0} ∈ ℤ_{p}[x_{l} : l ∈ ω], s_{0} ≠ 0, and s_{1} ∈ ℤ_{p}[x_{l} : l ≠ j].

Let k be such that x_{j}^{k}f(y) ∈ ℤ_{p}[x_{l} | l ∈ ω][\frac{1}{x_{l}} | l ≠ j][y, z] and let n = deg_{x_{j}}(x_{j}^{k}f(y)) + 1. For some r ∈ A_{G}, x_{j}^{k}f(x_{i})^{n}r = x_{j}^{k}f(y). Working in M, we can write

r = \frac{1}{x_{j}^{k+1}} r_{0} + \frac{1}{x_{j}^{k}} r_{1} + ⋯ + r_{k+1},

where r_{0} ∈ ℤ_{p}[x_{l} | l ≠ j][\frac{1}{x_{l}} | l ∈ ω][y, z], r_{1}, …, r_{k} ∈ ℤ_{p}[x_{l}, \frac{1}{x_{l}} | l ≠ j][y, z], and r_{k+1} ∈ ℤ_{p}[x_{l} | l ∈ ω][\frac{1}{x_{l}} | l ≠ j][y, z].

Now

x_{j}^{k}(x_{j}s_{0} + s_{1})^{n}r_{k+1} = x_{j}^{k}(x_{j}s_{0} + s_{1})^{n}r − x_{j}^{k}(x_{j}s_{0} + s_{1})^{n}(r − r_{k+1}) =

x_{j}^{k}f(y) − (x_{j}^{k}(x_{j}s_{0} + s_{1})^{n} (\frac{1}{x_{j}^{k+1}} r_{0} + \frac{1}{x_{j}^{k}} r_{1} + ⋯ + \frac{1}{x_{j}} r_{k})) .

But it is easy to check that if r_{k+1} ≠ 0 then

deg_{x_{j}} (x_{j}^{k}(x_{j}s_{0} + s_{1})^{n}r_{k+1}) = n deg_{x_{j}}(s_{0}) + deg_{x_{j}}(r_{k+1}) + k + n > n deg_{x_{j}}(s_{0}) + k + n − 1 ⩾

deg_{x_{j}} (x_{j}^{k}f(y) − (x_{j}^{k}(x_{j}s_{0} + s_{1})^{n} (\frac{1}{x_{j}^{k+1}} r_{0} + \frac{1}{x_{j}^{k}} r_{1} + ⋯ + \frac{1}{x_{j}} r_{k}))) .

It follows that r_{k+1} = 0.

It is not hard to see that we can now repeat the above argument with k in place of k + 1 (assuming k > 0). Proceeding in this fashion, we see that r_{1} = ⋯ = r_{k+1} = 0.

So

\frac{s_{1}^{n}r_{0}}{x_{j}} = x_{j}^{k}(x_{j}s_{0} + s_{1})^{n} \frac{1}{x_{j}^{k+1}} r_{0} − x_{j}^{k}((x_{j}s_{0} + s_{1})^{n} − s_{1}^{n})\frac{1}{x_{j}^{k+1}} r_{0} =

x_{j}^{k}f(y) − ((x_{j}s_{0} + s_{1})^{n} − s_{1}^{n})\frac{1}{x_{j}} r_{0}.

But s_{1}^{n}r_{0} ∈ ℤ_{p}[x_{l} | l ≠ j][\frac{1}{x_{l}} | l ∈ ω][y, z], which implies that either s_{1}^{n}r_{0} = 0 or \frac{s_{1}^{n}r_{0}}{x_{j}} ∉ ℤ_{p}[x_{l} | l ∈ ω][\frac{1}{x_{l}} | l ≠ j][y, z]. Since

x_{j}^{k}f(y) − ((x_{j}s_{0} + s_{1})^{n} − s_{1}^{n})\frac{1}{x_{j}} r_{0} ∈ ℤ_{p}[x_{l} | l ∈ ω] [\frac{1}{x_{l}} | l ≠ j] [y, z],

it must be the case that s_{1}^{n}r_{0} = 0. Since r ≠ 0, we conclude that s_{1} = 0.

Thus f(x_{i}) = s_{0}x_{j}. By Lemma 5.4.6, s_{0} ∈ I. 5.4.8. Corollary. f(ℤ_{p}[x_{i} | i ∈ ω]) = ℤ_{p}[x_{i} | i ∈ ω]. 5.4.9. Lemma. Let r ∈ A_{G} be such that r ≠ 0, deg_{y}(r) = 0, and deg_{z}(r) ⩽ n. Then, for all i ∈ ω, x_{i}^{2n+1}r ∉ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i][y, z]. Proof. We work in the ring M. Let i ∈ ω. Thinking of r as a sum of products of elements of Gen, each term t in this sum can be written as \frac{z^{m}}{x_{i}^{2m}} s, where m ⩽ n and s ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i]. So x_{i}^{2n+1}t = x_{i}u for some u ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i][z]. Thus x_{i}^{2n+1}r = x_{i}v for some v ∈ ℤ_{p}[x_{j} | j ∈ ω][\frac{1}{x_{j}} | j ≠ i][z], and hence x_{i}^{2n+1}r ∉ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i][y, z]. 5.4.10. Lemma. deg_{y}(f(y)) = 1 and deg_{z}(f(y)) = 0. Proof. Let i ∈ ω be such that f(y) ∈ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i][y, z]. Working in M, we can write f(y) = ys_{0} + s_{1}, where s_{0} ∈ M, s_{1} ∈ A_{G}, and deg_{y}(s_{1}) = 0. Let n = deg_{z}(s_{1}).

By Lemma 5.4.7, there exists an r ∈ A_{G} such that x_{i}^{2n+1}r = f(y) = ys_{0} + s_{1}. We can write r = yr_{0} + r_{1}, where r_{0} ∈ M, r_{1} ∈ A_{G}, and deg_{y}(r_{1}) = 0. Now x_{i}^{2n+1}r_{1} = s_{1}. Since deg_{z}(r_{1}) = deg_{z}(s_{1}) = n, it follows from Lemma 5.4.9 that either r_{1} = 0 or s_{1} ∉ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i][y, z]. But the latter possibility would imply that f(y) ∉ ℤ_{p}[x_{j}, \frac{1}{x_{j}} | j ≠ i][y, z], contradicting our choice of i. So r_{1} = 0, and hence s_{1} = 0.

We now have f(y) = ys_{0}. A similar argument shows that deg_{y}(f^{−1}(y)) ⩾ 1. We now need to show that deg_{y}(s_{0}) = deg_{z}(s_{0}) = 0.

Let t ∈ ℤ_{p}[x_{j} | j ∈ ω] be such that ts_{0} ∈ ℤ_{p}[x_{j} | j ∈ ω][y, z]. Then f^{−1}(t)y = f^{−1}(tf(y)) = f^{−1}(ts_{0}y) = f^{−1}(ts_{0})f^{−1}(y).

By Corollary 5.4.8, f^{−1}(t) ∈ ℤ_{p}[x_{j} | j ∈ ω], which means that deg_{y}(f^{−1}(t)y) = 1 and deg_{z}(f^{−1}(t)y) = 0. Since deg_{y}(f^{−1}(y)) ⩾ 1, this means that f^{−1}(ts_{0}) ∈ ℤ_{p}[x_{j} | j ∈ ω]. By Corollary 5.4.8, ts_{0} ∈ ℤ_{p}[x_{j} | j ∈ ω]. So deg_{y}(s_{0}) = deg_{z}(s_{0}) = 0.

5.4.11. Lemma. f(y) = ty for some t ∈ A_{G}.

Proof. Let i, j, i′, j′ ∈ ω be such that i ≠ j, f(x_{i′}) = ax_{i} and f(x_{j′}) = bx_{j} for some a, b ∈ I, f(y) ∈ ℤ_{p}[x_{k}, \frac{1}{x_{k}} | k ≠ i, j][y, z], and E(i′, j′). Such numbers exist by Lemma 5.4.7 and the assumption about G that we made at the beginning of this section.

Let r = f(\frac{aby}{x′_{i}x′_{j}}). Then x_{i}x_{j}r = f(y). By Lemma 5.4.10, deg_{y}(f(y)) = 1 and deg_{z}(f(y)) = 0, and hence deg_{y}(r) = 1 and deg_{z}(r) = 0. Working in M and thinking of r as a sum of products of elements of Gen, we see that we can write

r = yr_{0} + \frac{y}{x_{i}} r_{1} + \frac{y}{x_{j}} r_{2} + \frac{y}{x_{i}x_{j}} r_{3} + r_{4},

where r_{0} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j], r_{1} ∈ ℤ_{p}[x_{k} | k ≠ i][\frac{1}{x_{k}} | k ≠ j], r_{2} ∈ ℤ_{p}[x_{k} | k ≠ j][\frac{1}{x_{k}} | k ≠ i], and r_{3}, r_{4} ∈ ℤ_{p}[x_{k} | k ≠ i, j].

Let n ∈ ω be such that x_{i}^{n}r_{1}, x_{j}^{n}r_{2} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j]. Then

(x_{i}x_{j})^{n+1}r_{0}y + (x_{i}x_{j})^{n+1}r_{4} = (x_{i}x_{j})^{n}f(y) − (x_{i}^{n}x_{j}^{n+1}r_{1}y + x_{i}^{n+1}x_{j}^{n}r_{2}y + (x_{i}x_{j})^{n}r_{3}y).

But deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{1}y), deg_{x_{j}}(x_{i}^{n+1}x_{j}^{n}r_{2}y), deg_{x_{i}}((x_{i}x_{j})^{n}r_{3}y), and deg_{x_{i}}((x_{i}x_{j})^{n}f(y)) are all at most n, r_{0}, r_{4} ∈ ℤ_{p}[x_{k} | k ∈ ω][\frac{1}{x_{k}} | k ≠ i, j], and deg_{y}((x_{i}x_{j})^{n+1}r_{4}) = 0. So it must be the case that r_{0} = r_{4} = 0.

Now

(x_{i}x_{j})^{n}f(y) − (x_{i}x_{j})^{n}r_{3}y = x_{i}^{n}x_{j}^{n+1}r_{1}y + x_{i}^{n+1}x_{j}^{n}r_{2}y.

But

r_{1} ≠ 0 ⇒ deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{1}y) ⩽ n ∧ deg_{x_{j}}(x_{i}^{n}x_{j}^{n+1}r_{1}y) > n

and

r_{2} ≠ 0 ⇒ deg_{x_{i}}(x_{i}^{n+1}x_{j}^{n}r_{2}y) > n ∧ deg_{x_{j}}(x_{i}^{n+1}x_{j}^{n}r_{2}y) ⩽ n,

which means that either r_{1} = r_{2} = 0 or at least one of deg_{x_{i}}(x_{i}^{n}x_{j}^{n+1}r_{1}y +x_{i}^{n+1}x_{j}^{n}r_{2}y) and deg_{x_{j}}(x_{i}^{n}x_{j}^{n+1}r_{1}y + x_{i}^{n+1}x_{j}^{n}r_{2}y) is greater than n. Since

deg_{x_{i}}((x_{i}x_{j})^{n}f(y) − (x_{i}x_{j})^{n}r_{3}y), deg_{x_{j}}((x_{i}x_{j})^{n}f(y) − (x_{i}x_{j})^{n}r_{3}y) ⩽ n,

it must be the case that r_{1} = r_{2} = 0. Thus f(y) = x_{i}x_{j} \frac{y}{x_{i}x_{j}} r_{3} = yr_{3}. Since r_{3} ∈ A_{G}, we are done.

5.4.12. Corollary. If ∃r(x_{i}x_{j}r = y) then ∃r(x_{i}x_{j}r = f(y)).

5.4.13. Lemma. f(R) = R.

Proof. It is enough to show that R ⊆ f(R). Since f is an arbitrary automorphism of A_{G}, the same proof will show that R ⊆ f^{−1}(R), and hence that f(R) ⊆ R.

By Corollaries 5.4.5 and 5.4.12, R(x_{i}, x_{j}) ⇒ ∃r(x_{i}x_{j}r = y) ⇒ ∃r(x_{i}x_{j}r = f(y)) ⇒ R(f(x_{i}), f(x_{j})).

Since f is an arbitrary automorphism of A_{G}, Lemmas 5.4.7 and 5.4.13 imply the following result.

5.4.14. Lemma. D, Q, and R are invariant.

In order to apply Theorem 5.2.1, we are left with showing that properties (P2) and (P3) in the statement of that theorem are satisfied.

5.4.15. Lemma. For every pair S, S′ of sets of Q-representatives, if f : S ⟶_{onto}^{1–1} S′ is such that, for every x, y ∈ S, R(x, y) ⇔ R(f(x), f(y)), then f can be extended to an automorphism of A_{G}.

Proof. Let y, z, and x_{i} be as in the definition of A_{G}. A set of Q-representatives contains one element of the form ax_{i}, a ∈ I, for each i ∈ ω, and it contains no other elements. So there exist sequences a_{0}, a_{1}, … ∈ I and b_{0}, b_{1}, … ∈ I such that S = {a_{0}x_{0}, a_{1}x_{1}, … } and S′ = {b_{0}x_{0}, b_{1}x_{1}, … }. Thus, for some permutation π of ω, f : a_{i}x_{i} ↦ b_{π(i)}x_{π(i)}.

Now, for all i, j ∈ ω, R(x_{i}, x_{j}) ⇔ R(x_{π(i)}, x_{π(i)}). So it is clear from what we have previously done that the map x_{i} ↦ x_{π(i)} can be extended to an automorphism of A_{G}. Thus it is enough to show that the map a_{i}x_{i} ↦ b_{π(i)}x_{i}, or, equivalently, the map h : x_{i} ↦ \frac{b_{π(i)}}{a_{i}} x_{i} can be extended to an automorphism of A_{G}. But h can clearly be extended to an automorphism of 𝔽(x_{i} | i ∈ ω)[y, z] that fixes y and z. Since \frac{b_{π(i)}}{a_{i}} ∈ I, this automorphism restricts to an automorphism of A_{G}.

5.4.16. Lemma. For every computable presentation G′ of G and every computable set S of Q^{A_{G′}}-representatives, there exists a defining family for ⟨A_{G′}, a⟩_{a∈S}.

Proof. Let y, z, and x_{i} be as in the definition of A_{G′}. As mentioned above, S = {a_{0}x_{0}, a_{1}x_{1}, … } for some sequence a_{0}, a_{1}, … ∈ I. Let s_{i} = a_{i}x_{i} and consider the sets

Gen′ = \{±1\} ∪ \{s_{i} | i ∈ ω\} ∪ \{\frac{y}{s_{i}s_{j}} | E^{G′}(i, j)\} ∪

\{\frac{z}{s_{i}s_{j}} | ¬E^{G′}(i, j)\} ∪ \{\frac{y}{s_{i}^{n}} | i, n ∈ ω\}

and

Gen′_{k} = \{±1\} ∪ \{s_{i} | i ⩽ k\} ∪ \{\frac{y}{s_{i}s_{j}} | E^{G′}(i, j), i, j ⩽ k\} ∪

\{\frac{z}{s_{i}s_{j}} | ¬E^{G′}(i, j), i, j ⩽ k\} ∪ \{\frac{y}{s_{i}^{n}} | i, n ⩽ k\} .

For each i, j, n ∈ ω, let the formula φ_{i,j,n} over the language of rings with additional constants y, z, s_{0}, s_{1}, … be defined by

φ_{i,j,n} = \begin{cases}s_{i}s_{j}u_{i,j} = y ∧ s_{i}^{n}v_{i,n} = y & if E^{G′}(i, j), \\ s_{i}s_{j}u_{i,j} = z ∧ s_{i}^{n}v_{i,n} = y & if ¬E^{G′}(i, j). \end{cases}

(Here u_{i,j} and v_{i,n} are the free variables of φ_{i,j,n}.) For each sum t of products of elements of Gen′, let t′ be the result of substituting all occurrences of \frac{y}{s_{i}s_{j}} or \frac{z}{s_{i}s_{j}} in t by u_{i,j}, and all occurrences of \frac{y}{s_{i}^{n}} by v_{i,n}. If k is the least number such that t is a sum of products of elements of Gen′_{k} then let t̂ be the formula

∃u_{0,0}, v_{0,0}, …, u_{0,k}, v_{0,k}, …, u_{k,0}, v_{k,0}, …, u_{k,k}, v_{k,k} (t′ ∧ ⋀_{i,j,n⩽k} φ_{i,j,n}) .

Let t_{0}, t_{1}, … be an effective list of all sums of products of elements of Gen′. Since each s_{i} is a product of x_{i} with an element of I, each element of A_{G′} is equal to t_{i} for some i ∈ ω. It follows easily that {t̂_{i} | i ∈ ω} is a defining family for ⟨A_{G′}, a⟩_{a∈S}.

Lemmas 5.4.3, 5.4.14, 5.4.15, and 5.4.16 and Corollary 5.4.5 are enough to enable us to apply Theorem 5.2.1. It is straightforward to check that, for any computable presentation A of A_{G}, if U is a subset of D(A) such that Q(x, y) ⇒ (U(x) ⇔ U(y)) then the subring of A generated by U has the same degree as U. Thus it follows that Theorems 3.1.2 and 4.1.2 and the results of Chapters 3 and 4 remain true if we require that A be an integral domain of characteristic p and that U be a subring of A.

Now consider the commutative semigroup generated (multiplicatively) by the elements of Gen. Let

D(x) = {x | ∃r(x^{2}r = z)},
Q(x, x′) = {(x, x) | D(x)},

and

R(x, x′) = {(x, x′) | D(x) ∧ D(x′) ∧ x ≠ x′ ∧ ∃r(rxx′ = y)}.

It is not hard to check that Theorem 5.2.1 can be applied in this case, with essentially the same proof as above, to show that Theorems 3.1.2 and 4.1.2 and the results of Chapters 3 and 4 remain true if we require that A be a commutative semigroup and that U be a subsemigroup of A.

Relations on Algebraic Structures

II: Negative Results

6.1 Introduction

As we remarked in Section 5.1, results such as Theorem 3.1.4 cannot be extended to any of the classes of structures mentioned in Theorem 5.1.1. However, since it is certainly possible for a relation on a computable structure of infinite computable dimension to have a degree spectrum of finite cardinality, this does not rule out the possibility that, for one or more of these classes, results such as Theorem 3.1.3 still hold if we also require that the structures mentioned in these results are in the given class. In this chapter, we give conditions that guarantee that the degree spectrum of a relation on a computable structure is either a singleton or infinite.

Goncharov [13] has shown that if two computable structures are Δ_{2}^{0}-isomorphic but not computably isomorphic then their computable dimension is ω. This theorem is quite useful in establishing results such as those in Theorem 3.1.3, since it reduces the task of building infinitely many noncomputably isomorphic computable presentations of a computable structure to that of building a single computable presentation that is Δ_{2}^{0}-isomorphic but not computably isomorphic to the original structure. In Section 6.2, we give an analog of this result in the case of degree spectra of relations and examine some of its consequences. In Section 6.3, we deal with linear orderings, and in Section 6.4, with 1-decidable structures.

It should be pointed out that, in the general case, there are no known restrictions on the sets of degrees that can be realized as degree spectra of relations on computable structures other than the ones that follow from the fact that the set of images of a relation on a computable structure in different computable presentations of the structure is (by definition) Σ_{1}^{1}.

6.2 General Criteria

We begin this section by proving a technical theorem that will have as an immediate corollary the analog of Goncharov’s result mentioned above.

Here and below, we will need some notation to talk about “finite portions” of a computable structure A of (possibly infinite) signature L. Let S ⊂ ω be finite. Define L_{S} to be the language obtained by restricting L to its first |S| symbols, substituting all j-ary function symbols by (j+1)-ary relation symbols in the obvious way, and dropping any constants whose interpretation in A is not in S. Define A ↾ S to be the finite structure obtained from A by restricting the domain to |A| ∩ S and restricting the language to L_{S}.

For x⃗ = (x_{0}, …, x_{k−1}) ∈ ω^{k}, let max(x⃗) = max{x_{i} | i < k}. 6.2.1. Theorem. Let k ∈ ω. Let U^{0} and U^{1} be k-ary relations on the domains of computable structures A^{0} and A^{1}, respectively, and let B_{0}, …, B_{n−1} ⊂ ω^{k} be Δ_{2}^{0} but not computable. Suppose that U^{0} is not computable, U^{1} is computable, and there exists a Δ_{2}^{0} isomorphism f : A^{0} → A^{1} such that f(U^{0}) = U^{1}. Then there exists a Δ_{2}^{0} function h : |A^{0}| → ω such that h(A^{0}) is a computable structure, h(U^{0}) is not computable, and for all m < n, B_{m} ⩽̸_{T} h(U^{0}). Proof. Let k be the arity of U^{0} and U^{1}. Let Φ_{e} be the e^{th} k-ary Turing functional. We will build h : |A^{0}| ⟶_{onto}^{1–1} ω to satisfy the requirements

Q_{e} : Φ_{e} ≠ h(U^{0})

and

R_{ni+j} : Φ_{i}^{h(U^{0})} ≠ B_{j}

for each e, i ∈ ω, j < n, while in addition guaranteeing that h(A^{0}) is a computable structure.

Since f is Δ_{2}^{0}, there exist sequences S_{0}^{i}, S_{1}^{i}, …, i = 0, 1, of subsets of ω and a computable sequence f_{0}, f_{1}, … of maps so that, for each s ∈ ω, f_{s} : A^{0} ↾ S_{s}^{0} ≅ A^{1} ↾ S_{s}^{1}, S_{0}^{i} ⊂ S_{1}^{i} ⊂ ⋯, ⋃_{s∈ω} S_{s}^{i} = |A^{i}|, and, for each x ∈ |A^{0}|, f(x) = lim_{s} f_{s}(x). For each s ∈ ω, we will denote f_{s}^{−1}(U^{1} ∩ (S_{s}^{1})^{k}) by U^{0}[s].

Our construction will be similar to the standard finite injury argument that would be used to satisfy the above requirements with a Δ_{2}^{0} set A in place of h(U^{0}).

Of course, when building a Δ_{2}^{0} set, we can decide at any stage whether we want the value of A at some given element to remain the same or change. In our construction, the only thing we control is h.

At each stage s + 1, we will define the approximation h_{s+1} of h to extend either h_{s} or h_{s} ∘ f_{s}^{−1} ∘ f_{s+1}. If h_{s+1} extends h_{s} ∘ f_{s}^{−1} ∘ f_{s+1} then, for all x⃗ in the range of h_{s}, U^{0}(h_{s+1}^{−1}(x⃗))[s + 1] = U^{0}(h_{s}^{−1}(x⃗))[s], which means that h(U^{0}) remains unaltered at this stage. On the other hand, if U^{0}(h_{s}^{−1}(x⃗))[s + 1] ≠ U^{0}(h_{s}^{−1}(x⃗))[s] then we can change the value of h(U^{0}) at x⃗ by letting h_{s+1} extend h_{s}. The fact that f is Δ_{2}^{0} means that, for every x⃗ ∈ ω^{k}, there exists a stage s such that, for all t ⩾ s, f_{t}^{−1} ∘ f_{t+1}(x⃗) = x⃗. This is what will allow us to ensure that lim_{s} h_{s} exists.

We now proceed with the construction. We will use the notation x⃗ < y to mean that x⃗ ∈ ω^{k}, y ∈ ω, and max(x⃗) < y. The notations x⃗ ⩽ y and y ⩽ x⃗ are defined analogously.

stage 0. Let h_{0} = ∅. stage s + 1. For each e < s + 1, let i and j be such that ni + j = e and let

q_{e,s} = \{ \begin{matrix}max(f_{s}^{−1}(z⃗)) & Q_{e} is currently satisfied \\ & through z⃗ (defined below) \\ max\{y | ∀z⃗ < y(Φ_{e}(z⃗)[s]↓)\} & otherwise, \end{matrix}
l_{e,s} = max {y | ∀z⃗ < y (Φ_{i}^{h_{s}(U^{0}[s])}(z⃗)[s]↓= B_{j}(z⃗)[s])} ,
m_{e,s} = max{l_{e,t} | t ⩽ s},

and

r_{e,s} = max {φ_{i}^{h_{s}(U^{0}[s])}(z⃗)[s] | z⃗ ⩽ m_{e,s}} .

In order to define h_{s+1}, we will begin by defining an auxiliary function g. Let e < s + 1 be the least number such that f_{s+1}(y) = f_{s}(y) for all y ⩽ e and all y such that h_{s}(y) ⩽ e, and one of the following holds.

1. Q_{e} is not satisfied and, for some x⃗ ∈ dom(h_{s}), U^{0}(x⃗)[s + 1] ≠ U^{0}(x⃗)[s] and Φ_{e}(h_{s}(x⃗))[s]↓.

2. Not 1 and for some y ⩽ q_{e,s}, f_{s+1}(y) ≠ f_{s}(y).

3. Not 1 or 2, and for some y such that h_{s}(y) ⩽ r_{e,s}, f_{s+1}(y) ≠ f_{s}(y).

If no such number exists then let g = h_{s}.

If condition 1 holds then proceed as follows. If Φ_{e}(h_{s}(x⃗)) = U^{0}(x⃗)[s] then let g = h_{s}; otherwise, let g = h_{s} ∘ f_{s}^{−1} ∘ f_{s+1}. In either case, declare Q_{e} to be satisfied through f_{s}(x⃗). We say that Q_{e} is active at stage s + 1.

If condition 2 holds then proceed as follows. If Q_{e} is not satisfied then let g = h_{s}; otherwise, let g = h_{s}∘f_{s}^{−1}∘f_{s+1}. In either case, we say that Q_{e} is active at stage s+1.

If condition 3 holds then let g = h_{s} ∘ f_{s}^{−1} ∘ f_{s+1}. We say that R_{e} is active at stage s + 1.

If either Q_{e} or R_{e} is active at stage s + 1 then declare each Q_{i}, i > e, to be unsatisfied.

Now define h_{s+1} as follows. For y ∈ dom(g), let h_{s+1}(y) = g(y). Let y_{0} < ⋯ < y_{m} be the elements of S_{s+1} − dom(g) and let z_{0} < ⋯ < z_{m} be the m + 1 least numbers not in rng(h_{s}). For i ⩽ m, let h_{s+1}(y_{i}) = z_{i}.

This completes the construction. We now need to show that h = lim_{s} h_{s} and h^{−1} = lim_{s} h_{s}^{−1} are well-defined, all requirements are met, and h(A^{0}) is a computable structure. We begin by showing by induction that h and h^{−1} are well-defined; each requirement is active only finitely often; for each e ∈ ω, q_{e,s} and r_{e,s} have finite limits; and for each e ∈ ω, if Φ_{e} is total then Q_{e} is eventually permanently satisfied.

For the following lemmas, fix e ∈ ω and assume by induction that, for all i < e, the requirements Q_{i} and R_{i} are active only finitely often and lim_{s} h_{s}^{−1}(i) is welldefined. 6.2.2. Lemma. h^{−1}(e) = lim_{s} h_{s}^{−1}(e) is well-defined and (if e ∈ |A^{0}|) so is h(e) = lim_{s} h_{s}(e).

Proof. Let s be a stage such that no requirement Q_{i} or R_{i}, i < e, is active after stage s. By construction, for all t ∈ ω, h_{t+1} extends either h_{t} or h_{t} ∘ f_{t}^{−1} ∘ f_{t+1}. One of the conditions for a requirement Q_{j} or R_{j}, j ⩾ e, to be active at stage t+1 is that f_{t+1}(e) = f_{t}(e) and f_{t+1}(h_{t}^{−1}(e)) = f_{t}(h_{t}^{−1}(e)). So, for all t ⩾ s, if f_{t+1}(e) ≠ f_{t}(e) or f_{t+1}(h_{t}^{−1}(e)) ≠ f_{t}(h_{t}^{−1}(e)) then no requirement is active at stage t + 1, and hence h_{t+1} extends h_{t}. Thus h_{t}(e) = h_{s}(e) and h_{t}^{−1}(e) = h_{s}^{−1}(e) for all t > s.

Let s_{0} > e be such that no requirement Q_{i} or R_{i}, i < e, is active after stage s_{0} and f_{t}(y) = f_{s_{0}}(y) for all t > s_{0} and all y such that either y ⩽ e or h_{s_{0}}^{−1}(i) = y for some i ⩽ e. 6.2.3. Lemma. If Φ_{e} is total then Q_{e} is eventually permanently satisfied.

Proof. It is enough to show that if Φ_{e} is total then Q_{e} is satisfied at some stage t > s_{0}.

Suppose otherwise. We claim that we can compute U^{0}, which contradicts the hypothesis the U^{0} is not computable. Let x⃗ ∈ ω^{k}. Since Φ_{e} is total and Q_{e} is never satisfied after stage s_{0}, lim_{t} q_{e,t} = ∞. Let t > s_{0} be such that x⃗ < q_{e,t} and x⃗ ∈ (dom(h_{t}))^{k}. As mentioned above, for all u ∈ ω, h_{u+1} extends either h_{u} or h_{u} ∘ f_{u}^{−1} ∘ f_{u+1}. Furthermore, for all u ⩾ t, if f_{u+1}(x⃗) ≠ f_{u}(x⃗) then h_{u+1} extends h_{u}. So h_{u}(x⃗) = h_{t}(x⃗) for all u > t. Now let u ⩾ t be such that Φ_{e}(h_{t}(x⃗))[u] ↓. If U^{0}(x⃗)[v +1] ≠ U^{0}(x⃗)[v] for some v ⩾ u then Q_{e} is satisfied at stage v +1. Therefore, x⃗ ∈ U^{0} ⇔ x⃗ ∈ U^{0}[u].

6.2.4. Lemma. lim_{s} q_{e,s} < ∞ and Q_{e} is active only finitely often.

Proof. If Q_{e} is satisfied through z⃗ after stage s_{0} then lim_{s} q_{e,s} = max(f^{−1}(z⃗)). Otherwise, by the previous lemma, Φ_{e} is not total, and thus lim_{s} q_{e,s} is equal to the largest y such that for all x⃗ < y, Φ_{e}(x⃗)↓.

Now let t > s_{0} be such that either Q_{e} is satisfied at stage t or Q_{e} is never satisfied after stage t and, for all u > t and y ⩽ lim_{s} q_{e,s}, q_{e,u} = q_{e,t} and f_{u}(y) = f_{t}(y). Then Q_{e} is not active after stage t.

Let s_{1} ⩾ s_{0} be such that Q_{e} is not active after stage s_{1}. Let i and j be such that ni + j = e. 6.2.5. Lemma. lim_{s} m_{e,s} < ∞.

Proof. Let t > s_{1}, x ⩽ r_{e,t}, and z = f_{t} ∘ h_{t}^{−1}(x). For any u ⩾ t, if f_{u+1}(x) ≠ f_{u}(x) then h_{u+1} extends h_{u} ∘ f_{u+1}^{−1} ∘ f_{u}. So for all u ⩾ t, f_{u} ∘ h_{u}^{−1}(x) = z. Therefore, for all u ⩾ t, h_{u}(U^{0}[u])(x) = U^{0}(h_{u}^{−1}(x))[u] = U^{1}(f_{u} ∘ h_{u}^{−1}(x)) = U^{1}(f_{t} ∘ h_{t}^{−1}(x)) = U^{0}(h_{t}^{−1}(x))[t] = h_{t}(U^{0}[t])(x).

Now assume for a contradiction that lim_{s} m_{e,s} = ∞. Then for each x⃗ ∈ ω^{k} there is a tx⃗ ∈ ω such that x⃗ < l_{e,tx⃗}. Since B_{j} is not computable and we can computably determine tx⃗ from x⃗, there exists an x⃗ ∈ ω^{k} such that B_{j}(x⃗) ≠ B_{j}(x⃗)[tx⃗]. Let u be such that, for all v > u, B_{j}(x⃗)[v] = B_{j}(x⃗)[u]. Using the result of the previous paragraph, we conclude that, for all v ⩾ u, Φ_{i}^{h_{v}(U^{0}[v])}(x⃗)[v] ↓= Φ_{i}^{h_{tx⃗}(U^{0}[tx⃗])}(x⃗)[tx⃗] ↓= B_{j}(x⃗)[tx⃗] ≠ B_{j}(x⃗)[v], which implies that l_{e,v} ⩽ x⃗, contradicting the assumption that lim_{s} m_{e,s} = ∞.

6.2.6. Lemma. lim_{s} r_{e,s} < ∞ and R_{e} is active only finitely often.

Proof. Let t > s_{1} be such that, for all u > t, m_{e,u} = m_{e,t}. As shown above, h_{u}(U^{0}[u])(y⃗) = h_{t}(U^{0}[t])(y⃗) for all y⃗ ⩽ r_{e,t} and u > t. Thus, for all u > t and all x⃗ ⩽ m_{e,t}, φ_{i}^{h_{u}(U^{0}[u])}(x⃗)[u] = φ_{i}^{h_{t}(U^{0}[t])}(x⃗)[t]. So r_{e} = lim_{s} r_{e,s} < ∞.

Now let t > s_{1} be such that, for all u > t, r_{e,u} = r_{e,t}. For m ⩽ r_{e}, let z_{m} = f_{t} ∘ h_{t}^{−1}(m). For all u > t and all m ⩽ r_{e}, f_{u} ∘ h_{u}^{−1}(m) = z_{m}. Let u > t be such that, for all v > u and all m ⩽ r_{e}, f_{v}^{−1}(z_{m}) = f_{u}^{−1}(z_{m}). For m ⩽ r_{e}, let y_{m} = h_{u}^{−1}(m). Now, for all v > u and all m ⩽ r_{e}, h_{v}^{−1}(m) = y_{m} and f_{v}(y_{m}) = f_{u}(y_{m}). It follows that R_{e} is not active after stage u.

This completes the induction. We now show that all requirements are met and h(A^{0}) is a computable structure. 6.2.7. Lemma. For all e ∈ ω, Φ_{e} ≠ h(U^{0}).

Proof. If Φ_{e} is not total then there is nothing to show, so assume that Φ_{e} is total. By Lemma 6.2.3, for some z⃗ ∈ ω^{k} and t ∈ ω, Q_{e} is permanently satisfied through z⃗ at stage t + 1. Let y⃗ = h_{t} ∘ f_{t}^{−1}(z⃗). It is easy to check that, by the definition of h_{t+1}, Φ_{e}(y⃗) ≠ U^{1}(z⃗).

We claim that, for all u ⩾ t, h_{u+1} ∘ f_{u+1}^{−1}(z⃗) = y⃗. Indeed, let u ⩾ t and assume by induction that h_{u} ∘ f_{u}^{−1}(z⃗) = y⃗. There are two cases.

1. If f_{u+1}^{−1}(z⃗) = f_{u}^{−1}(z⃗) then, no matter which way h_{u+1} is defined, h_{u+1}∘f_{u+1}^{−1}(z⃗) = h_{u} ∘ f_{u}^{−1}(z⃗) = y⃗.

2. If f_{u+1}^{−1}(z⃗) ≠ f_{u}^{−1}(z⃗) then, since q_{e,u} = f_{u}^{−1}(z⃗), h_{u+1} extends h_{u} ∘ f_{u}^{−1} ∘ f_{u+1}, and hence h_{u+1} ∘ f_{u+1}^{−1}(z⃗) = h_{u} ∘ f_{u}^{−1} ∘ f_{u+1} ∘ f_{u+1}^{−1}(z⃗) = h_{u} ∘ f_{u}^{−1}(z⃗) = y⃗.

So, by induction, for all u ⩾ t, h_{u+1} ∘ f_{u+1}^{−1}(z⃗) = y⃗, and hence h ∘ f^{−1}(z⃗) = y⃗. Thus h(U^{0})(y⃗) = U^{0}(h^{−1}(y⃗)) = U^{0}(f^{−1}(z⃗)) = U^{1}(z⃗) ≠ Φ_{e}(y⃗).

6.2.8. Lemma. For all i ∈ ω and all j < n, Φ_{i}^{h(U^{0})} ≠ B_{j}.

Proof. If Φ_{i}^{h(U^{0})} = B_{j} then lim_{s} m_{ni+j,s} = ∞, which we have already shown not to be the case.

6.2.9. Lemma. h(A^{0}) is a computable structure.

Proof. For all s ∈ ω, rng(h_{s+1}) ⊃ rng(h_{s}) and h_{s+1}^{−1} ∘ h_{s} is an embedding from A^{0} ↾ S_{s} into A^{0} ↾ S_{s+1}, if we restrict the latter structure to the language L_{S_{s}}. Furthermore, ⋃_{s∈ω} rng(h_{s}) = ω. So the images of h_{s} form a chain whose limit h(A^{0}) is a computable structure.

The theorem follows from Lemmas 6.2.7, 6.2.8, and 6.2.9. ■

6.2.10. Corollary. Let U^{0} and U^{1} be relations on the domains of computable structures A^{0} and A^{1}, respectively. Suppose that U^{0} is not computable, U^{1} is computable, and there exists a Δ_{2}^{0} isomorphism f : A^{0} ≅ A^{1} such that f(U^{0}) = U^{1}. Then DgSp_{A^{0}}(U^{0}) is infinite.

The following is an obvious application of Corollary 6.2.10.

6.2.11. Corollary. Let U be an invariant computable relation on the domain of a Δ_{2}^{0}-categorical computable structure A. Either U is intrinsically computable or DgSp_{A}(U) is infinite.

Remark. In the above corollary, both conditions on U are necessary. In Section 2.4, we saw that there exists an invariant relation on the domain of a Δ_{2}^{0}-categorical computable structure whose degree spectrum consists of exactly two degrees, neither of them computable. Now let A^{0}, A^{1}, U^{0}, and U^{1} be the structures and relations built in [25] to prove the theorem that we have numbered Theorem 3.1.2. We can assume that |A^{0}| ∩ |A^{1}| = ∅. Let P be the predicate {(x, y) | x ∈ U^{0} ∧ y ∈ U^{1} ∧ there is an isomorphism from A^{0} to A^{1} that extends the map x ↦ y} and let E be the equivalence relation whose equivalence classes are |A^{0}| and |A^{1}|. In the proof of Theorem 4.2 of [25], it is shown that if B is the computable structure obtained by taking the union of A^{0} and A^{1} and expanding it by P and E then B is computably categorical. Since B has exactly one nontrivial automorphism, which sends U^{1} to U^{0}, DgSp_{B}(U^{1}) = {0, deg(U^{0})}.

Even when A is not Δ_{2}^{0}-categorical (and U is not necessarily invariant), it is sometimes possible to use Corollary 6.2.10 to show that either U is intrinsically computable or DgSp_{A}(U) is infinite. The concept of a splitting relation is a useful tool.

6.2.12. Definition. Let U be a k-ary relation on the domain of a computable structure A. We say that U is splitting if there exists a uniformly Δ_{2}^{0} collection of finite sets S_{0}, S_{1}, ⋯ ⊂ (|A|^{k})^{2} such that, for each r ∈ ω, the following conditions are satisfied.

1. For each (x⃗_{0}, x⃗_{1}) ∈ S_{r}, U(x⃗_{0}) ≠ U(x⃗_{1}).

2. There exists an (x⃗_{0}, x⃗_{1}) ∈ S_{r} such that, for all m ⩾ r, max(x⃗_{0}^{⌢}x⃗_{1}), there exist embeddings g_{i} : A ↾ [0, m] → A, i = 0, 1, such that

(a) g_{0}(x⃗_{0}) = g_{1}(x⃗_{1}) and

(b) for all j ∈ |A ↾ [0, r]|, g_{0}(j) = g_{1}(j) = j.

6.2.13. Theorem. If U is a splitting relation on the domain of a computable structure A then DgSp_{A}(U) is infinite.

Proof. To simplify our notation, we assume without loss of generality that |A| = ω. For each m ∈ ω, let A_{m} = A ↾ [0, m]. Let S_{0}, S_{1}, … be as in Definition 6.2.12. We adopt the convention that, for all r, s ∈ ω, S_{r}[s] ⊆ ([0, s]^{k})^{2}.

We will construct a Δ_{2}^{0} function f : ω ⟶_{onto}^{1–1} ω such that f(A) is a computable structure and f(U) is not computable. By Corollary 6.2.10, this will be enough to establish that DgSp_{A}(U) is infinite.

Let k be the arity of U. Let Φ_{e} be the e^{th} k-ary partial computable function.

For each e ∈ ω, we will want to satisfy the requirement

R_{e} : Φ_{e} ≠ f(U),

while ensuring that f(A) is a computable structure.

We now proceed with the construction of f.

stage 0. Let f_{0} = ∅ and m_{0} = 0. For each e ∈ ω, let r_{e,0} = 0. stage s + 1. Let e < s + 1 be the least number, if any, such that R_{e} is not currently satisfied (defined below) and if (x⃗_{0}, x⃗_{1}) ∈ S_{r}[s], where r = max({r_{i,s} | i < e} ∪ {e} ∪ {y | f_{s}(y) ⩽ e}), then Φ_{e}(f_{s}(x⃗_{i}))[s]↓ for i = 0, 1.

If no such number exists then proceed as follows. Let m_{s+1} = m_{s} + 1. For each i ⩽ m_{s}, let f_{s+1}(i) = f_{s}(i), and let f_{s+1}(m_{s+1}) = m_{s+1}. For each i ∈ ω, let r_{i,s+1} = r_{i,s}.

Otherwise, let r be as above and search for a number m > m_{s} satisfying one of the following conditions.

1. There is a pair (x⃗_{0}, x⃗_{1}) ∈ S_{r}[m] − S_{r}[s].

2. Not 1 and there exist embeddings g_{i} : A_{m_{s}} → A_{m}, i = 0, 1, such that, for all j ⩽ r, g_{0}(j) = g_{1}(j) = j, and for some (x⃗_{0}, x⃗_{1}) ∈ S_{r}[s], g_{0}(x⃗_{0}) = g_{1}(x⃗_{1}).

By the definition of S_{r}, such a number must exist, so there are three possibilities.

1. Condition 1 holds. For each i ⩽ m_{s}, let f_{s+1}(i) = f_{s}(i). For each i ∈ [m_{s} + 1, m], let f_{s+1}(i) = i. Let r_{e,s+1} = max{max(x⃗_{0}^{⌢}x⃗_{1}) | (x⃗_{0}, x⃗_{1}) ∈ S_{r}[s + 1]}.

2. Condition 2 holds and, for some i = 0, 1, Φ_{e}(f_{s}(x⃗_{i})) ≠ U(x⃗_{i}). For each i ⩽ m_{s}, let f_{s+1}(i) = f_{s}(i), and for each i ∈ [m_{s} + 1, m], let f_{s+1}(i) = i. Let r_{e,s+1} = max(x⃗_{i}) and declare R_{e} to be satisfied.

3. Condition 2 holds and, for i = 0, 1, Φ_{e}(f_{s}(x⃗_{i})) = U(x⃗_{i}). Since U(x⃗_{0}) ≠ U(x⃗_{1}) and g_{0}(x⃗_{0}) = g_{1}(x⃗_{1}), it must be the case that, for some i = 0, 1, Φ_{e}(f_{s}(x⃗_{i})) ≠ U(g_{i}(x⃗_{i})). For each j ∈ g_{i}([0, m_{s}]), let f_{s+1}(j) = f_{s} ∘ g_{i}^{−1}(j). Let j_{0}, …, j_{n} be the elements of [0, m] − g_{i}([0, m_{s}]). For l ⩽ n, let f_{s+1}(j_{l}) = m_{s} + l + 1. Let r_{e,s+1} = max(g_{i}(x⃗_{i})) and declare R_{e} to be satisfied.

In any case, let m_{s+1} = m and say that R_{e} is active at stage s + 1. For i < e, let r_{i,s+1} = r_{i,s}; for i > e, let r_{e,s+1} = 0 and declare R_{i} to be unsatisfied.

This completes the construction. We now need to show that f is Δ_{2}^{0}, f(A) is a computable structure, and f(U) is not computable. We begin by showing by induction that f is Δ_{2}^{0} and, for each e ∈ ω, lim_{s} r_{e,s} is well-defined, R_{e} is active only finitely often, and if Φ_{e} is total then R_{e} is eventually permanently satisfied.

For the following lemmas, fix e ∈ ω and assume by induction that there is a stage s_{0} such that, for all i < e, r_{i,s} has achieved a limit r_{i} by stage s_{0} and R_{i} is not active after stage s_{0}. Let r = max({r_{i,s_{0}} | i < e} ∪ {e} ∪ {y | f_{s_{0}}(y) ⩽ e}). Notice that, for all s > s_{0}, max({r_{i,s} | i < e} ∪ {e} ∪ {y | f_{s}(y) ⩽ e}) = r. 6.2.14. Lemma. lim_{s} f_{s}(e) and lim_{s} f_{s}^{−1}(e) are well-defined.

Proof. It can be easily checked from the construction that, since r ⩾ e, f_{s+1}(e) = f_{s}(e) and f_{s+1}^{−1}(e) = f_{s}^{−1}(e) for all s ⩾ s_{0}.

6.2.15. Lemma. If Φ_{e} is total then R_{e} is eventually permanently satisfied.

Proof. Assume that Φ_{e} is total. It is enough to show that R_{e} is satisfied at some stage s > s_{0}.

Suppose otherwise. Let t > s_{0} be such that, for all u > t, S_{r}[u] = S_{r}. For all u > t, r_{e,u} = r_{e,t} = max{max(x⃗_{0}^{⌢}x⃗_{1}) | (x⃗_{0}, x⃗_{1}) ∈ S_{r}}, so for all u > t and all (x⃗_{0}, x⃗_{1}) ∈ S_{r}, f_{u}(x⃗_{i}) = f_{t}(x⃗_{i}) for i = 0, 1. Thus, since Φ_{e} is total, there is a u > t such that Φ_{e}(f_{u}(x⃗_{i}))[u] ↓ for all (x⃗_{0}, x⃗_{1}) ∈ S_{r} and i = 0, 1. R_{e} is satisfied at stage u + 1.

6.2.16. Lemma. lim_{s} r_{e,s} is well-defined and R_{e} is active only finitely often.

Proof. If R_{e} is never satisfied after stage s_{0} then let t > s_{0} be as in the previous lemma. Clearly, r_{e,u} = r_{e,t} for all u > t and R_{e} is not active after stage t.

On the other hand, if R_{e} is satisfied at stage u > s_{0} then r_{e,v} = r_{e,u} for all v > u and R_{e} is not active after stage u.

This completes the induction. We now show that f(A) is a computable structure and f(U) is not computable. 6.2.17. Lemma. f(A) is a computable structure.

Proof. For all s ∈ ω, rng(f_{s+1}) ⊃ rng(f_{s}) and f_{s+1}^{−1}∘f_{s} is an embedding from A_{m_{s}} into A_{m_{s+1}}, if we restrict A_{m_{s+1}} to the language of A_{m_{s}}. Furthermore, ⋃_{s∈ω} rng(f_{s}) = ω.

6.2.18. Lemma. For all e ∈ ω, Φ_{e} ≠ f(U).

Proof. We may assume that Φ_{e} is total. Let s be a stage by which R_{e} is permanently satisfied. It is easy to check from the construction that, for some x⃗ ∈ ω^{k}, U(f_{s}^{−1}(x⃗)) ≠ Φ_{e}(x⃗) and, for all t > s, f_{t}^{−1}(x⃗) = f_{s}^{−1}(x⃗). Thus U(f^{−1}(x⃗)) ≠ Φ_{e}(x⃗), which implies that Φ_{e} ≠ f(U).

The theorem follows from Lemmas 6.2.14, 6.2.17, and 6.2.18. ■

6.3 Linear Orderings

In this section, we show how Theorem 6.2.13 can be used to establish the following result.

6.3.1. Theorem. Let U be a computable relation on the domain of a computable linear ordering L. Either U is intrinsically computable or DgSp_{L}(U) is infinite.

Proof. Suppose that U is not intrinsically computable. We will show that U is splitting.

Let k be the arity of U. Let ≺ be the order relation of L. In order to simplify our notation, we will assume without loss of generality that |L| = ω. For T ⊂ ω, n ∈ ω, and x⃗ ∈ ω^{n}, let tp_{T}^{Δ}(x⃗) denote the atomic n-type of x⃗ in the structure L expanded by a constant for each element of T.

For r ∈ ω, let S_{r} be the set of all (x⃗_{0}, x⃗_{1}) ∈ (ω^{k})^{2} that satisfy the following conditions.

1. U(x⃗_{0}) ≠ U(x⃗_{1}).

2. If (y⃗_{0}, y⃗_{1}) ∈ (ω^{k})^{2} satisfies condition 1 and tp_{{0,...,r}}^{Δ}(y⃗_{0}^{⌢}y⃗_{1}) = tp_{{0,...,r}}^{Δ}(x⃗_{0}^{⌢}x⃗_{1}) then ⟨x⃗_{0}^{⌢}x⃗_{1}⟩ ⩽ ⟨y⃗_{0}^{⌢}y⃗_{1}⟩.

Now S_{0}, S_{1}, … is a uniformly Δ_{2}^{0} collection of finite subsets of (ω^{k})^{2}, and each S_{r} satisfies the first condition in Definition 6.2.12. We need to show that each S_{r} satisfies the second condition in Definition 6.2.12.

Fix r ∈ ω. Let x_{0}, x_{1}, …, x_{r} be such that {x_{0}, …, x_{r}} = {0, …, r} and x_{0} ≺ x_{1} ≺ ⋯ ≺ x_{r}. Let I_{0} = {y ∈ |L| | y ≺ x_{0}}, I_{r+1} = {y ∈ |L| | x_{r} ≺ y}, and, for 0 < i ⩽ r, I_{i} = {y ∈ |L| | x_{i−1} ≺ y ≺ x_{i}}.

Let

F = \{0, …, r\} ∪ ⋃_{\begin{matrix}i=0 \\ |I_{i}|<ω \end{matrix}}^{r+1} I_{i}.

Since F is finite, there are only finitely many atomic types over F. Thus, since we are assuming that U is not intrinsically computable, there exist y⃗_{0}, y⃗_{1} ∈ ω^{k} such that tp_{F}^{Δ}(y⃗_{0}) = tp_{F}^{Δ}(y⃗_{1}) and U(y⃗_{0}) ≠ U(y⃗_{1}). By the definition of S_{r}, there exists a pair (x⃗_{0}, x⃗_{1}) ∈ S_{r} such that tp_{{0,...,r}}^{Δ}(x⃗_{0}^{⌢}x⃗_{1}) = tp_{{0,...,r}}^{Δ}(y⃗_{0}^{⌢}y⃗_{1}). But it is easy to check that

tp_{F}^{Δ}(y⃗_{0}) = tp_{F}^{Δ}(y⃗_{1}) ∧ tp_{{0,...,r}}^{Δ}(x⃗_{0}^{⌢}x⃗_{1}) = tp_{{0,...,r}}^{Δ}(y⃗_{0}^{⌢}y⃗_{1}) ⇒ tp_{F}^{Δ}(x⃗_{0}) = tp_{F}^{Δ}(x⃗_{1}).

Thus there exists a pair (x⃗_{0}, x⃗_{1}) ∈ S_{r} such that tp_{F}^{Δ}(x⃗_{0}) = tp_{F}^{Δ}(x⃗_{1}). Let m ⩾ r, max(x⃗_{0}^{⌢}x⃗_{1}). We need to define embeddings g_{i} : L ↾ [0, m] → L, i = 0, 1, such that

1. g_{0}(x⃗_{0}) = g_{1}(x⃗_{1}) and

2. for all j ⩽ r, g_{0}(j) = g_{1}(j) = j.

We begin by setting g_{0}(j) = g_{1}(j) = j for all j ⩽ r. We can define the g_{i} independently on each I_{k} ↾ [0, m], k ⩽ r + 1. As long as we embed each I_{k} ↾ [0, m] into I_{k} ↾ [0, n], we will have an embedding of L ↾ [0, m] into L ↾ [0, n].

If I_{k} is finite then, for j ∈ I_{k} ↾ [0, m], let g_{0}(j) = g_{1}(j) = j. Otherwise, let M be the finite linear ordering of type tp^{Δ}(x⃗_{0} ∩ I_{k}) = tp^{Δ}(x⃗_{1} ∩ I_{k}). Since the class of finite linear orderings has the amalgamation property, there exists a finite linear ordering N and embeddings h_{0}, h_{1} : I_{k} ↾ [0, m] → N such that, for all j such that x⃗_{0}(j) ∈ I_{k}, h_{0}(x⃗_{0}(j)) = h_{1}(x⃗_{1}(j)). Since I_{k} is infinite, there exists an embedding k : N → I_{k}. For i = 0, 1 and j ∈ I_{k} ↾ [0, m], let g_{i}(j) = k ∘ h_{i}(j).

It is now easy to check that the g_{i} are embeddings of L ↾ [0, m] into L with the desired properties.

6.4 1-decidable Structures

As mentioned in Section 5.1, every 1-decidable structure has computable dimension 1 or ω. In this section, we show that a roughly analogous situation holds in the context of degree spectra of relations. The extra condition that we need to make things work is the one that appears as condition (∗) in [2], which is not surprising, since the proof of Theorem 6.4.3 below is similar to that of Theorem 3.2 in [2].

We will make use of the notion of a formally computable relation, which is also due to Ash and Nerode [2].

6.4.1. Definition. A k-ary relation U on a computable structure A is formally c.e. if there exists a c.e. sequence ψ_{0}, ψ_{1}, … of existential formulas in the language of A expanded by finitely many constants from A such that, for every x⃗ ∈ ω^{k}, U(x⃗) ⇔ ⋁_{n∈ω} ψ_{n}(x⃗).

A relation U on a computable structure is formally computable if both it and its complement are formally c.e.. 6.4.2. Theorem (Ash and Nerode). If a relation U on a computable structure is formally computable then it is intrinsically computable. 6.4.3. Theorem. Let U be a computable relation on a computable structure A such that A is 1-decidable and there exists a computable procedure for determining, given an existential formula ψ(x⃗) in the language of A expanded by finitely many constants from A, whether ⟨A, U⟩ ⊨ ∀x⃗(ψ(x⃗) → U(x⃗)). (Notice that a sufficient condition for this to hold is that ⟨A, U⟩ be 1-decidable.) Either U is intrinsically computable or DgSp_{A}(U) is infinite. Proof. To simplify our notation, we assume without loss of generality that |A| = ω. For s ∈ ω, let L_{s} and A_{s} be L_{{0,...,s}} and A ↾ {0, …, s}, respectively, as defined in Section 6.2.

We will attempt to construct a Δ_{2}^{0} function f : ω ⟶_{onto}^{1–1} ω such that f(A) is a computable structure and f(U) is not computable. If we fail then we will be able to show that U is intrinsically computable by showing that it is formally computable.

Let k be the arity of U. Let Φ_{e} be the e^{th} k-ary partial computable function. For each e ∈ ω, we will want to satisfy the requirement

R_{e} : Φ_{e} ≠ f(U),

while ensuring that f(A) is a computable structure.

We now proceed with the construction of f.

stage 0. Let f_{0} = ∅ and m_{0} = 0. For each e ∈ ω, let r_{e,0} = 0. stage s+1. Let e < s+1 be the least number, if any, such that both of the following conditions hold, where r = max({r_{i,s} | i < e} ∪ {e} ∪ {y | f_{s}(y) ⩽ e}).

1. R_{e} is not currently satisfied (defined below).

2. There exists an x⃗ ∈ ω^{k} such that

(a) Φ_{e}(x⃗)[s]↓ and

(b) for some y⃗ ∈ ω^{k} such that U(y⃗) ≠ Φ_{e}(x⃗), there exists an embedding g : A_{s} → A relative to L_{s} such that g(x⃗) = y⃗, and, for all j ⩽ r, g(j) = j.

(Notice that the hypotheses of Theorem 6.4.3 guarantee that we can effectively check whether (b) holds.)

If no such number exists then proceed as follows. Let m_{s+1} = m_{s} + 1. For each i ⩽ m_{s}, let f_{s+1}(i) = f_{s}(i), and let f_{s+1}(m_{s+1}) = m_{s+1}. For each i ∈ ω, let r_{i,s+1} = r_{i,s}.

Otherwise, let g be as in 2(b) above and let m_{s+1} = max(rng(g)) + 1. Let y_{0} < y_{1} < ⋯ < y_{m_{s+1}−m_{s}−1} be the numbers in [0, m_{s+1}] − rng(g). For each i ∈ rng(g), let f_{s+1}(i) = f_{s} ∘ g^{−1}(i). For each y_{i}, 0 ⩽ i < m_{s+1} − m_{s}, let f_{s+1}(i) = m_{s} + 1 + i. Say that R_{e} is active at stage s + 1, declare R_{e} to be satisfied, and let r_{e,s+1} = m_{s+1}. For i < e, let r_{i,s+1} = r_{i,s}; for i > e, let r_{e,s+1} = 0 and declare R_{i} to be unsatisfied.

This completes the construction. Suppose that U is not intrinsically computable. We need to show that f is Δ_{2}^{0}, f(A) is a computable structure, and f(U) is not computable. We begin by showing by induction that f is Δ_{2}^{0} and, for each e ∈ ω, lim_{s} r_{e,s} is well-defined, R_{e} is active only finitely often, and if Φ_{e} is total then R_{e} is eventually permanently satisfied.

For the following lemmas, fix e ∈ ω and assume by induction that there is a stage s_{0} such that, for all i < e, r_{i,s} has achieved a limit r_{i} by stage s_{0} and R_{i} is not active after stage s_{0}. Let r = max({r_{i,s_{0}} | i < e} ∪ {e} ∪ {y | f_{s_{0}}(y) ⩽ e}). Notice that, for all s > s_{0}, max({r_{i,s} | i < e} ∪ {e} ∪ {y | f_{s}(y) ⩽ e}) = r. 6.4.4. Lemma. lim_{s} f_{s}(e) and lim_{s} f_{s}^{−1}(e) are well-defined.

Proof. It can be easily checked from the construction that, since r ⩾ e, f_{s+1}(e) = f_{s}(e) and f_{s+1}^{−1}(e) = f_{s}^{−1}(e) for all s ⩾ s_{0}.

6.4.5. Lemma. If Φ_{e} is total then R_{e} is eventually permanently satisfied.

Proof. Assume that Φ_{e} is total. It is enough to show that R_{e} is satisfied at some stage s > s_{0}.

Suppose otherwise. We then claim that U is formally computable, which, by Theorem 6.4.2, contradicts the assumption that U is not intrinsically computable.

Let x⃗ ∈ ω^{k}. Let t + 1 be the least stage after s_{0} such that Φ_{e}(x⃗)[t] ↓. Since L_{t} is a finite relational language, there exists an existential formula ψx⃗ in L_{t} expanded by a constant for each j ⩽ r such that ψx⃗(y⃗) holds if and only if there exists an embedding g : A_{t} → A relative to L_{t} such that g(x⃗) = y⃗, and, for all j ⩽ r, g(j) = j.

Since R_{e} is not active at stage t + 1, it must be the case that ψx⃗(y⃗) ⇒ U(y⃗) = Φ_{e}(x⃗). Thus we have U(y⃗) ⇔ ⋁_{Φ_{e}(x⃗)=1} ψx⃗(y⃗) ⇔ ¬ ⋁_{Φ_{e}(x⃗)=0} ψx⃗(y⃗).

6.4.6. Lemma. lim_{s} r_{e,s} is well-defined and R_{e} is active only finitely often.

Proof. If R_{e} is never satisfied after stage s_{0} then r_{e,t} = r_{e,s_{0}} for all t > s_{0} and R_{e} is not active after stage s_{0}. On the other hand, if R_{e} is satisfied at stage t > s_{0} then r_{e,u} = r_{e,t} for all u > t and R_{e} is not active after stage t.

This completes the induction. We now show that f(A) is a computable structure and f(U) is not computable. 6.4.7. Lemma. f(A) is a computable structure.

Proof. For all s ∈ ω, rng(f_{s+1}) ⊃ rng(f_{s}) and f_{s+1}^{−1}∘f_{s} is an embedding from A_{m_{s}} into A_{m_{s+1}}, if we restrict A_{m_{s+1}} to the language of A_{m_{s}}. Furthermore, ⋃_{s∈ω} rng(f_{s}) = ω.

6.4.8. Lemma. For all e ∈ ω, Φ_{e} ≠ f(U).

Proof. We may assume that Φ_{e} is total. Let s be a stage by which R_{e} is permanently satisfied. It is easy to check from the construction that, for some x⃗ ∈ ω^{k}, U(f_{s}^{−1}(x⃗)) ≠ Φ_{e}(x⃗) and, for all t > s, f_{t}^{−1}(x⃗) = f_{s}^{−1}(x⃗). Thus U(f^{−1}(x⃗)) ≠ Φ_{e}(x⃗), which implies that Φ_{e} ≠ f(U).

The theorem follows from Lemmas 6.4.4, 6.4.7, and 6.4.8. ■

Bibliography

[1] C. J. Ash, P. Cholak, and J. F. Knight, Permitting, forcing, and copying of a given recursive relation, Ann. Pure Appl. Logic 87 (1997) 219–236.

[2] C. J. Ash and A. Nerode, Intrinsically recursive relations, in J. N. Crossley (ed.), Aspects of Effective Algebra (Clayton, 1979) (Upside Down A Book Co., Yarra Glen, Australia, 1981) 26–41.

[3] E. Barker, Intrinsically Σ_{α}^{0} relations, Ann. Pure Appl. Logic 39 (1988) 105–130.

[4] P. Cholak, S. S. Goncharov, B. Khoussainov, and R. A. Shore, Computably categorical structures and extensions by constants, to appear in J. Symbolic Logic.

[5] S. B. Cooper, L. Harrington, A. H. Lachlan, S. Lempp, and R. I. Soare, The d.r.e. degrees are not dense, Ann. Pure Appl. Logic 55 (1991) 125–151.

[6] R. L. Epstein, R. Haas, and R. L. Kramer, Hierarchies of sets and degrees below 0′, in M. Lerman, J. H. Schmerl, and R. I. Soare (eds.), Logic Year 1979–80 (Proc. Seminars and Conf. Math. Logic, Univ. Connecticut, Storrs, Conn., 1979/80), vol. 859 of Lecture Notes in Mathematics (Springer–Verlag, Heidelberg, 1981) 32–48.

[7] Y. L. Ershov, S. S. Goncharov, A. Nerode, and J. B. Remmel (eds.), Handbook of Recursive Mathematics, vol. 138–139 of Studies in Logic and the Foundations of Mathematics (Elsevier Science, Amsterdam, 1998).

[8] S. S. Goncharov, The quantity of nonautoequivalent constructivizations, Algebra and Logic 16 (1977) 169–185.

[9] S. S. Goncharov, Autostability of models and Abelian groups, Algebra and Logic 19 (1980) 13–27.

[10] S. S. Goncharov, Computable single-valued numerations, Algebra and Logic 19 (1980) 325–356.

[11] S. S. Goncharov, Problem of the number of non-self-equivalent constructivizations, Algebra and Logic 19 (1980) 401–414.

[12] S. S. Goncharov, Groups with a finite number of constructivizations, Soviet Math. Dokl. 23 (1981) 58–61.

[13] S. S. Goncharov, Limit equivalent constructivizations, in Mathematical Logic and the Theory of Algorithms (“Nauka” Sibirsk. Otdel., Novosibirsk, 1982) 4–12.

[14] S. S. Goncharov, Countable Boolean Algebras and Decidability, Siberian School of Algebra and Logic (Consultants Bureau, New York, 1997).

[15] S. S. Goncharov and V. D. Dzgoev, Autostability of models, Algebra and Logic 19 (1980) 28–37.

[16] S. S. Goncharov and B. Khoussainov, On the spectrum of degrees of decidable relations, Doklady Math. 55 (1997) 55–57, research announcement.

[17] S. S. Goncharov, A. V. Molokov, and N. S. Romanovskii, Nilpotent groups of finite algorithmic dimension,, Siberian Math. J. 30 (1989) 63–68.

[18] V. S. Harizanov, Degree spectrum of a recursive relation on a recursive structure, Phd thesis, University of Wisconsin, Madison, WI (1987).

[19] V. S. Harizanov, Some effects of Ash-Nerode and other decidability conditions on degree spectra, Ann. Pure Appl. Logic 55 (1991) 51–65.

[20] V. S. Harizanov, The possible Turing degree of the nonzero member in a two element degree spectrum, Ann. Pure Appl. Logic 60 (1993) 1–30.

[21] V. S. Harizanov, Turing degrees of certain isomorphic images of computable relations, Ann. Pure Appl. Logic 93 (1998) 103–113.

[22] D. R. Hirschfeldt, B. Khoussainov, R. A. Shore, and A. M. Slinko, Degree spectra and computable dimension in algebraic structures, to appear.

[23] W. Hodges, Model Theory, vol. 42 of Encyclopedia of Mathematics and its Applications (Cambridge University Press, Cambridge, 1993).

[24] B. Khoussainov and R. A. Shore, personal communication.

[25] B. Khoussainov and R. A. Shore, Computable isomorphisms, degree spectra of relations, and Scott families, Ann. Pure Appl. Logic 93 (1998) 153–193.

[26] O. Kudinov, An integral domain with finite algorithmic dimension, personal communication.

[27] P. LaRoche, Recursively represented Boolean algebras, Notices Amer. Math. Soc. 24 (1977) A–552, research announcement.

[28] A. Malcev, On a correspondence between rings and groups, Amer. Math. Soc. Translations (series 2) 45 (1965) 221–232.

[29] G. Metakides and A. Nerode, Effective content of field theory, Ann. Math. Logic 17 (1979) 289–320.

[30] T. Millar, Recursive categoricity and persistence, J. Symbolic Logic 51 (1986) 430–434.

[31] A. T. Nurtazin, Strong and weak constructivizations and enumerable families, Algebra and Logic 13 (1974) 177–184.

[32] M. Rabin and D. Scott, The undecidability of some simple theories, unpublished.

[33] J. B. Remmel, Recursively categorical linear orderings, Proc. Amer. Math. Soc. 83 (1981) 387–391.

[34] R. I. Soare, Recursively Enumerable Sets and Degrees, Perspectives in Mathematical Logic, Omega Series (Springer–Verlag, Heidelberg, 1987).