Enumeration Reducibility and Polynomial Time Bounds

Charles Milton Harris

Submitted in accordance with the requirements for the degree of Doctor of Philosophy

The University of Leeds Department of Pure Mathematics January 2006

The candidate confirms that the work submitted is his own and that appropriate credit has been given where reference has been made to the work of others. This copy has been supplied on the understanding that it is copyright material and that no quotation from the thesis may be published without proper acknowledgement. ii Acknowledgements

I would like to thank Barry Cooper for his help, and for always managing to make time to talk and give advice, during my time as a Phd student under his supervision. I am extremely grateful and indebted to my father Roland and my step- mother Paddy for their unstinting support during my years as a student. I would also like to thank my brothers Paul and Simon, and my sisters Tessa and Jane, who have often looked after me during my time at university. Thankyou to Tina and Chris for the bed, the midnight feasts, and their friendship. Finally I would like to mention Aldo, Frantz, and Olivier (formerly) of the “Caf´edes Ar`enes” in Paris who put up with me and fed me almost every day for the best part of two years.

iii iv ACKNOWLEDGEMENTS Abstract

This thesis discusses reducibility and three of its variants. We begin with an appraisal of the basic properties of enumeration reducibility ( ≤e ).

Underlying principles of the ≤e are discussed and six different definitions of the latter are introduced. Insights due to the different definitions are presented and particular attention is paid to Scott’s formulation of ≤e in terms of the λ-calculus.

We introduce symmetric enumeration reducibility (≤se ) and we give a clas- sification of ≤se in terms of other standard reducibilities. We show that the natural embedding of the Turing degrees into the enumeration degrees (De) translates to an embedding ( ιse ) into Dse that preserves least element, suprema and infima. We define a weak and a strong jump and we observe that ιse preserves the jump operator relative to the latter definition. We prove various (global) results concerning branching, exact pairs, minimal covers and diamond embeddings in Dse. We show that certain classes of symmetric enumeration de- grees are first order definable, in particular the classes of semirecursive, Σn ∪Πn,

∆n (for any n ∈ ω), and embedded Turing degrees. This last result allows us to conclude that the theory of Dse has the same 1-degree as the theory of Second Order Arithmetic.

We present two polynomial time variants of ≤e , non deterministic poly- NP nomial time conjunctive reducibility (≤c ) and polynomial time enumeration reducibility (≤pe ). The degree structure induced by ≤pe over the computable sets (hRECpe, ≤i) is studied. It is shown that the latter is a non distributive

v vi ABSTRACT upper semi-lattice that is not a lattice. We demonstrate the relativised ver- sion of the property that every non zero polynomial time enumeration (pe-) degree is part of a minimal pair. We prove that the pe-degrees are dense and moreover, that any countable distributive lattice can be embedded in any in- terval of the pe-degrees via embeddings that either preserve least or greatest element. We also explain why there exist similar embeddings of finite nowhere complemented distributive lattices that preserve least and greatest elements. SN Strong non deterministic polynomial time Turing reducibility ( ≤T ) is intro- SN duced. A canonical embedding of the degree structure induced by ≤T over the computable sets into hRECpe, ≤i is presented. We observe that this em- bedding preserves suprema and least element and that it is also essentially an NP embedding into the equivalent degree structure induced by ≤c . We prove the existence of relativised quasiminimal degrees in the case of the latter embed- ding. In conclusion we show that there exists sets A, B ∈ E such that A≤pe B P whereas AT B. Contents

Acknowledgements iii

Abstract v

1 Introduction 1 1.1 General Overview and Background ...... 1 1.2 Preliminaries...... 5 1.2.1 Basic Notation...... 5 1.2.2 Finite Sets and Functions...... 6 1.2.3 Strings and Finite Initial Segments...... 7 1.2.4 Partial Orders and Lattices...... 7

2 Defining Enumeration Reducibility 9 2.1 Overview ...... 9 2.2 Turing Machines and Reductions ...... 10 2.2.1 Main Matter ...... 10 2.2.2 Other Reducibilities and Notation ...... 19 2.3 Constructive Enumeration Reducibility ...... 21 2.3.1 Main matter ...... 21 2.3.2 Other Facts and Notation ...... 27 2.4 Enumeration Reducibility and n-T-reducibility ...... 27 2.5 Non Constructive Enumeration Reducibility ...... 33 2.6 Enumeration reducibility and Lambda ...... 40

vii viii CONTENTS

2.6.1 The language Lambda and the C.E. Sets...... 41 2.6.2 Enumeration Degrees and Lambda ...... 58

3 Symmetric Enumeration Reducibility 65 3.1 Overview ...... 65 3.2 Introduction to Symmetric Enumeration Reducibility ...... 66 3.3 Embedding the Turing Degrees ...... 70 3.4 Jump Operators ...... 73 3.5 The Symmetric Enumeration Hierarchy ...... 77

3.6 Basic Properties of Dse ...... 82

3.7 CEA and co-CEA substructures of Dse ...... 89 3.8 Diamond embeddings and minimal covers ...... 92 3.9 Automorphisms and definability ...... 105

4 Polynomial Time Enumeration Reducibility 115 4.1 Overview ...... 115 4.2 Preliminaries ...... 116 4.2.1 Background Notation ...... 116 4.2.2 Coding Finite Sets and Pairs of Strings ...... 117 4.2.3 Turing Machines and Time Bounds ...... 118 4.2.4 Deterministic Turing Machines and Reductions ...... 119 4.2.5 Non Deterministic Turing machines and Reductions . . . 120 4.2.6 Complexity Classes ...... 126 4.3 Polynomial Time Enumeration Reducibility ...... 126

4.4 Basic Properties of hRECpe, ≤i ...... 150 4.5 Join and Meet Lemmas ...... 165

4.6 Lattice Embeddings in hRECpe, ≤i ...... 172 4.7 Embedding the sn-T-degrees ...... 181 P 4.8 Separating ≤T and ≤pe in E ...... 193

A Additional Proofs and Results 205 A.1 Proofs in Lambda ...... 205 CONTENTS ix

A.2 Strong Definability in Lambda ...... 215 A.3 Complete sets, jumps and Lambda ...... 225

Bibliography 235 x CONTENTS Chapter 1

Introduction

1.1 General Overview and Background

Enumeration reducibility (≤e ) is a relation between sets of numbers in which only positive information is processed. The first informal definition of ≤e appeared in an early draft of [Rog67]. According to this definition, a A is enumeration reducible to a set B (A≤e B) if there is an effective procedure for getting an enumeration A from any enumeration of B. The formalised version1 of this definition appeared in [FR59]. Essentially it is this latter formulation that has been the basic tool in the ensuing research on enumeration reducibility and its degree structure. However two other equivalent definitions appeared in the literature in the 1970’s. The first of these was due to Selman [Sel71] who defined a relation G1 between sets such that AG1B iff, for any set X, if B is (c.e.) in X, then so is A. Selman proved in the same paper that (over non trivial sets), this relation is equivalent to ≤e despite the fact that the former is defined in a non constructive manner whereas the latter is defined with respect to a given effective procedure. The second equivalent definition appeared in Scott [Sco75]. In this paper Scott defined the language Lambda—an extension of the lambda calculus—and an interpretation in Pω

1In other words Definition 2.3.2 below.

1 2 CHAPTER 1. INTRODUCTION of the language according to which a set is c.e. iff it is the interpretation of a closed Lambda term. Moreover, for any A, B ⊆ ω, and supposing B to be a constant with interpretation B, A≤e B iff there exists a closed Lambda term u such that A is the interpretation of the (parametrised2) Lambda term (u) B. Thus an enumeration reduction corresponds to an application by a closed term in Scott’s language Lambda (whereas abstraction corresponds to the formation of an enumeration operator). In Chapter 2 we present these three different approaches to enumeration reducibility with a view to giving a more complete picture of the basic properties of the latter. In particular, by a careful analysis of oracle computations we reformulate ≤e in terms of oracle Turing machines (Definition 2.3.4). We also underline and extend previous work by Sasso, Cooper and McEvoy [McE84] on the relationship between deterministic (≤T) and non deterministic Turing reducibility, enumeration reducibility, and the relation “computably enumerable in” (c.e. in). A standard result that follows from the work reviewed in Chapter 2 is the fact that the Turing degrees (DT) canonically embed into the enumeration de- grees (De). In other words the Turing degrees can be regarded as a (partial order) substructure of the enumeration degrees. This leads to the question of the status of the former within the latter. In particular, are the Turing degrees first order definable in the enumeration degrees? A recent paper by Kalimullin [Kal03] addresses this question. Namely, Kalimullin shows that the enumera- tion jump operation is first order definable and, as a consequence of Friedberg’s completeness criterion, that the the class of embedded Turing degrees in the 0 cone above 0e is also first order definable within the structure. Kalimullin’s methods, which originate in earlier work on splitting properties of the embed- ded Turing degrees [AKC03] in De, underpin the main results in the work on the degree structure presented in Chapter 3. This work originated in a problem raised by McEvoy [McE84] of how one might refine the in such a way as to make it compatible with enumeration reducibility. Symmetric

2We will call such a term a Generalised Lambda (GLambda) term below. 1.1. GENERAL OVERVIEW AND BACKGROUND 3

enumeration reducibility (≤se) was defined as a means of solving this problem in an arguably satisfactory manner (see Chapter 3 Section 3.5). This reducibil- ity is symmetric in that it involves enumeration reductions between both sets themselves and (simultaneously) between the complements of these sets. In a way therefore, this reducibility is a natural generalisation of symmetric relations such as many one reducibility. We study various aspects of the degree structure

(Dse) induced by symmetric enumeration reducibility. In particular we show that the embedding of DT into De is essentially an embedding into Dse and, using the methods developped by Kalimullin mentioned above, that the embed- ded Turing degrees are first order definable within Dse. Thus, using Simpson’s

Theorem [Sim77] on the complexity of the first order theory of DT, we are able to conclude that the first order theory of Dse has the same 1-degree as the the- ory of Second Order Arithmetic. A number of other structural and definability results are also proved by adapting techniques—for example from [Med55] and [AKC03]—formerly applied in the context of the enumeration degrees. According to the characterisation of non deterministic Turing reducibility in Chapter 2, there are two fundamental types of non deterministic reducibil- ity between sets. The first corresponds to reductions (of type ≤NT) between N semicharacteristic functions and is equivalent to ≤e . The second (≤T) corre- sponds to reductions of semicharacteristic functions to characteristic functions N ( A ≤T B if sA ≤NT cB ) and is equivalent to the relation “ c.e. in ”. From this point of view, the class of c.e. sets is precisely the class of sets com- puted/accepted by a non deterministic Turing machine. In the period 1971-5, NP, the polynomial time bounded equivalent of this class came to prominence when it was discovered that many of the well known combinatorial problems (when coded as sets of strings) belonged to NP and that, moreover the latter be- long to the class of problems that are the hardest such (timewise) to compute— i.e. the problems defined to be np-complete. Cook [Coo71] discovered the first of these problems—in particular the satisfiability problem—and Karp [Kar72] subsequently showed that a number of other well known problems (such as the travelling salesman problem) are also np-complete. The np-complete problems 4 CHAPTER 1. INTRODUCTION in effect became the witness of the so called NP =? P question. In layman’s terms the latter asks the question whether any problem computable by an effi- cient algorithm that has the ability to guess is also computable by an efficient algorithm that does not have this ability. Accordingly the notion efficiently computable is identified with computable in polynomial time, P is the class of sets computable by a polynomial time bounded Turing machine and NP (as indicated above) is the class of sets computable by a polynomial time bounded non deterministic Turing machine. Cook [Coo71] also defined the polynomial time equivalent of Turing re- P NP N ducibility (≤T). Its non deterministic counterpart (≤T , a variant of ≤T) ap- peared in Meyer and Stockmeyer’s work [MS72] on the definition of a polyno- mial time equivalent of the arithmetical hierarchy. These two notions were used in [BGS75] to give some measure of the difficulty of solving the NP =? P ques- tion. In this paper Baker, Gill and Solovay constructed sets A and B such that P(A) = NP(A) whereas P(B) 6= NP(B) and argued that the former rules out the possibility of solving NP =? P by standard diagonalisation methods and the latter rules out a solution using appropriate (deterministic) simulations (of non deterministic reductions). According to their argument, the reason for this is that, in either case the methodology used would relativise to reductions between sets and thus contradict the corresponding counterexample. During the same period interest started to focus on the structural prop- P P erties of ≤T and its many one counterpart ≤m. Ladner [Lad75] initiated the study into the degree structures (the Cook and Karp degrees respectively) of these two reducibilities over the computable sets. Ladner developed methods for constructing meets and joins in the structures and proved various fundamental results including the fact that both structures are dense upper semi-lattices, but not lattices, with zero element corresponding to P. Ladner’s results were conse- quently extended and his techniques refined by a number of researchers includ- ing Breidbart [Bre78], Mehlhorn [Meh74, Meh76], Chew and Machtey [CM81], Sch¨oning [Sch82a] and ,in particular, Ambos-Spies [AS80, AS84, AS85a, AS85b, AS86, AS87b, AS87a]. (For a guide to more recent work on these structure see 1.2. PRELIMINARIES. 5 the review article [AS99] by Ambos-Spies.) Enumeration type polynomial time bounded non deterministic reducibilities, on the other hand, have received limited attention from the research community. Ladner, Lynch and Selman [LLS75] defined and briefly discussed polynomial NP time bounded non deterministic many one reducibility (≤m ) and a polynomial NP time bounded constructive variant of enumeration reducibility (≤c ). Subse- quently Selman wrote the paper [Sel78] in which he defined polynomial time enumeration reducibility (≤pe) and in which he pointed out the differences be- NP tween this reducibility and ≤c . Copestake showed in [Cop97] that Ladner’s NP methods can be adapted to the study of the degree structure induced by ≤c over the computable sets. We thus know, for example, that the latter is a dense upper semi-lattice and contains minimal pairs. It appears however that no work has been done on the structural properties of ≤pe since Selman’s paper. With this in mind Chapter 4 can be seen as an attempt at gaining a basic overview of the properties of ≤pe and its degree structure (the pe-degrees). Using re- sults from Selman’s paper we adapt methods formerly applied in research on the Cook degrees—in particular by Ambos-Spies—to prove that the pe-degrees form a dense non distributive upper semi-lattice that is not a lattice. We present results on lattices embeddings by Ambos-Spies that are also applicable in this context. We describe an embedding analogous to the embedding of DT into De and we conclude by a refinement of Baker Gill and Solovay’s result in which we P prove the separation of ≤pe and ≤T over sets of relatively low time complex- ity.

1.2 Preliminaries.

1.2.1 Basic Notation.

We let ω (ω+) denote the set of (non zero) natural numbers and A, B, . . . denote subsets of ω. Lower case letters n, x, . . . and f, g, . . . represent numbers and functions (from ω to ω) respectively, whereas A, B,... represent classes of sets. 6 CHAPTER 1. INTRODUCTION

(To avoid a local conflict of notation, in Section 2.6 and Appendix A we use

A, B,... to denote classes of sets.) Pω denotes { X | X ⊆ ω } and PF denotes the class of partial functions from ω into ω. A denotes the complement of A and ||A|| denotes the cardinality of A. The set { n · x + m | x ∈ A } is written nA + m and 2A ∪ 2B+1 is written A ⊕ B. We use h , i to denote the standard diagonal coding defined by hx, yi = 1/2(x2 + y2 + 2xy + 3x + y).

The semi-characteristic function of A is defined to be the function sA such that Dom(sA) = A and sA(x) = 1 for all x ∈ A. The characteristic func- tion of A is written cA. When no ambiguity arises we also write A(x) instead of cA(x). For any function f, its graph is written Graph(f). We also use the short- hand F = Graph(f) (and so SA and CA stand for Graph(sA) and Graph(cA) respectively).

1.2.2 Finite Sets and Functions.

We assume {Dn | n ∈ ω} to be the enumeration of all finite sets defined such that if n = 0 then Dn = ∅ and if n > 0, then Dn is the set of numbers making

ai up the binary decomposition of n. In other words, if n = Σi≤k2 (say) then 0 Dn = { ai | i ≤ k }. Note that, to simplify notation, we usually use D,D etc. to denote both the finite sets themselves and their indices. For example if i, j are the indices of D,D0 then hD,D0i is shorthand for hi, ji.

We assume { hn | n ∈ ω } to be the computable enumeration (with rep- etitions) of all finite functions from ω into ω defined such that for any given n ∈ ω,

∀x∀y[ hn(x) = y ⇔ hx, yi ∈ Dn & ∀z( hx, zi ∈ Dn ⇒ z ≥ y )] .

We also use the shorthand hD instead of hn if D = Dn (i.e. if D is being used as shorthand for Dn). Note that h∅ (i.e. h0) is the empty (nowhere defined) function. 1.2. PRELIMINARIES. 7

1.2.3 Strings and Finite Initial Segments.

A string is a partial function σ from ω into {0, 1} with finite domain. λ denotes the empty string and |σ| the length of σ (i.e. the cardinality of its domain). For (s, i) ∈ { (+, 1) , (−, 0) }, we use σs to denote the set { n | σ(n)↓ = i } and s s s (σA) to denote the set { n | n ∈ A & σ(n) ↓ = i } (and so σ = (σω) for s ∈ {+, −}). If the domain of σ is an initial segment of ω, σ is said to be an initial segment. Note that this means that, if |σ| = n + 1 the domain of σ is 0 {0, . . . , n}. We use the shorthand σ = σ b(i) to denote the extension of σ of length |σ| + 1, such that σ0(|σ|) = i.

1.2.4 Partial Orders and Lattices.

A partially ordered (p.o.) set L = hL, ≤i is said to be an upper semi lattice (u.s.l) if, for all a, b ∈ L, the supremum of a and b (written a ∪ b) exists. If the infinum of a and b (written a ∩ b) also always exists then L is said to be a lattice. Join and meet are alternative expressions for supremum and infinum.

The least (greatest) element of a p.o. set L = hL, ≤i is denoted by 0L (1L) or simply 0 (1). For any elements x, y, z we say that x is join (meet) reducible to y, z if y, z < x ( y, z > x ) and x = y ∪ z ( x = y ∩ z ). We also say that x is join (meet) reducible or splits (branches) in this case. If x = 0 and x is meet reducible to y, z then we say that y, z is a minimal pair. An order embedding of a p.o. set L1 = hL1, ≤1i into a p.o. set L2 = hL2, ≤2i is a one-one map

F : L1 → L2 such that

(∀a ∈ L1)(∀b ∈ L1)[ a ≤1 b ⇔ F (a) ≤2 F (b)] .

If F is also onto we say that L1 and L2 are order isomorphic (and that F is an order isomorphism). If moreover L1 = L2 then we say that F is an order automorphism of L1. For any B ⊆ L1 we say that B is an order automorphism base of L1 if, for any order automorphism G of L1 , such that G(x) = x for all x ∈ B then G is trivial (i.e. the identity order automorphism of L1 ). Note that we usually drop the term order when no ambiguity arises. 8 CHAPTER 1. INTRODUCTION

An order embedding F of L1 into L2 is said to preserve the least element or 0 (greatest element or 1) if either F (0L1 ) = 0L2 (F (1L1 ) = 1L2 ) or 0L1 (1L1 ) does not exist. F is said to preserve joins (meets) if, for all a, b ∈ L1, whenever a ∪ b ( a ∩ b ) is defined, F (a ∪ b) = F (a) ∪ F (b)( F (a ∩ b) = F (a) ∩ F (b) ). If

L1 is a lattice and L2 is an upper semi-lattice then F is said to be a lattice embedding if F preserves both joins and meets. A lattice L = hL, ≤i is distributive if

(∀a ∈ L)(∀b ∈ L)(∀c ∈ L)[ (a ∪ b) ∩ (a ∪ c) = a ∪ (b ∩ c)] .

An upper semi-lattice is distributive if

(∀a ∈ L)(∀b ∈ L)(∀c ∈ L)[ c ≤ a ∪ b ⇒ (∃d ≤ a)(∃e ≤ b)[ c = d ∪ e ]] .

Note that the latter notion of distributivity is derived from the former in the sense that any sublattice of a distributive u.s.l. is a distributive lattice. A distributive lattice L is Boolean if L posesses 0 and 1, is non trivial (i.e. 0 6= 1) and is complemented in the sense that (∀a ∈ L)(∃a ∈ L)[ a∪a = 1 & a∩a = 0 ]. A proper non empty subset of I is an ideal of the u.s.l. L = hL, ≤i if I is closed downwards—i.e. (∀x ∈ I)(∀y ∈ L)[ y ≤ x ⇒ y ∈ I ]—and is also closed under joins. The quotient u.s.l. of L over I (written L/I) is defined to be hL∗, ≤∗i where L∗ = { [x] | x ∈ L } with [x] = { z ∪ y | y ∈ I &(∃y0 ∈ I)[ x = z ∪ y0 ] } and [x] ≤∗ [y] if x ≤ y ∪ z for some z ∈ I. Note that for a Boolean lattice L, L/I is also a Boolean lattice. Chapter 2

Defining Enumeration Reducibility

2.1 Overview

The purpose of the present Chapter is to present enumeration reducibility (≤e ) in its various guises and to review its relationship with Turing reducibility, non determinism and the lambda calculus. To begin with (Section 2.2) we give a careful presentation of deterministic and non deterministic reducibilities and the relation “ c.e. in ”, in terms of the standard Turing machine models. We then revisit the informal and formalised versions of enumeration reducibility (Definitions 2.3.1-2.3.2) due to Friedberg and Rogers (Section 2.3). Also, us- ing observations made in Section 2.2 we show that A ≤e B is equivalent to the existence of a deterministic machine ϕ such that, whenever f is a partial function enumerating B, ϕf computes some partial function enumerating A (Definition 2.3.4).

In Section 2.4 we present McEvoy’s result that non deterministic Turing reductions and enumeration reductions between partial functions are equivalent and we accordingly define the latter in terms of the former (Definition 2.4.3). We

9 10 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY show how this equivalence in turn leads to the equivalence of Turing reducibility and enumeration reducibility over partial functions provided that the domain of the oracle function is computable. We also define the well known canonical embedding of the Turing degrees into the enumeration degrees induced by this equivalence. In Section 2.5 we consider Selman’s non constructive definition of enumer- ation reducibility (Definition 2.5.3, page 38) and we look at the proof of the equivalence betweeen this formulation and the original constructive definition due to Friedberg and Rogers (i.e. Definition 2.3.2). We also discuss two results that follow (almost) immediately from Selman’s definition. We conclude this Chapter by giving an account of Scott’s language Lambda (Section 2.6). We explain how enumeration reducibility can be defined in this language (Definition 2.3.1) and we show how to articulate basic structural results of ≤e therein.

2.2 Turing Machines and Reductions

We present below the Turing machine models that we will be using and we define the associated reducibilities.

2.2.1 Main Matter

We begin by defining the basic deterministic Turing machine model [Tur36, Pos36] and then present its oracle and non deterministic variants.

Definition 2.2.1 (Deterministic Turing Machine). We define a deterministic Turing machine ϕ in the standard way. Our presentation follows that of Soare [Soa87]. Accordingly ϕ consists of the following components.

• An infinite two way tape divided into cells each containing either B (blank) or 1.

• A reading head that scans one cell of the tape at a time. 2.2. TURING MACHINES AND REDUCTIONS 11

• A finite set of internal states Q = {q0, . . . , qn}.

• Three possible operations. (1) Change from one internal state to another. (2) Change the scanned symbol s to another symbol s0 ∈ S = {1,B}. (3) Move the reading head one cell to the right (R) or left (L).

The operation of ϕ is dictated by a finite partial map

δ : Q × S → Q × S × {R,L}

We call δ the control of ϕ. Observe that δ is essentially a finite set of instruc- tions, i.e. a program. Accordingly δ dictates the behavious of ϕ in the following manner. If δ(q, s) = (q0, s0,X0) with q, q0 ∈ Q, s, s0 ∈ S and X0 ∈ {R,L} then, whenever ϕ is in state q with its reading head scanning a cell containing s, ϕ replaces s by s0, changes into state q0 and moves one cell left or right according to the value of X0.

We assume that ϕ has three distinguished states: the initial state qi, the output (successful halt) state qo and the fail (unsuccessful halt) state qf . (Ob- serve that the latter is non standard. Its addition here is for reasons of concision and has no effect on the overall characteristics of the machine model.) The input x is represented by a string of x + 1 consecutive 1’s on the tape.

The computation of ϕ on input x starts in state qi with its head scanning the leftmost cell containing a 1. The computation then proceeds according to the instructions contained in the control δ. If ϕ(x) halts in the output state qo then, by definition, ϕ(x) outputs the integer y corresponding to the total number of 1’s on the tape (written ϕ(x)↓ = y ). If ϕ halts in the fail state or continues indefinitely (in an infinite loop) then ϕ(x) is said to fail, i.e. ϕ(x) has no output (written ϕ(x)↑). At each stage p in the computation of ϕ(x) , the state of the instantaneous condition of the computation is uniquely identified by the internal state of the machine q, the contents s0 of the cell being scanned, the symbols on the left of the head s−m . . . s−1 up to the last 1 and the symbols on the right of the head s1 . . . sn up to the last 1. Accordingly we call the configuration of ϕ(x) at stage 12 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY p the tuple

(s1, . . . , s−1, q, s0, s1, . . . , sn) .

A halting computation of ϕ(x) is thus a sequence of configurations c0, c1, . . . , cl where c0 represents the machine ϕ in state qi scanning the leftmost symbol of x and cl represents ϕ in either the output (qo) or the fail (qf ) halting state.

Definition 2.2.2 (Deterministic Oracle Turing Machine). Suppose that we equip ϕ with an extra (oracle) tape and an extra reading head for this tape. Also suppose that we modify the description of ϕ so that ϕ has an internal query state (qq) allowing ϕ to write numbers on the oracle tape and an answer state (qa) allowing ϕ to read numbers from the oracle tape. In this case ϕ is said to be a deterministic oracle Turing machine on the understanding that the oracle information (i.e. the answer provided for any query) is provided by a function. If ϕ is equipped with (function) oracle g (written ϕg), then ϕg(x) is said to fail if it queries a number z such that g(z)↑ (in addition to the other cases when ϕg(x) is said to fail as stipulated in Definition 2.2.1). Otherwise the description of ϕ is that of Definition 2.2.1. Accordingly ϕg(x)↓ = y denotes the situation when ϕg(x) (halts successfully and) outputs y whereas ϕg(x)↑ denotes the situation when ϕg(x) fails. Observe that we can regard any computation of ϕ as a sequence of configurations similar to the description in Definition 2.2.1.

Definition 2.2.3 (Non Deterministic Turing Machine). Suppose that the description of ϕ is that of Definition 2.2.1 with the difference that δ is not a function. Indeed we suppose that δ is a one-many relation in the sense that, for any (q, s) there may may be two or more different triples (q0, s0,X0), (q00, s00,X00) such that both ( (q, s) , (q0, s0,X0)) ∈ δ and ( (q, s) , (q00, s00,X00)) ∈ δ. (Any such relation can also be described as many-one, i.e. we are just articulating the notion of a relation in an idiosyncratic manner to suit the definition of our machine model.) In this case we say that ϕ is a non determinisitic Turing machine. We say that δ is a one-k relation if for any pair (q, s) ∈ Q × S there are at most k different triples (q0, s0,X0) such that ( (q, s) , (q0, s0,X0)) ∈ δ and such 2.2. TURING MACHINES AND REDUCTIONS 13 that k is the least such number (in the sense that there is at least one pair (ˆq, sˆ) related to k different triples via δ). Note that such a k always exists as δ is finite. We now define ϕ to be a k-way non deterministic Turing machine if its control δ is one-k. This means that ϕ can guess between up to as many as k different ways to proceed at certain stages in a computation. Accordingly if cp is a configuration of ϕ during a computation of ϕ(x) then cp+1 might be one of up to k different configurations. In other words the (possible) computations of ϕ(x) form a k-ary tree. We say that ϕ(x) outputs y (written ϕ(x) ↓ = y ) if there exists a halting computation of ϕ(x) that outputs y and y is unique in the sense that every other halting computation of ϕ(x) either outputs y or fails. We say that ϕ(x) fails (written ϕ(x)↑) if every halting computation of ϕ(x) fails. Otherwise—i.e. in the case when there exist at least two (possible) halting computations of ϕ(x) that output different numbers—we say that ϕ(x) is inconsistent (written ϕ(x)↓↓).

Definition 2.2.4 (Non Deterministic Oracle Turing Machine). Suppose that ϕ is defined as in Definition 2.2.3 except that ϕ is equipped with an oracle in the manner described in Definition 2.2.2. Then we say that ϕ is a non deterministic oracle Turing machine. If ϕ is equipped with function oracle g (written ϕg), then a computation of ϕg(x) is said to fail if it queries a number z such that g(z)↑ (in addition to the other cases when such a computation is said to fail as stipulated by Defi- nition 2.2.3). With this in mind ϕg(x)↓ = y denotes the situation when ϕg(x) outputs y whereas ϕg(x)↑ denotes the situation when ϕg(x) fails and ϕg(x)↓↓ denotes the situation when ϕg(x) is inconsistent, as described in Definition 2.2.3.

For any Turing machine defined as in Definition 2.2.1 or Definition 2.2.3 we say that ϕ computes function f if ϕ(x) ↓ = f(x) whenever x ∈ Dom(f) and ϕ(x) ↑ whenever x ∈ ω − Dom(f). On the other hand, for any oracle Turing machine defined as in Definition 2.2.2 or Definition 2.2.4 and function g we say that ϕ computes function f with oracle g if ϕg(x)↓ = f(x) whenever 14 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY x ∈ Dom(f) and ϕg(x)↑ whenever x ∈ ω − Dom(f). In the first case we write f = ϕ and in the second case we write f = ϕg. Accordingly we say that the partial function (total function) f is partial computable (computable) if f = ϕ for some deterministic (or non deterministic, as we shall see later) Turing machine

ϕ. Likewise set A is computable if cA = ϕ for some such machine ϕ. We say that A is computably enumerable (c.e.) if A = Ran(f) for some partial1 computable function f or, equivalently, if sA is partial computable (see Note 2.2.10).

Definition 2.2.5. Suppose that A, B are subsets of ω and f, g are (partial) functions from ω into ω. We say that f is Turing reducible to g (f ≤T g) if f = ϕg for some deterministic oracle Turing machine ϕ. We also say that A is

Turing reducible to g (A≤T g) if cA ≤T g and that A is Turing reducible to B

( A≤T B) if cA ≤T cB.

Definition 2.2.6. Suppose that f, g are (partial) functions from ω into ω. We g say that f is non deterministic Turing reducible to g (f ≤NT g) if f = ϕ for some non deterministic oracle Turing machine ϕ.

Definition 2.2.7. Suppose that A, B are subsets of ω. We say that A is (set- N wise) non deterministic Turing reducible to B (A≤T B) if sA ≤NT cB .

Remark 1. Notice that the above non deterministic definitions can easily be N completed. Accordingly we could let g ≤NT A denote g ≤NT sA and g ≤T

A denote g ≤NT cA . Then, following the example of Definition 2.2.5 (with semi characteristic functions replacing characteristic functions) we would define

A ≤NT B if sA ≤NT sB . However, as we shall see in Section 2.4, the latter is equivalent to A ≤e B. Thus, in order to avoid notational ambiguity we limit N the definitions of ≤NT and ≤T to those given above. In particular we suppose N that ≤T is only defined over sets.

Remark 2. The polynomial time bounded version of non deterministic Turing NP reducibility (≤T ) defined in the literature (see for example [LLS75] page 117, N and Chapter 4 below) is a version of ≤T (and not of ≤NT). 1Of course, if A 6= ∅ then we can suppose f to be (total) computable—see Note 2.2.10. 2.2. TURING MACHINES AND REDUCTIONS 15

Note 2.2.8. We observed in Definition 2.2.1 that a halting computation of a Turing machine is made up of a sequence of configurations. Now, it is easily seen that (arbitrary) sequences of such configurations can be effectively coded in ω. Suppose therefore that we have an appropriate coding scheme. Then, given a (non oracle) Turing machine ϕ and x, y ∈ ω we can effectively check whether any n ∈ ω codes a halting computation of ϕ(x) that (successfully halts and) outputs y. On the other hand, if ϕ is an oracle Turing machine with oracle g such that Dom(g) is computable then this check is effective in g. Indeed for any configuration c of ϕg(x) in the query state with (say) z the number to be queried, we can effectively decide whether z ∈ Dom(g) or not. Call such a query configuration bad if z∈ / Dom(g) . Then clearly, for any (arbitrary) sequence of g configurations c0, . . . , cp of ϕ (x) we can effectively decide if c0, . . . , cp contains a bad query configuration or not (and of course if it does then it does not constitute a sucessfully halting computation of ϕg(x)). It follows that the set

g Outϕ = { hw, x, yi | w encodes a halting computation of ϕg(x) that outputs y } (2.2.1) is computable in g. Observe that this is not the case in general—i.e. if Dom(g) is not computable. g If Dom(g) is computable and g is partially computable then the set Outϕ is itself clearly computable. In particular, it follows that, if {hn | n ∈ ω} is the computable enumeration of finite functions defined on page 6, then the set

Outϕ = { hw, x, y, Di | w encodes a halting computation

of ϕhD (x) that outputs y } (2.2.2) is computable. (Notice that hD is shorthand for hn iff D is shorthand for Dn.) Note that these observations clearly apply to any Turing machine whether deterministic or not.

Definition 2.2.9. For any A, B ⊆ ω, we say that A is computably enumerable in B (A c.e. in B) if there exists a partial function f ≤T cB such that A =

Ran(f) or, equivalently, if sA ≤T cB (see Note 2.2.10). 16 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Note 2.2.10. We can generalise Definition 2.2.9 to a relation between sets and functions. Accordingly, for any A ⊆ ω, and partial function g (from ω into ω), define A c.e. in g if there exists a partial function f ≤T g such that A = Ran(f). We can now (supposing A and g to be any set and function as just described) observe the following equivalences.

(a) If Dom(g) is computable then

A c.e. in g iff sA ≤T g . (2.2.3)

Indeed, to prove (⇐ ) define fA to be the partial function with graph

{ hx, xi | x ∈ A }. Then clearly fA ≤T sA and so fA ≤T g (whether or not Dom(g) is computable). Also Ran(f) = A by definition. On the other

hand, to prove (⇒) suppose that A = Ran(f) such that f ≤T g and that deterministic oracle Turing machine ϕ witnesses the latter. Define function

tˆA from ω × ω into ω such that  g  1 if n = hw, x, yi (say) and hw, x, yi ∈ Outϕ , tˆA(y, n) =  t(y, n + 1) otherwise ,

g where Outϕ is defined according to (2.2.1) in Note 2.2.8. Then clearly

tˆA ≤T g. Also, it is easily checked that   1 if y ∈ A, tA(y) =def tˆA(y, 0) =  ↑ otherwise .

In other words, tA ' sA and so sA ≤T g.

(b) If Dom(g) is computable then, using a similar argument to that used in (a)

it is easily shown that A c.e. in g iff there exists a binary relation R≤T g such that, for all y ∈ ω,

y ∈ A iff ∃nR(y, n) . (2.2.4)

(c) If Dom(g) is computable and A 6= ∅ , then A = Ran(f) for some partial ˆ ˆ f ≤T g iff A = Ran(f) for some total f ≤T g (where, as usual, “partial” 2.2. TURING MACHINES AND REDUCTIONS 17

means either total or non total). Indeed, if f is partial, A = Ran(f) and f = ϕg for some deterministic oracle Turing machine ϕ, then choose a ∈ A and define, for all z ∈ ω,  g  y if z = hw, x, yi (say) and hw, x, yi ∈ Outϕ , fˆ(z) =  a otherwise ,

g where Outϕ ≤T g is defined according to (2.2.1) in Note 2.2.8. Then clearly ˆ ˆ ˆ f is total and f ≤T g . Moreover Ran(f) = A since for every y ∈ ω, y ∈ A iff there exists, by assumption on f = ϕg , some w and x such that w encodes a halting computation of ϕg(x) that outputs y (i.e. such that g hw, x, yi ∈ Outϕ ).

(d) It is obvious that sA ≤T g iff there exists a deterministic oracle Turing machine ϕ such that A = { n | ϕg(n)↓ } (whether or not Dom(g) is com- putable).

Notice how (a) explains the equivalence stated in Definition 2.2.10. Note also how we could also now define, for any partial functions f and g, f c.e. in g if Graph(f) c.e. in g.

Remark. We will in fact only be interested in the relation “c.e. in” with regard to sets. Accordingly we will only use the latter in the sense stipulated by Definition 2.2.9.

For each of Definitions 2.2.1-2.2.4 we assume a fixed computable enumera- tion {ϕn | n ∈ ω} of the relevant type of Turing machine. Observe that any deterministic Turing machine is simply a 1-way non deterministic Turing ma- chine and so the non deterministic essentially subsume (i.e. via a computable map) the deterministic ones. We also suppose that { Wn | n ∈ ω } is the computable enumeration of c.e. sets defined such that Wn = Ran(ϕn)

(i.e. { y | ∃x[ ϕn(x)↓ = y ] } ) for all n ∈ ω, where {ϕn | n ∈ ω} is our enumer- ation of deterministic Turing machines, and we say that function f has partial computable index n if f = ϕn. 18 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Lemma 2.2.11. Suppose that f, g are partial functions from ω into ω such that f is constant. Then f ≤NT g iff there exists a non deterministic oracle Turing machine ϕ such that, for all x ∈ ω,

f(x)↓ = y iff ϕg(x)↓↓y (2.2.5) where the notation ϕg(x)↓↓ y means that there exists at least one computation of ϕg(x) that outputs y (but there may exist at least one other computation of ϕg(x) that outputs some y0 6= y—i.e. ϕg(x) may be inconsistent).

Proof. (⇒) Obvious.

(⇐) Suppose that f(x) = c for all x ∈ Dom(f) and suppose that ϕ witnesses

(2.2.5). Define ϕb so that ϕb simulates ϕ with the difference that (for any x) whenever ϕ(x) (halts successfully and) outputs some y 6= c then ϕb(x) enters the fail state. It is easy to see that that ϕb witnesses f ≤NT g.

Definition 2.2.12 (Deterministic acceptor). We define a deterministic (oracle) Turing machine acceptor ϕ to be as described in Definition 2.2.1 and Defini- tion 2.2.2 with the difference that instead of the output state (qo), ϕ has a halting accept (qacc) and reject (qr) state. If ϕ is an oracle acceptor we suppose that instead of an answer state (qa), ϕ has a yes state (qy) and a no state (qn). Thus ϕ always computes a partial characteristic function (accept = 1, reject = 0) and the oracle is always understood to be a partial characteristic function (yes = 1, no = 0).

Definition 2.2.13 (Non deterministic acceptor). We define a non deterministic (oracle) Turing machine acceptor ϕ to be as described in Definition 2.2.3 and

Definition 2.2.4 with the difference that instead of the output state (qo), ϕ has a halting accept (qacc) state. If ϕ is an oracle acceptor we suppose that instead of an answer state (qa), ϕ has a yes state (qy) and a no state (qn). Thus ϕ always computes a semi-characteristic function (accept = 1) and the oracle is always understood to be a partial characteristic function (yes = 1, no = 0).

Notation. For any set B, we use ϕB as shorthand for a Turing machine acceptor B with oracle cB and we write A = ϕ if A reduces to B via ϕ. 2.2. TURING MACHINES AND REDUCTIONS 19

Without loss of generality we can assume that the two models described in

Definition 2.2.12 and Definition 2.2.13 underpin respectively ≤T , considered as N a relation over Pω, and ≤T (which we only defined over Pω). Accordingly, we will usually drop the term acceptor since the type of machine used is dictated by the context (i.e. acceptors for reductions between sets and general (functional) Turing machines otherwise). The reader should notice that these assumptions are presentation orientated and are otherwise superfluous to any arguments or proofs used (in the sense that everything could be carried out using our more general Turing machine models defined earlier.) N Also note that by Lemma 2.2.11 we can assume that if A≤T B, then there exists a non deterministic oracle Turing machine (acceptor) such that, for all x ∈ ω,

x ∈ A iff there exists an accepting computation of ϕB(x) . (2.2.6)

Bearing these observations in mind we assume a computable enumeration

{ ϕn | n ∈ ω } for each of the four types of Turing machine acceptor such that, in the non deterministic case ϕn behaves in operational terms as just described (for all n ∈ ω).

2.2.2 Other Reducibilities and Notation

K denotes the halting problem { n | ϕn(n)↓ } , and KB denotes the Turing jump B of B, namely the set { n | ϕn (n) ↓ } (relative to the appropriate listings of deterministic machines described above). For deterministic Turing reductions we use Q(ϕ, x, B) to denote the set of oracle queries made by ϕB on input x. Likewise we use Q+(ϕ, x, B) to denote the set of positive queries of the computation and Q−(ϕ, x, B) to denote the set of negative queries.

We say that A is many one reducible to B (A ≤m B) if there is a computable function f such that A = f −1(B). Furthermore, if f is one-one, A is said to be one-one reducible to B (A ≤1 B). A is said to be truth table reducible to B ( A ≤tt B ) if there is a computable function f such that, for all n ∈ ω, 20 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

n ∈ A iff B |= σf(n) where { σm | m ∈ ω } is an effective enumeration of propositional formulae (called truth table conditions) constructed from atoms of the form “z ∈ X”. A is said to be positive reducible to B,(A≤p B) if there exists a computable function f : ω → ω+ such that, for all x ≥ 0, x ∈ A ⇔

∃y(y ∈ Df(x) & Dy ⊆ B). We say that A is wtt-reducible to B (A≤wtt B), if there exists a Turing machine ϕ and computable function f such that A = ϕB and such that for all x ≥ 0, Q(ϕ, x, B) ⊆ {0, . . . , f(x)}.

For any relation ≤r we define ≡r = ≤r ∩r ≥ . Thus if ≤r is transitive and reflexive ≡r is an equivalence relation. Suppose that r = T . Then we call the equivalence classes of ≤r over Pω the Turing degrees (DT) and the partially ordered structure induced by ≤T over DT the Turing degree structure

(hDT , ≤ i). For simplicity we identify DT with hDT , ≤ i. Also, for any subclass

A ⊆ DT we use AT to denote the substructure of hDT , ≤ i corresponding to A 0 (i.e. hA , ≤ i). We use aT,bT, etc. to denote Turing degrees and aT to denote the jump of aT, i.e. degT(KA) for any A ∈ aT.

We use the above notation for degrees in a similar way for the other standard reducibilities (≤1 , ≤m , etc.) and for the reducibilites that we introduce below

(i.e. for ≤e and ≤se in particular). Subscripts are dropped if the context is clear.

A is said to be r-hard for a class C if X ≤r A for all X in C and A is said to be r-complete for C if A also belongs to C. We use the shorthand Comp(A), and Ce(A) to denote the classes { E | E R A } such that (respectively) R is

≤T and “ c.e. in ”. Accordingly, we use Comp and Ce to denote the classes of computable and c.e. sets. Also we will employ the abbreviations r-reduction, r-degree etc. when appropriate.

We assume the reader to be conversant with the arithmetical hierarchy rel- A A A ative to a set A ( {Σn , Πn , ∆n | n ∈ ω } ) and, in particular the basic definition A Σ1 = { X | X c.e. in A } . 2.3. CONSTRUCTIVE ENUMERATION REDUCIBILITY 21

2.3 Constructive Enumeration Reducibility

We now introduce enumeration reducibility via its standard informal and formal definitions and we present an alternative definition in terms of deterministic oracle Turing machines.

2.3.1 Main matter

Enumeration reducibility was originally defined by Rogers in an early draft of [Rog67] and first mentioned in published form by Friedberg and Rogers in [FR59]. Rogers presents (on page 145 of [Rog67]) the intuitive model underlying this reducibility as follows.

“Let sets A and B be given. Consider a procedure that is determined by a finite set of instructions in the following way. A computation is begun. The computation proceeds algorithmically except that, from time to time, the computing agent may be requested to obtain an “in- put” integer, and, from time to time the procedure yields an “output” integer. When an input is requested, any integer, or no integer, may be supplied. Assume that when the members of B are supplied, in any order whatever as inputs, then the computation always eventually yields the set A, in some order, as outputs. The order in which the members of A appear may vary as the order of inputs varies. (We permit repetitions in the listing of B and in the listing of A.) If such a procedure exists we say that A is enumeration reducible to B.”

Rogers then gives a concise reformulation of the above. We use this as the basic informal definition of enumeration reducibility.

Definition 2.3.1 (First version of ≤e ). For any A, B ⊆ ω, A is enumera- tion reducible to B ( A ≤e B ) if there is an effective procedure for getting an enumeration of A from any enumeration of B.

A straightforward argument (see [Rog67] page 146) shows that this definition can be made precise in the following manner. 22 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Definition 2.3.2 (Second version of ≤e ). For any A, B ⊆ ω, A≤e B if there exists a c.e. set W such that, for all x ∈ ω,

x ∈ A iff ∃D[ hx, Di ∈ W & D ⊆ B ] , (2.3.1)

and in this case we say that A≤e B via W (or that W witnesses A≤e B ). We define ΦW to be the enumeration operator induced by W in the sense of (2.3.1) and we accordingly use the notation A = ΦW (B).

Notation. We use the alternative notation Φn in the above definition if W = th Wn, the n c.e. set in our standard computable listing { Wn | n ∈ ω } of c.e. th sets. We say that Φn is the n enumeration operator. We obviously obtain a computable listing { Φn | n ∈ ω } of all enumeration operators in this way.

Rogers also suggested an oracle Turing machine characterisation of ≤e in which the model is adapted to incorporate the informal description quoted above—in particular computations are not considered to fail if the oracle fails to reply—but concludes that such a model might not be general enough to include all instances of ≤e (see [Rog67] pages 145-6).

It turns out however that, in a slightly different sense, ≤e can be precisely formulated in terms of the standard oracle Turing machine model (as described in Definition 2.2.2). We prove that this can be done below (Theorem 2.3.3) and we thus obtain a further definition of for ≤e . The reader should note however that this definition does not model ≤e in the exact sense of the passage quoted above.

Notation 1. For any (partial) function f from ω into ω and A ⊆ ω, we say that f enumerates A if Ran(f) = A. Also, for any deterministic ϕ we say that ϕf (ϕ with oracle f) enumerates A if ϕf computes a (partial) f function gf (i.e. ϕ = gf ) such that gf enumerates A.

Notation 2. We assume { hn | n ∈ ω } to be the computable enumeration of all finite functions defined on page 6.

Reminder. PF denotes the class of partial functions from ω into ω. 2.3. CONSTRUCTIVE ENUMERATION REDUCIBILITY 23

Theorem 2.3.3. For any A, B ⊆ ω, A ≤e B iff there exists a deterministic oracle Turing machine ϕ such that

(∀f ∈ PF )[ f enumerates B ⇒ ϕf enumerates A ] . (2.3.2)

Proof. (⇐) Suppose that deterministic oracle Turing machine ϕ witnesses (2.3.2). Then define

0 h 0 W := { hy, Di | ∃x∃D [ ϕ D (x)↓ = y & Ran(hD0 ) = D ] } and notice that

0 0 W = { hy, Di | ∃w∃x∃D [ hw, x, y, D i ∈ Outϕ & Ran(hD0 ) = D ] } where Outϕ is defined by (2.2.2) in Note 2.2.8. Thus W is c.e. (since Outϕ is computable). We show that W witnesses the reduction A≤e B.

• Suppose that y ∈ A. Then, by assumption, for any function f such that Ran(f) = B, there exists x such that ϕf (x)↓ = y. Pick any such f and x. Then by definition, there exists a finite function h ⊆ f such that ϕh(x)↓

0 h 0 = y. Define D = Graph(h) and note that ϕ D (x)↓ = y since hD0 =def h.

Let D = Ran(hD0 ). Then hy, Di ∈ W by definition. Also clearly D ⊆ B

since Ran(hD0 ) ⊆ Ran(f) = B.

• Suppose that there exists D such that hy, Di ∈ W and D ⊆ B. Then, by

0 h 0 definition there exist x and D such that ϕ D (x) ↓ = y and Ran(hD0 ) =

D ⊆ B. Let f be any function such that hD0 ⊆ f and Ran(f) = B. (Note that f’s existence is guaranteed2 by the fact that D ⊆ B.) Then ϕf (x)↓ = y. Now, by assumption ϕf = g for some (partial) function g such that Ran(g) = A. Therefore y ∈ A since y = ϕf (x) = g(x).

(⇒) Suppose that W witnesses A ≤e B. We need to define a deterministic oracle Turing machine ϕ such that, if f is a function enumerating B then ϕf enumerates A. This is trivial if A = ∅. Namely define ϕ so that ϕ fails on any

2 For example choose n > max{ w | w ∈ Dom(hD0 ) } and define f(z) = hD0 (z) if z ∈

Dom(hD0 ), f(z) = z − n if z ∈ B + n and f(z)↑ otherwise. 24 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY input x (without consulting the oracle). If, on the other hand A 6= ∅, choose a ∈ A and pick a total computable function h that enumerates W . (Note that W 6= ∅ as A 6= ∅.) Accordingly define the procedure Proc(x) as follows.

Definition of Proc(x)

(i) Compute hm, pi such that x = hm, pi. Proceed to (ii).

(ii) Compute the number y and finite set D such that h(p) = hy, Di. If D = ∅ then output y, else proceed to (iii).

0 0 0 (iii) Compute the finite set D coded by m (i.e such that D = Dm). If ||D || ≥ ||D|| proceed to (iv), else output a (because, as the putative oracle fˆ is a function we know that fˆ(D0) 6= D for cardinality reasons in this case).

(iv) Process (interrogate) each z ∈ D0 in turn (e.g. in increasing order). Namely pass each z ∈ D0 to the putative oracle fˆ (i.e. apply query z). There are two possible outcomes. (a) fˆ(z)↑ for some z ∈ D0. Then Proc(x) fails by definition. (b) fˆ(z)↓ for all z ∈ D0. Then store fˆ(D0) and proceed to (v).

(v) Test whether fˆ(D0) = D. If so then output y, else output a.

Note that Proc(x) is clearly deterministic3. Let ϕ be a deterministic oracle Turing machine implementing Proc(x). We show that ϕ witnesses (2.3.2). To do this we need to show that, for any function f, if f enumerates B, then ϕf enumerates A. Accordingly fix any such f and consider y ∈ ω. There are two cases to consider.

• y ∈ A. Then, by definition, there exists hy, Di ∈ W such that D ⊆ B. 0 −1 −1 Define D = fleast(D) where fleast(D) =def { zv | v ∈ D } and in which 0 zv = µz( f(z) = v ), and suppose that D = Dm. Also let p = µw( h(w) = hy, Di ) (remember that h enumerates W ) and set x = hm, pi. It is now easily checked that Proc(x) outputs y.

3 Notice also that if h = fi , and thus W = Wi , then Proc(x) has fixed parameters a ∈ A as chosen above and i. 2.3. CONSTRUCTIVE ENUMERATION REDUCIBILITY 25

• y∈ / A. Then, by definition, for every hy, Di ∈ W , we know that D * B. Hence, for any x ∈ W , Proc(x) cannot output y during (ii) (since D 6= ∅).

Moreover, for any finite set D0, f(D0) 6= D since Ran(f) = B and D * B. Thus Proc(x) either fails (during (iv)(a)) or outputs a ∈ A (and not y)

We have thus shown that ϕf enumerates A. Since f was assumed to be any function enumerating B this concludes the proof.

Definition 2.3.4 (Third version of ≤e ). For any A, B ⊆ ω, A≤e B if there exists a deterministic oracle Turing machine such that

(∀f ∈ PF )[ f enumerates B ⇒ ϕf enumerates A ] , (2.3.3) in other words such that, for any partial function f (from ω into ω) , if Ran(f) = B , then ϕf computes a partial function g (i.e. g = ϕf ) such that Ran(g) = A.

In this case we say that A≤e B via ϕ (or that ϕ witnesses A≤e B ).

Remark 1. If we restrict Definition 2.3.4 to the case when A and B are non empty and f and g are understood to be total, we obtain a standard result, arising from the relation between ≤e and computable operators ([Rog67] Chap- ter 9) in common usage in the literature4. Thus the particularity of Defini- tion 2.3.4 lies in the fact that, by relaxing the totality requirement for the functions involved, enumeration reductions in which at least one of the two sets is empty are also accounted for.

Remark 2. Note how, despite the disparity with the intuitive model quoted on page 21, Definition 2.3.4 appears to precisely formalise the concise reformulation of this model given in Definition 2.3.1.

Now, suppose that ϕ witnesses A≤e B according to Definition 2.3.4 Then Rogers’ (quoted) model might be thought of as implementing a stage by stage procedure with oracle f in which, at Stage 1 one step of ϕf (0) is performed whereas (for n > 0) at Stage n + 1, each of the computations ϕf (0), . . . , ϕf (n)

4 For example in the indentification of De with a substructure of the Medvedev lattice (see [Rog67] Chapter 13 or [Sor96]). 26 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY is visited. In this model visiting ϕf (m) is tantamount to performing one (more) step of ϕf (m) if this computation has not already halted (and no step otherwise) and then passing directly on to computation ϕf (m + 1). Moreover, if z is a query made during ϕf (m) such that f(z) is undefined we suppose that that the computation is still defined and performs one (empty) step before passing to ϕf (m + 1). Obviously however this last stipulation means that the oracle resource must be viewed in a different manner to that in which it is used in our standard Turing models.

Observe that it is obvious by Definition 2.3.4 that ≤e is transitive. Indeed, 0 if ϕ witnesses A≤e B and ϕ witnesses B≤e C, then if machine ϕb is defined so as to simulate ϕ with ϕ0 replacing the oracle (so that in effect the oracle of ϕ0 becomes the oracle of ϕb), then ϕb witnesses A≤e C.

Lemma 2.3.5. If A, B ⊆ ω are such that A ≤e B and A 6= ∅ then there exists a deterministic oracle Turing machine ϕ such that the following conditions hold.

(a) ϕ witnesses A≤e B in the sense of Definition 2.3.4. f (b) For any total function f : ω → ω, ϕ computes a total function gf such

that Ran(gf ) ⊆ A.

Proof. Suppose that c.e. set Wi witnesses the reduction A≤e B in the sense of Definition 2.3.2. Then there exists an oracle Turing machine ϕ, defined so as to implement the procedure Proc(x) (with parameters i and some a ∈ A) as described in the proof of Theorem 2.3.3. Accordingly, ϕ witnesses A≤e B in the sense of Definition 2.3.4. Let f be any total function from ω into ω. Then it is easily checked that, for all x ∈ ω, Proc(x) outputs some number y ∈ A. f Thus ϕ computes a total function gf such that Ran(gf ) ⊆ A. (Moreover, if

B = ∅, then for every y ∈ A there exists hy, ∅i ∈ Wi and so there exists x such that Proc(x) outputs y during (iii). Thus Ran(gf ) = A in this case).

Notation. For any (partial) functions from ω into ω we use the shorthand f ≤e g if Graph(f) ≤e Graph(g). 2.4. ENUMERATION REDUCIBILITY AND N-T-REDUCIBILITY 27

2.3.2 Other Facts and Notation

Since ≤e is transitive (as mentioned above) and obviously reflexive, ≡e =

≤e ∩e ≥ is an equivalence relation and so gives rise to a degree structure: the enumeration degrees (De). The zero degree of De is easily seen to be Ce. We define the arithmetical e-degrees ( AR ) and the low e-degrees ( L ) to be the classes of degrees containing arithmetical and (Turing) low sets (i.e. each degree contains some such set) respectively. ARe and Le denote the corresponding substructures of De.

We call a set C total if C≤e C (i.e. C ≡e C ⊕ C). We say that an e-degree a is total if a contains a total set, or equivalently if a contains the graph of a characteristic function (or a set of the the form X ⊕ X). TOT denotes the class of total e-degrees and TOT e denotes the corresponding substructure of

De. For any set A, KA denotes the set { n | n ∈ Φn(A) } and JA denotes the 0 set KA ⊕ KA . For any e-degree a and A ∈ a, a denotes dege(JA). We call 0 (k) JA the e-jump of A and a the jump of a. JA denotes the iterated form of JA (0) (k+1) defined by: JA = A and JA = J (k) . The iterated jump of a is written JA a(k) and is defined by: a(0) = a and a(k+1) = (a(k))0 .

2.4 Enumeration Reducibility and n-T-reducibility

Non deterministic Turing reducibility between (partial) functions was studied by McEvoy in his thesis [McE84]. In this Section we rearticulate McEvoy’s and other standard results and draw some further conclusions on the relationship N between ≤NT , ≤T , ≤T , ≤e , and the relation “c.e. in ”.

Notation. We assume { hn | n ∈ ω } to be the computable enumeration of all finite functions defined on page 6.

Theorem 2.4.1 ([McE84]). For any (partial) functions f, g from ω into ω,

f ≤NT g iff f ≤e g .

Proof. (⇒) Suppose that non deterministic oracle machine ϕ witnesses the 28 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

reduction f ≤NT g. Define the set

W := { hhx, yi,Di | ϕhD (x) has a halting computation

that outputs y }

and notice that W = { hhx, yi,Di | ∃w[ hw, x, y, Di ∈ Outϕ ] } where Outϕ is defined by (2.2.2) in Note 2.2.8. Thus W is c.e. (since Outϕ is computable).

Moreover it is easily checked that f ≤e g via W (in particular because, for all x ∈ ω, it is not the case that ϕg(x)↓↓ as described in Definitions 2.2.3-2.2.4, due to the fact that ϕ witnesses a reduction between functions, namely f ≤NT g).

(⇐) Suppose that the set W witnesses the reduction f ≤e g (i.e. hx, yi ∈ Graph(f) iff ∃D[ hhx, yi,Di ∈ W & D ⊆ Graph(g) ] ). We need to define a non deterministic oracle Turing machine ϕ such that ϕg computes f (i.e. ϕg = f ).

This is trivial if f = h∅ (the nowhere defined function). Namely define ϕ so that ϕ fails for any input x (without consulting the oracle). If, on the other hand, f 6= h∅, pick a total computable function h that enumerates W . (Note that W 6= ∅ as Graph(f) 6= ∅ in this case.) Define the non deterministic procedure Pr(n, x) as follows.

Definition of Pr(n, x).

(i) Guess i ∈ {0, 1}. If i = 0 proceed to Pr(n + 1, x). If i = 1 proceed to (ii).

(ii) Compute h(n) and decode z, y, D (say) such that h(n) = hhz, yi,Di. Proceed to (iii).

(iii) Test whether z = x. If not then fail. If so, then proceed to (iv).

(iv) If D = ∅ then output y. Otherwise there exists k ≥ 0 such that D =

{ hxi, yii | 0 ≤ i ≤ k } and hxi, yii < hxi+1, yi+1i for all 0 ≤ i < k. In

this case process (interrogate) each hxi, yii in turn. Namely, pass xi to

the putative oracleg ˆ (i.e. query xi). There are three possible outcomes.

(a)g ˆ(xi) is undefined. Then Pr(n, x) fails by definition.

(b)g ˆ(xi)↓= w 6= yi. Then fail. 2.4. ENUMERATION REDUCIBILITY AND N-T-REDUCIBILITY 29

(c)g ˆ(xi)= yi. If i < k then proceed to the interrogation of hxi+1, yi+1i. If i = k then output y.

Notation. We say that an implementation of Pr(n, x) is proper (trivial) if during (i) the guess i = 1 (i = 0) is made.

Define (master) procedure Pr(x) = Pr(0, x) and let ϕ be a 2-way non determin- istic Turing machine that implements Pr(x). (Notice that if h = fi , and thus

W = Wi , then Pr(x) has fixed parameter i.) Then we can easily check that ϕ witnesses f ≤NT g. Indeed fix x ∈ ω and consider the two possible cases.

• f(x)↓. In other words f(x) = y for some y ∈ ω. Thus, as f ≤e g via W , there exists finite set D such that hhx, yi,Di ∈ W and D ⊆ Graph(g). However, W = Ran(h) and so h(n) = hhx, yi,Di for some n ∈ ω. Thus there exists a computation of ϕg(x) that outputs y. Namely, ϕg(x) implements Pr(m, x) trivially for all m < n (i.e. makes n guesses i = 0) and then implements Pr(n, x) properly. The latter outputs y by definition. Moreover, for any other

n0, y0,D0 such that h(n0) = hhx, y0i,D0i , if y0 6= y then D0 * Graph(g) (since

Ran(h) = W and W witnesses f ≤e g ) and so any proper implementation of Pr(n0, x) fails during (iv). It follows that ϕg(x) is consistent (i.e. every successfully halting computation of ϕg(x) outputs y) and so ϕg(x)↓ = y.

• f(x)↑. Then, for any y, D such that hhx, yi,Di ∈ W , it must be the case

that D * Graph(g). Hence, for any n, a proper implementation of procedure Pr(n, x) with oracle g that does not fail during (iii) must fail during (iv). This means that every possible computation of ϕg(x) fails, i.e. ϕg(x)↑.

This completes the proof of the Theorem.

Corollary 2.4.2. For any (partial) functions f, g from ω into ω, f ≤NT g iff there exists a 2-way non deterministic Turing oracle machine such that f = ϕg.

Proof. (⇒) By Theorem 2.4.1, we know that f ≤e g. But then, by the proof of Theorem 2.4.1 there exists a 2-way non deterministic machine ϕ such that f = ϕg. 30 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

(⇐) Trivial.

Notice that obviously Graph(sX ) ≡e X for any set X (and so Y ≤e Z iff sY ≤e sZ for any sets Y,Z). Thus, another consequence of Theorem 2.4.1 is that we can formulate enumeration reducibility in terms of non deterministic Turing reductions as follows.

Definition 2.4.3 (Fourth version of ≤e ). For any A, B ⊆ ω, A ≤e B if sA ≤NT sB .

Note 2.4.4. Call a non deterministic oracle Turing machine acceptor ϕ (see Definition 2.2.13) conjunctive if it only uses positive information. In other words, for any computation of ϕX (x) (i.e ϕ with putative oracle X and input x) any no response from the oracle X causes the computation to fail. Say that N B A is non deterministic conjunctive reducible to B ( A ≤c B ) if A = ϕ for such N a machine ϕ. Then Theorem 2.4.1 also tells us that ≤c is equivalent to ≤e (over Pω).

Theorem 2.4.5. For any (partial) functions f, g from ω into ω such that Dom(g) is computable

f ≤T g iff f ≤e g .

Proof. (⇒) Trivially f ≤NT g and so f ≤e g by Theorem 2.4.1.

(⇐) Suppose that f ≤e g is witnessed by W . In other words, f(x) = y iff ∃D[ hhx, yi,Di ∈ W & D ⊆ Graph(g) ]. We need to define a deterministic oracle Turing machine ϕ such that ϕg computes f (i.e. ϕg = f ). This is trivial if f = h∅ (the nowhere defined function). Namely define ϕ so that ϕ fails for any input x (without consulting the oracle). If, on the other hand, f 6= h∅, pick a total computable function h that enumerates W . (Note that W 6= ∅ as Graph(f) 6= ∅ in this case.) Define the deterministic procedure Prb (n, x) as follows.

Definition of Prb (n, x). 2.4. ENUMERATION REDUCIBILITY AND N-T-REDUCIBILITY 31

(i) Compute h(n) and decode z, y, D (say) such that h(n) = hhz, yi,Di. Proceed to (ii).

(ii) Test whether z = x. If not then proceed to Prb (n + 1, x). If so, then proceed to (iii).

(iii) If D = ∅ then output y. Otherwise there exists k ≥ 0 such that D =

{ hxi, yii | 0 ≤ i ≤ k } and hxi, yii < hxi+1, yi+1i for all 0 ≤ i < k. In

this case process (interrogate) each hxi, yii in turn. Namely test firstly

whether xi ∈ Dom(g). If not, then proceed to Prb (n + 1, x). If so then

pass xi to the putative oracleg ˆ (i.e. query xi). There are three possible outcomes.

(a)g ˆ(xi) is undefined. Then Prb (n, x) fails by definition.

(b)g ˆ(xi)↓ = w 6= yi. Then proceed to Prb (n + 1, x)

(c)g ˆ(xi)↓ = yi. If i < k then proceed to the interrogation of hxi+1, yi+1i. If i = k then output y.

Define (master) oracle procedure Prb (x) = Prb (0, x) . Note that Prb (x) is clearly deterministic and effective, since Dom(g) is computable5. Moreover, if g is the oracle for Prb (x) then (iii)(a) is redundant—i.e. never happens. Accord- ingly let ϕ be a deterministic oracle Turing machine that implements Prb (x).

Then we can easily check that ϕ witnesses the reduction f ≤T g (namely that Prb (x) with oracle g outputs f(x) whenever f(x)↓ and does not halt—i.e. fails— otherwise).

Corollary 2.4.6. For any (partial) functions f, g from ω into ω such that Dom(g) is computable,

f ≤T g iff f ≤NT g .

Proof. Apply Theorem 2.4.1 and Theorem 2.4.5.

We now establish the analogy hinted at by our manner of defining the rela- N tions “≤T ” and “ c.e. in ”. (see Definition 2.2.7 and Definition 2.2.9). 5 Notice also that if h = fi (and so W = Wi ) and j is the index of a deterministic Turing machine that computes cDom(ˆg) , then Prb (x) has fixed parameters i and j. 32 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Proposition 2.4.7. For any A, B ⊆ ω,

N A c.e. in B iff A≤T B iff sA ≤e cB iff A≤e B ⊕ B.

Proof. By Corollary 2.4.6, sA ≤T cB iff sA ≤NT cB ; this proves the first equiv- alence. By Theorem 2.4.1 sA ≤NT cB iff sA ≤e cB ; this proves the second equivalence. The third equivalence is obvious (since B ⊕ B ≡e Graph(cB)).

Remark. Corollary 2.4.6 also implies that, for any A, B ⊆ ω, cA ≤NT cB iff cA ≤T cB . In other words the notation A ≤T B can also be thought of as shorthand for cA ≤NT cB .

Note 2.4.8. Suppose that A, B ⊆ ω and that W ⊆ ω is a c.e. set such that, for all x ∈ ω,

x ∈ A iff ∃D[ hx, Di ∈ W & D+ ⊆ B & D− ⊆ B ] . (2.4.1)

+ − Then A = ΦW (B ⊕ B) by definition (since “D ⊆ B & D ⊆ B ” is equivalent to “D ⊆ B ⊕ B ”). N On the other hand, for any X,Y ⊆ ω, X ≤T Y iff X ≤e Y ⊕ Y by Proposi- tion 2.4.7. Bearing this in mind, define ΦbW to be the n-T-operator witnessing

(2.4.1) in the sense that A = ΦbW (B) = ΦW (B ⊕ B) . Accordingly if we assume

{ Φbn | n ∈ ω } to be an enumeration of n-T-operators derived from our standard enumeration of e-operators {Φn | n ∈ ω }, then for any X,Y ⊆ ω,

N X ≤T Y iff X = Φbn(Y ) for some n ∈ ω. In practice, in the present context we will only take advantage of the equiv- alence X c.e. in Y iff X = Φn(X ⊕ X), for some n ∈ ω, guaranteed by Propo- sition 2.4.7 (see the proof of Theorem 2.5.2 below). Note however that we will make extensive use of a variant of the notion of an n-T-operator in the context of polynomial time bounded reductions.

Finally in this Section we draw the reader’s attention to the relationship between DT and De implied by Theorem 2.4.5. In effect, if f, g are total functions 2.5. NON CONSTRUCTIVE ENUMERATION REDUCIBILITY 33

then the Theorem tells us that f ≤T g iff f ≤e g . We can thus see that DT is essentially a substructure (TOTe) of De.

Reminder. The notation CX is shorthand for Graph(cX ).

Proposition 2.4.9. The embedding ιe of the Turing degrees into the e-degrees induced by the map X 7→ CX is an order embedding that preserves suprema and least element.

The reader should also note that a central element of our study of the sym- metric enumeration degrees (Chapter 3) is precisely the above map viewed as an embedding from the Turing degrees into the symmetric enumeration degrees.

2.5 Non Constructive Enumeration Reducibil- ity

In [Sel71] Selman formulated a non constructive definition of a reducibility that turned out to be equivalent to enumeration reducibility. We look briefly at Selman’s original argument in Note 2.5.1 below, and we then present a version of Selman’s proof of the above equivalence. We also discuss results that follow from Selman’s definition.

Note 2.5.1 (Selman’s argument). In [Sel71] Selman defined two classes of re- + + lations {

A B A

X X A Gn B iff (∀X ⊆ ω)[ B ∈ Σn ⇒ A ∈ Σn ] .

Selman proved that (over Pω) <1 is equivalent to ≤T (Corollary 1.4 of [Sel71]).

Moreover Selman also showed that G1 is essentially the same as ≤e . Indeed, on page 344 of [Sel71] Selman defined a relation =1 such that, for any A, B ⊆ ω,

A =1 B iff there exist (total) computable functions f and g such that, for all x ∈ ω, x ∈ A iff ∃y(∀z < f(y))[ g(x, y, z) ∈ B ] , (2.5.1) 34 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY and went on to prove (Theorem 2.8 on page 347) that, if B/∈ {∅, ω}, then

A =1 B iff A G1 B .

Now, if A =1 B via functions f and g in the sense of (2.5.1) then the c.e. set Wc = { hx, Di | ∃y[ D = { g(x, y, z) | z < f(y) } ] } witnesses A≤e B . In the other direction, if A≤e B and A = ∅ then if we let f be the constant zero function (i.e. f(x) = 0 for all x ∈ ω), then f with any computable g witnesses A =1 B. However if A 6= ∅ and B = ∅ then clearly there are no f and g witnessing (2.5.1). On the other hand if we assume that A 6= ∅ and B 6= ∅ then we can choose a (total) computable function f enumerating W (since A 6= ∅ implies W 6= ∅). If also we suppose that B 6= ω, then we can pick b ∈ B and define (total) computable g such that   z if f(y) = hx, Di and z ∈ D g(x, y, z) =  b otherwise.

Then, if we define f 0 so that f 0(y) = f(y) + b + 1, we see that f 0 and g witness the reduction A =1 B . We thus know that A =1 B ⇒ A ≤e B for all A, B and A≤e B ⇒ A =1 B provided that B/∈ {∅, ω}. Thus Selman’s proof of the

(almost) equivalence of =1 and G1 shows that, if B/∈ {∅, ω} then A ≤e B iff A G1 B. However the condition B/∈ {∅, ω} is clearly an artefact of the definition of =1. Accordingly Selman’s proof shows, to all intents and purposes, the equivalence of ≤e and G1.

We now proceed by presenting a version of Selman’s proof due (mainly) to Copestake [Cop97] and Cooper [Coo90].

Theorem 2.5.2. For all sets A, B ⊆ ω,

A≤e B iff (∀X ⊆ ω)[ B c.e. in X ⇒ A c.e. in X ] (2.5.2)

Proof. (⇒) Suppose that deterministic oracle Turing machine ϕ witnesses

A≤e B (in the sense of Definition 2.3.4). Let X be any set and let f be a (par- f tial) function f ≤T X enumerating B (see Note 2.2.10). Then ϕ enumerates 2.5. NON CONSTRUCTIVE ENUMERATION REDUCIBILITY 35

A. In other words, there exists (partial) g such that ϕf = g and g enumerates

A. Thus g ≤T X (since g ≤T f via ϕ and f ≤T X) and so A is c.e. in X by definition.

(⇐) We prove the contrapositive of ⇒. Namely we show that if Ae B , then there exists a set C such that B c.e. in C (and in fact B ≤e C ) but A is not c.e. in C.

Notation. We use the notation for strings described on page 7 and we assume # : 2<ω → ω to be a (one-one onto) computable coding of all such strings. We suppose { Φn | n ∈ ω } to be the standard computable listing of e-operators defined on page 22.

The set C is constructed so as to satisfy, for all n ≥ 0, the requirement

Rn : A 6= Φn(C ⊕ C) .

Thus, by Proposition 2.4.7 we guarantee A not c.e. in C. However, during the construction of C we also satisfy the condition that, for all x ∈ ω, x ∈ B iff ∃y[ hx, yi ∈ C ]. Accordingly we ensure that B c.e. in C .

The construction. C is constructed by finite initial segments {αn}n≥0 so S + that, at the end of the construction, C = { αn | n ≥ 0 }.

Notation. For any σ ∈ 2<ω we define the predicate

+ admissible(σ, n) ≡ αn ⊂ σ & ∀x∀y[ hx, yi ∈ σ ⇒ x ∈ B ]

&(∀x ≤ n)[ x ∈ B ⇒ ∃y(hx, yi ∈ σ+)]

for n ≥ 0 and admissible(σ, −1) = true (where αn ⊂ σ denotes αn ⊆ σ and

|σ| > |αn|). Observe that the last conjunct of admissible(α, n) is of course shorthand for (∀x ≤ n)[ x∈ / B ∨ ∃y(hx, yi ∈ σ+) ].

Stage n = 0. α0 = λ (the empty string).

Stage n+1. At this point in the construction αn has already been defined. We 36 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

diagonalise against e-operator Φn. There are three logical cases to be considered.

+ − Case 1. ∃x [ x∈ / A & ∃σ( admissible(σ, n)& x ∈ Φn(σ ⊕ σ ))]

+ − Case 2. ∃x [ x ∈ A & ∀σ( admissible(σ, n) ⇒ x∈ / Φn(σ ⊕ σ ))]

+ − Case 3. ∀x [ x ∈ A iff ∃σ( admissible(σ, n)& x ∈ Φn(σ ⊕ σ ))]

We will show in Claim 1 that Case 3 contradicts our original assumption that

Ae B. We thus proceed as follows.

• If Case 1 holds, let (x, σ) be the least pair satisfying admissible(σ, n) and

x ∈ Φn(σ) and define αn+1 = σ.

• If Case 2 holds, let αn+1 be the least string σ satisfying admissible(σ, n). Note

that by induction αn satisfies admissible(αn, n − 1) and so it follows easily + that such a σ exists. (Indeed, we only need to ensure that ∃y[ hn, yi ∈ αn+1 ] + iff n ∈ B. Now, if hn, yi ∈ αn for some y then we know that n ∈ B as αn

satisfies admissible(αn, n − 1) and we can set αn+1 = αn b 0. If there is no

such y then we define αn+1 according to whether n ∈ B or not. If not, we

let αn+1 = αnb 0. If on the other hand n ∈ B we let y = µz[ hn, zi ≥ |αn| ] 6 k and we define αn+1 = αn (b0) b hn, yi where k = hn, yi − |αn|.)

Analysis of the construction. We complete the proof by proving the fol- lowing three Claims.

Claim 1. For any n ≥ 0, Case 3 does not hold at Stage n + 1.

Proof. Suppose otherwise, i.e. suppose that Case 3 holds at some Stage n + 1.

We show that this implies A ≤e B in contradiction with our original assumption. We firstly define the set

+ W = { h#(σ),Di | αn ⊂ σ &(∀z ≤ n)[ z∈ / B ∨ ∃y(hz, yi ∈ σ )]

& D = { x | ∃y[ hx, yi ∈ σ+ }}

6 This notation means that for example, if k = 2, then αn+1 = αn b 0 b 0 bhn, zi. 2.5. NON CONSTRUCTIVE ENUMERATION REDUCIBILITY 37

Observe that W is computably enumerable. Moreover clearly

{ #(σ) | admissible(σ, n) } ≤e B (2.5.3)

+ − via W . Now define Wc = { hx, {#(σ)} i | x ∈ Φn(σ ⊕ σ ) } and note that Wc is also computably enumerable. Also, our present assumption that Case 3 holds implies that A≤e { #(σ) | admissible(σ, n) } via Wc. Thus, by (2.5.3) and transitivity of ≤e , we know that A≤e B (contradiction). 3

Claim 2. B c.e. in C.

Proof. Note firstly that, by construction αn satisfies

admissible(αn, n − 1) (2.5.4) for all n ≥ 0. Fix x ∈ ω and consider x relative to B.

• x∈ / B. Suppose also that hx, yi ∈ C for some y. Then, for some nx > x

hx, yi ∈ αn for all n ≥ nx. However this contradicts (2.5.4).

• x ∈ B. Then, by (2.5.4) for the case n = x + 1, there exists y such that + hx, yi ∈ αx+1 ⊆ C.

Thus B ≤e C via the set W = { hx, {hx, yi}i | x, y ∈ ω } and so B c.e. in C. 3

Claim 3. Requirement Rn is satisfied for all n ≥ 0.

Proof. By Claim 1, at Stage n + 1, either Case 1 or Case 2 hold at Stage n + 1. + − If Case 1 holds there exists x∈ / A such that x ∈ Φn(αn+1 ⊕ αn+1) and thus, by definition x ∈ Φn(C ⊕C). On the other hand, if Case 2 holds, there exists x ∈ A + − such that x∈ / Φn(σ ⊕σ ) for all σ satisfying admissible(σ, n). Suppose that x ∈ + − Φn(C ⊕C). Then, for some m ≥ n, x ∈ Φn(αm+1 ⊕αm+1). But by construction

αm+1 satisfies admissible(αm+1, m) and thus also satisfies admissible(αm+1, n).

However the Case 2 hypothesis is that no such initial segment (as αm+1) exists.

Hence x∈ / Φn(C ⊕ C). It follows that in both cases Rn is met. 3 38 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

By Claim 2, B c.e. in C whereas Claim 3 ensures that A not c.e. in C. Thus

C witnesses the fact that, if A e B then it is not the case that (∀X ⊆ ω)[ B c.e. in X ⇒ A c.e. in X ] . This completes the proof.

By the above result we obtain a non constructive definition of ≤e .

Definition 2.5.3 (Fifth version of ≤e ). For all A, B ⊆ ω, A≤e B if

(∀X ⊆ ω)[ B c.e. in X ⇒ A c.e. in X ] .

Note 2.5.4. By Proposition 2.4.7 we also know that A≤e B iff

N N (∀X ⊆ ω)[ B≤T X ⇒ A≤T X ] . (2.5.5)

Similarly, by Corollary 1.4 of [Sel71], A≤T B iff

N N (∀X ⊆ ω)[ X ≤T A ⇒ X ≤T B ] .

One advantage of Selman’s non constructive definition of ≤e is that it pro- vides us with a straightforward means of proving that ≤e is a maximal transi- tive subrelation of “ c.e. in ” (see Theorem 2.7 of [Sel71]). We prove a slightly stronger result.

Notation. We say that a class C ⊆ Pω is an e-ideal if C is closed under join

(i.e. A, B ∈ C ⇒ A ⊕ B ∈ C ) and closed under ≤e (i.e. B ∈ C & A≤e B ⇒

A ∈ C ). We say that C is Turing jump closed if KA ∈ C whenever A ∈ C.

Theorem 2.5.5. ≤e is a maximal transitive subrelation of the relation “ c.e. in ” over any Turing jump closed e-ideal.

Proof. Let C be a Turing jump closed e-ideal and suppose that there exists a transitive relation R over C such that ≤e ⊂ R ⊆ “c.e. in ” over C. Thus there exist sets A, B ∈ C such that A R B but Ae B. Now, by the proof of

Theorem 2.5.2, there exists a set B ≤e C such that A not c.e. in C. Also the construction of C is clearly effective in KA⊕B. Thus, by hypothesis, C ∈ C.

So B ≤e C implies that B R C and hence A R C (since A R B and R is transitive). However this means that A c.e. in C contradicting our assumption relative to A and C. 2.5. NON CONSTRUCTIVE ENUMERATION REDUCIBILITY 39

Corollary 2.5.6. For any set A, ≤e is a maximal transitive relation of the relation “c.e. in ” over the Arithmetical Hierarchy relativised to A.

Remark 1. Soskov proved in Theorem 1.4 of [Sos00] that, for any A, B ⊆ ω,

A≤e B iff

(∀X ⊆ ω)[ B c.e. in X & JX = JB ⇒ A c.e. in X ] .

Call a class C e-jump down if, whenever B ∈ C and JX = JB then X ∈ C. Then, by a similar argument to the proof of Theorem 2.5.5, we can show that over any e-jump down e-ideal ≤e is a maximal transitive subrelation of “c.e. in ”. Note that the class of low sets is an e-jump down e-ideal.

Remark 2. Another consequence (using Proposition 2.4.7) of Selman’s defini- tion of ≤e is that, for any a, b ∈ De,

a ≤ b iff (∀x ∈ T OT )( b ≤ x ⇒ a ≤ x ) , (2.5.6) and from this we can directly derive Sorbi’s result [Sor98] that TOT is an automorphism base of De. Namely, suppose that F is an automorphism of De such that F (c) = c for all c ∈ T OT .

• Let d be any total e-degree such that a ≤ d. Then F (a) ≤ F (d) since F is

an automorphism of De. Also F (d) = d since d ∈ T OT . Thus F (a) ≤ d. It follows by (2.5.6) that F (a) ≤ a since d was chosen arbitrarily.

• Let e be any total e-degree such that F (a) ≤ e. Then F (a) ≤ F (e) since F (e) = e by totality of e. Thus a ≤ e as F is an automorphism. It follows by (2.5.6) that a ≤ F (a) since e was chose arbitrarily.

Thus F (a) = a (since F (a) ≤ a and a ≤ F (a)) for all a ∈ De.

Remark 3. With Remark 2 in mind notice that Soskov’s theorem tells us that, for any a, b ∈ De,

a ≤ b iff (∀x ∈ T OT )( x0 = b0 & b ≤ x ⇒ a ≤ x ) , (2.5.7) 40 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Define an ideal I to be jump down if, for any e-degrees a and d, if, whenever a ∈ I and d0 = a0, then d then d ∈ I. Then we can show, using a similar argument to that followed in Remark 2, that for any such I the substructure of

De induced by I (i.e. Ie) has automorphism base I ∩T OT . Thus the structures

ARe (the arithmetical degrees) and Le (the low degrees) have automorphism bases AR ∩ T OT and L ∩ T OT respectively.

2.6 Enumeration reducibility and Lambda

Scott showed in [Sco75, Sco76] that enumeration reducibility can be expressed in terms of the λ-calculus. Namely Scott defined an extension of the language of the λ-calculus (Lambda) and showed that enumeration reducibility corresponds precisely to application by closed terms of this language, under the interpreta- tion in Pω first developed for the pure λ-calculus by Plotkin in [Plo72]. The work that we present below is both an attempt at presenting Scott’s original construction and at showing how this leads to a natural setting for articulating the basic properties of enumeration reducibility and its degree structure. The reader will observe however that we introduce a generalised language GLambda containing enough constants for each of the members of Pω. This is an idiosyn- cracy of our own presentation and not to be found in Scott’s work. There are two reasons for this approach. The first stems from the fact that the succinctness of Scott’s account follows partly from the fact that he eschews a formal defi- nition of the semantics of the language Lambda. Since, for reasons of clarity, we would like to underline the difference between language and interpretation we need some means of formally describing the latter. The standard means of doing this (see for example [Bar84] Chapter 18) is to introduce valuations for the countably many variables of Lambda. Our approach is to postulate a fixed set of constants for Pω and to extend Lambda by allowing these con- stants as basic terms of the language (so obtaining GLambda). This enables us to define the interpretation of closed terms of the language only, thus avoid- ing reference to valuations. (Terms with free variables have implicit values as 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 41 functions Pω → Pω and we restrict ourselves to a form of shorthand for their denotation—see the Notation detailed on page 45.) The second reason is that we need constants in any case to express enumeration reducibility in this context and so it is not unnatural to postulate their existence sooner rather than later.

Notation. We use standard notation for terms of the λ-calculus (as found, for example in [Kri90]). In particular we use x, y, z, . . . to denote variables, λx.t to denote (instances of) abstractions and (t)u to denote applications. We often use shorthand for terms when the meaning is clear, for example,

(t)n u for (t)(t) ... (t) u | {z } n (t)u v w for (((t)u)v)w

(t)u (v)w for ((t)u)(v)w and so on.

2.6.1 The language Lambda and the C.E. Sets.

Before introducing the languages Lambda and GLambda we briefly review the notion of continuity that we will be using. Indeed we shall work within the framework of the Scott topology for the complete partial order (h Pω , ⊆ i. The induced topological space has as (countable) basis sets of the form:

Un = { A ⊆ ω | Dn ⊆ A } .

Accordingly every open set is a union of sets of this form. A function F : Pωk → Pω is continuous in this context iff

[ F (A1,...,Ak) = {F (Dn1 ,...,Dnk ) | Dn1 ⊆ A1,...,Dnk ⊆ Ak }

Note 2.6.1 (The integers as subspace). For any number n ∈ ω we identify n with the singleton set {n} and ω with the corresponding (discrete) subspace of Pω. 42 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Definition 2.6.2. The graph of a continuous function F : Pωk → Pω is defined by the equation

graphk(F ) = { hh... hn, mki, mk−1i,...i, m1i | n ∈ F (Dm1 ,...,Dmk ) }

for all k ≥ 1. We write graph(F ) as shorthand for graph1(F ). Thus, if k = 1,

graph(F ) = { hn, mi | n ∈ F (Dm) }.

Definition 2.6.3. The function Pω → Pω determined by any set A ⊆ ω is defined by the equation

fun(A)(X) = { n | ∃m[ hn, mi ∈ A & Dm ⊆ X ] } and generally, for k ≥ 1, the function Pωk → Pω determined by A is defined by induction. . .

fun1(A)(X) = fun(A)(X)

funk+1(A)(X1,X2,...,Xk+1) = fun( funk(A)(X2,...,Xk+1))( X1 )

Lemma 2.6.4 ([Sco75, Sco76]). For all k ≥ 1, every continuous function F : Pωk → Pω is uniquely determined by its graph in the sense that

funk( graphk(F ))(X1,...,Xk) = F (X1,...,Xk) (2.6.1) conversely every set A ⊆ ω determines a continuous function and we have

A ⊆ graphk(funk(A)) (2.6.2) where equality holds if A satisfies

hhn, mki, . . . , m1i ∈ A & Dm1 ⊆ Dp1 ,...,Dmk ⊆ Dpk (2.6.3)

⇒ hhn, pki, . . . , p1i ∈ A

for all mi, pi ∈ ω, 1 ≤ i ≤ k. 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 43

Lemma 2.6.5 ([Sco75, Sco76]). Continuous functions of several variables over Pω are closed under substitution.

Theorem 2.6.6 (The fixed point Theorem (Kleene)). Every continuous func- tion F : Pω → Pω has a least fixed point given by the formula:

[ fix(F ) = { F n(∅) | n ∈ ω } (2.6.4) where F n is the n-fold composition of F with itself.

We now introduce the language Lambda and its extension by constants GLambda and we describe the interpretation of closed terms of the language GLambda.

Definition 2.6.7. Let x, y, . . . be a countable set of variables. A Lambda term is obtained by application of the following rules a finite number of times:

• a variable x is a Lambda term • 0 is a Lambda term • if u is a Lambda term, then u+1 is a Lambda term • if u is a Lambda term, then u−1 is a Lambda term • if u, v, t are Lambda terms then u ⊃ v, t is a Lambda term • if x is a variable and u is a Lambda term then λx.u is a Lambda term • if u and v are Lambda terms then (u)v is a Lambda term.

Free variables of a term t are defined as usual (for the λ-calculus). A closed Lambda term is a term having no free variables. Closed Lambda denotes the set of such terms.

Note 2.6.8. We assume C to be a fixed set of constants (parameters) having the same cardinality as Pω.

Definition 2.6.9 (Parametric environment). A total onto function η : C → Pω is said to be a parametric environment for Pω.

Note 2.6.10. It is of course standard mathematical practice to name sets Pω with more or less meaningful symbols—Dn, A etc.—according to the context. 44 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Likewise we allow naming or shorthand for constants. For example (for any parametric environment η) if η(Aζ ) = Dn then we allow Dn as (meaningful) shorthand for Aζ . In other words, in general we use

η(A) = A whenever we designate A ⊆ ω

η(Dn) = Dn for all n ∈ ω

η(n) = n (=def {n}) for all n ∈ ω and so on.

Definition 2.6.11 (GLambda). Assume C be the fixed set of constants stipu- lated above. A Generalised Lambda (GLambda) term is obtained by a finite number of applications of the rules of Definition 2.6.7 with the additional rule

• a constant A ∈ C is a GLambda term.

Closed GLambda denotes the set of closed GLambda terms. For any term t, FV (t) denotes its set of free variables and setConst(t) denotes the collection of set constants (i.e. members of C) in t.

Definition 2.6.12. Assume that C be the fixed set of constants stipulated above and let η be a parametric environment for Pω. The map

[[ ]]η : Closed GLambda → Pω is defined as follows:

[[ A ]]η = η(A) for every A ∈ C (2.6.5)

[[ 0 ]]η = 0 i.e. the singleton {0} (2.6.6)

[[ u+1 ]]η = { n+1 | n ∈ [[ u ]]η } (2.6.7)

[[ u−1 ]]η = { n | n+1 ∈ [[ u ]]η } (2.6.8)

[[ u ⊃ v, t ]]η = { n ∈ [[ v ]]η | 0 ∈ [[ u ]]η } ∪ { n ∈ [[ t ]]η | ∃k ( k+1 ∈ [[ u ]]η ) } (2.6.9)

[[(u)v ]]η = { n | ∃m ( hn, mi ∈ [[ u ]]η & Dm ⊆ [[ v ]]η ) } (2.6.10)

[[ λx.u ]]η = { hn, mi | n ∈ [[ u[Dm/x] ]]η } (2.6.11) 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 45

where u, v and t are closed GLambda terms. Moreover, u[Dm/x] is the closed GLambda term obtained by replacing all (free) occurrences of x in u by the constant Dm (see Note 2.6.10).

Note 2.6.13. The outcome of the work below does not depend on which para- metric environment η we use. Thus, for simplicity of notation, we assume η to be fixed and we think of η as the generic parametric environment. Accordingly from now on we use [[ ]] instead of [[ ]]η. (Notice however that for clarity we shall mention η for functional notation—see the Notation presented below.)

Remark. The interpretation of the term u ⊃ v, t can be made explicit as follows  ∅ if [[ u ]] = ∅    [[ v ]] if [[ u ]] = 0 (i.e. {0}) [[ u ⊃ v, t ]] =  [[ t ]] if 0 ∈/ [[ u ]] 6= ∅   [[ v ]] ∪ [[ t ]] otherwise.

Definition 2.6.14 (GLambda/Lambda definability). We say that a term of the language GLambda (Lambda) defines a function of its free variables. For any set A and finite class U = {B1,...,Bn} we say that A is Lambda definable in U iff A = [[ t ]] for some closed GLambda term t such that η( setConst(t)) ⊆ U (i.e. the set constants in t are all mapped to—so are constants representing— sets in U). Moreover, if U = {B} we say that A is Lambda definable in B and if U = ∅ we say that A is Lambda definable.

Notation. For any GLambda term with free variables in {x0, . . . , xn−1} we use the notation

(X0,...,Xn−1) 7→ [[ t[x0, . . . , xn−1] ]]hη(xi)=Xi | i

Theorem 2.6.15. For all k ≥ 1 and any function F : Pωk → Pω, F is continuous iff it is GLambda definable.

Proof. See Appendix A.1 page 205. 46 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Corollary 2.6.16 ([Sco75, Sco76]). All Lambda definable functions are con- tinuous.

Definition 2.6.17. Let u and v be any GLambda terms. Then we say that u

α-transforms to v (u *α v) if, for some y not occurring in u,

u = λx.u0 and v = λy.u0[y/x](α)

and we say that u β-transforms to v (u *β v) if

u = (λx.t)w and v = t[w/x]. (β)

0 0 We say that u α-reduces to v (u →α v) if there are subterms u and v of u 0 0 0 0 and v respectively such that u *α v and v = u[v /u ]—in other words if v 0 0 is obtained from u by the single transformation u *α v . Similarly we say that u β-reduces to v (u →β v)if the same conditions hold with α replaced by

β. We also say that u αβ-reduces to v (u →αβ v) if u →α v or u →β v and we call αβ-equivalence ('αβ) the equivalence relation on terms induced by the transitive closure of this relation. In other words, u 'αβ v iff u = v or there exists n ≥ 1 and terms u0, . . . , un such that u0 = u and un = v and ui →αβ ui+1 or ui+1 →αβ ui for all 0 ≤ i < n.

Theorem 2.6.18. For all closed GLambda terms u, v, λx.t, λx.w:

(a) u 'αβ v implies [[ u ]] = [[ v ]]. (b) (The ξ rule) [[ λx.t ]] = [[ λx.w ]] iff for all A ⊆ ω, [[ t[A/x] ]] = [[ w[A/x] ]].

Proof. See Appendix A.1 page 207.

Corollary 2.6.19 ([Sco75, Sco76]). Pω is a model (satisfying α,β and ξ) for the λ-calculus.

Note 2.6.20 (Scott’s Reduction Theorem). Let u be a closed GLambda term such that setConst(u) = {B1, B2,..., Bn}. Then, by Theorem 2.6.18,

0 [[ u ]] = [[(λx1, . . . λxn.u ) B1 B2,... Bn ]] 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 47

0 where u = u[x1/B1, . . . , xn/Bn]. Notice that this reiterates an implicit Corol- lary of Theorem 2.6.15, notably that F : Pωn → Pω is continuous iff there exists a closed GLambda term u such that

F (X1,X2,...,Xn) = [[(u) x1 x2 . . . xn ]]hη(xi)=Xi | 1≤i≤ni.

Definition 2.6.21 (Generalised Enumeration Operator [Cas71]). Define Φ : Pω2 → Pω to be the continuous function induced by application of GLambda terms:

ΦX0 (X1) := [[(x0)x1 ]]hη(xi)=Xi | i<2i

Accordingly, for any A ⊆ ω (closed GLambda term u) we say that ΦA (Φ[[ u ]]) is the generalised operator defined by A (u).

Note 2.6.22. By Definition 2.6.21 we are able to use the following notation:

ΦA(B) =def [[(A)B ]]

Φ[[ u ]]([[ v ]]) =def [[(u)v ]] for any A, B ⊆ ω and u, v ∈ Closed GLambda etc. Also notice that Φ is obviously Lambda definable. Indeed

ΦX0 (X1) = [[( λs.λz.(s)z ) x0 x1 ]]hη(xi)=Xi | i<2i

Theorem 2.6.23 (The Combinator Theorem [Sco75, Sco76]). A set A ⊆ ω is Lambda definable iff

A = [[ u ]] for some (closed) term u generated by finitely many applications of the combi- nators 2.6.12-2.6.17 below. A function F : Pωk → Pω is Lambda definable iff

F (X1,...,Xk) = [[(s) x1 . . . xk ]]hη(xi)=Xi | 1≤i≤ki for some (closed) Lambda term s generated by finitely many application of the 48 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY combinators 2.6.12-2.6.17 below.

0 = 0 (2.6.12)

suc = λx.x+1 (2.6.13)

pred = λx.x−1 (2.6.14)

cond = λx.λy.λz.x ⊃ y, z (2.6.15)

K = λx.λy.x (2.6.16)

S = λu.λv.λy.((u)x)(v)x . (2.6.17)

Proof. Let u be any closed Lambda term. Then, by induction on the structure 0 0 of u we can show that u 'αβ u such that u is derived from u by replacing every instance of a subterm of the form

v + 1 w − 1 s ⊃ v, v0 by (respectively)

(suc)v (pred)w (cond) s v v0 .

Also, if we set u00 := u0[w/0, x/suc, y/pred, z/cond] such that w, x, y, z are new free variables (i.e. not appearing in u0 before this substitution), then

0 00 u 'β (λw.λx.λy.λz.u ) 0 suc pred cond

However λw.λx.λy.λz.u00 is a closed term of the pure λ-calculus. Hence, by a standard result of the λ-calculus (see for example [Bar84] Proposition 8.1.2.) there exists a (closed) term t generated (solely) by applications of K and S such that 00 t 'αβ λw.λx.λy.λz.u .

This means that u 'αβ (t) 0 suc pred cond and so

[[ u ]] = [[(t) 0 suc pred cond ]] and the term (t) 0 suc pred cond is generated from the combinators 2.6.12- 2.6.17. 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 49

Notation. We use n as shorthand for (suc)n0 (whereas n is a member of C, i.e. a set constant). Thus, in Pω,

n =def {n} = [[ n ]] = [[ n ]] (2.6.18) for all n ∈ ω. Accordingly we will use the Lambda terms n in preference to the GLambda constants n.

Definition 2.6.24. The paradoxical combinator Y is defined by the equation

Y := λu. (λx.(u)(x)x) λx.(u)(x)x (2.6.19)

Theorem 2.6.25 (The First Recursion Theorem [Sco75, Sco76]). If F : Pω → Pω is continuous and G = graph(F ) then

fix(F ) = [[(Y)G ]] ( =def Φ[[Y]](G))

Remark. Theorem 2.6.25 implies that, for any continuous function F : Pω →

Pω and finite D ⊆ Pω, if F is definable in D then fix(F ) is also. Also notice that Y induces a continuous operator.

Note 2.6.26 (Interlude on functions and graphs). Suppose that F : Pω → Pω is continuous and let G = graph(F ). Notice that F (X) =def fun(G)(X) and

fun(G)(X) = [[(G)x ]]hη(x)=Xi (2.6.20) and, for any A ⊆ ω,

graph(fun(A)) = [[ λx.(A)x ]] (2.6.21) in the terminology of Definitions 2.6.2-2.6.3. It then follows that

G =def { hn, mi | n ∈ F (Dm) }

= { hn, mi | n ∈ [[(G)Dm ]] }

= [[ λx.(G)x ]]

Also, if u is any closed GLambda term, (e.g. A) such that

[[ u ]] = [[ λx.(u)x ]] 50 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY then

[[ u ]] = graph([[(u)x ]]hη(x)=Xi).

In other words, by Theorem 2.6.15, [[ u ]] (i.e. A if u = A) is the graph of a continuous function. It therefore seems perfectly natural to take graph(F ) to be the canonical element in in Pω representing F . Accordingly we can identify F with its graph. This means that the space of continuous functions Pω → Pω can be identified with

FUN = { A | A = [[ λx.(A)x ]] } ⊆ Pω

Note 2.6.27 (Some Lambda definitions). We list below some useful constants and functions that Scott observed to be Lambda definable.

(a) The constant ⊥ such that [[ ⊥ ]] = ∅. Note that ∅ is the least fixed point of the identity function X 7→ X. So define

⊥ := (λx.(x)x) λx.(x)x (2.6.22) since

(Y) λx.x 'αβ (λx.(x)x) λx.(x)x

(b) The term ∪ such that [[ x ∪ y ]] = [[ x ]] ∪ [[ y ]] is defined by

x ∪ y := λz.0 ⊃ x, y . (2.6.23)

(c) The constant > such that [[ > ]] = ω is defined by

> := (Y) λx.0 ∪ (x+1) . (2.6.24)

(d) The term ∩ such that [[ x ∩ y ]] = [[ x ]] ∩ [[ y ]] is defined is defined in two stages. Firstly define:

intersect0 = (Y) λs.λz.λx.λy. x ⊃ [y ⊃ z, ⊥], (s) z+1 x−1 y−1 (2.6.25) 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 51 and then define

intersect = (intersect0) 0 . (2.6.26)

And now we use the latter to define ∩. Accordingly,

x ∩ y = (intersect) x y . (2.6.27)

See Appendix A.1 page 211 for proof.

(e) hhhx0, . . . , xn−1iii defines the function Pω → Pω that canonically extends (in the sense of Definition 2.6.32 below), the map   xi if i < n i 7→ (2.6.28)  ∅ if i ≥ n

This term is defined by the equations

hhhiii := ⊥ (2.6.29)

hhhxiii := λz.z ⊃ x, ⊥ (2.6.30)

hhhx, yiii := λz.z ⊃ x, [z−1 ⊃ y, ⊥] (2.6.31)

hhhx0, . . . , xn−1iii := λz.z ⊃ x0, (hhhx1, . . . , xn−1iii) z−1 (2.6.32)

In other words hhh...iii defines finite sequences. Note that this means that, for S any A ⊆ ω, [[(hX0,..., Xn−1i) A ]] = { Xi | i ∈ An } and so in particular we indeed obtain the behaviour indicated in (2.6.28), namely if m < n then

[[(hX0,..., Xn−1i) m ]] = Xm whereas [[(hX0,..., Xn−1i) m ]] = ∅ if m ≥ n. We would of course like to generalise this to infinite sequences over ω (i.e. functions with infinite domain over ω). This leads us to the definition below.

Definition 2.6.28. The closed Lambda terms seq0 and seq are defined by the equations

seq0 = (Y) λs.λw.λu.λz. z ⊃ (u)w, (s) w+1 u z−1

seq = (seq0) 0 52 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Lemma 2.6.29 ([Sco75, Sco76]). For any closed GLambda term u

[[(seq)u ]] = [[ λx.S{ (u)n | n ∈ x } ]] where S{ (u)n | n ∈ x } is shorthand for the term having obvious meaning (with n ranging over ω).

Proof. See Appendix A.1 page 213.

Note 2.6.30 ([Sco75, Sco76]). The combinator seq revalues a term as a dis- tributive function where we call F : Pω → Pω distributive if [ F (X) = { F (n) | n ∈ X } (2.6.33)

This is of course a stronger notion that continuity ( F (X) = S { F (D) | D ⊆ X } with D ranging over the finite sets). In particular seq provides us with the means to define functions f : ω → ω in GLambda (and Lambda).

Definition 2.6.31 ([Sco75, Sco76]). For any GLambda term u, define

λn ∈ ω.u := (seq) λx.u[x/n]

Remark. This definition means that for any closed GLambda terms λx.u and v, [ [[(λn ∈ ω.u)v ]] = { [[(λx.u)n ]] | n ∈ [[ v ]] } which, if v = A,

[ = { [[(λx.u)n ]] | n ∈ A }

Definition 2.6.32 (Canonical Extension). For any set A ⊆ ω and function f : A → Pω we use the following shorthand7:

F = { hm, ni | n ∈ f(m) } (2.6.34) f ∗ = { hn, 2mi | n ∈ f(m) } (2.6.35)

ˆ m ∗ f = { hn, ki | ∃m ( hn, 2 i ∈ f & m ∈ Dk ) } (2.6.36)

= { hn, ki | ∃m ( n ∈ f(m)& m ∈ Dk ) } (2.6.37)

7 Observe that the notation F accords with that stipulated in the Introduction (page 5). 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 53

In particular, if f : A → ω then n ∈ f(m) is equivalent to f(m) = n . fˆ is said to be the canonical extension of f because (a) it is the (graph of the) minimal continuous extension of f in Pω and (b) fˆ and f are enumeration equivalent in the following sense: ∗ ˆ F ≡1 f ≡e f.

Note 2.6.33 (Definability). For any set A ⊆ ω, a function f : A → ω is considered to be a mapping ω → ω ∪ {∅} in this context, where f(n) = ∅ is equivalent to f(n)↑. Accordingly we understand definability for such functions to be the notion that precisely reflects this behaviour.

Definition 2.6.34. For any k ≥ 1, a function F : Pωk → Pω is said to be strongly Lambda (GLambda) definable if there exists a closed Lambda (GLambda) term

λn1 ∈ ω . . . λnk ∈ ω.u such that,

F (X1,...,Xk) = [[(λn1 ∈ ω . . . λnk ∈ ω.u) x1 . . . xk ]]hη(xi)=Xi | 1≤i≤ki i.e. such that F is Lambda (GLambda) definable and such that the set [[ λn1 ∈

ω . . . λnk ∈ ω.u ]] is the graph of F . Closed terms of the form [[ λn1 ∈ ω . . . λnk ∈ ω.t ]] are referred to as strong Lambda (GLambda) terms.

Note 2.6.35. If s is a strong Lambda (GLambda) term, that (strongly) defines function f : ωk → ω then, by definition

[[ s ]] = f.ˆ

Note 2.6.36 (Scott’s approach to definability). At this point in the discussion, Scott introduces the notion of (set) computable functions and proves a gen- eral definability Theorem for such functions and, in consequence, a definability Theorem for the Ce. Scott’s argument is encapsulated in Lemma 2.6.37 Def- inition 2.6.38 and Theorem 2.6.39 below. The reader is referred to [Sco75] or [Sco76] for proofs. 54 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Lemma 2.6.37 ([Sco75, Sco76]). The primitive recursive functions are (stron- gly) Lambda definable.

Definition 2.6.38 ([Sco75, Sco76]). A continuous function F : Pωk → Pω is said to be (set) computable iff

{ hm, n1, . . . , nki | m ∈ [[(F ) Dn1 ... Dnk ]] } (2.6.38) is c.e. (Notice that, in accordance with Note 2.6.26, we identify F with its graph).

Theorem 2.6.39 ([Sco75, Sco76]). For a k-ary continuous function F , the following are equivalent: (a) F is computable.

(b) [[ λx1 . . . λxk. (F ) x1 . . . xk ]] is c.e.

(c) [[ λx1 . . . λxk. (F ) x1 . . . xk ]] is Lambda definable.

Note 2.6.40. Definability of Ce (in the sense of Theorem 2.6.44) follows easily from the above. We take a slightly different approach here. We prove that the partial computable functions with values and range in ω are strongly Lambda definable and we then prove Scott’s definability Theorem for Ce. The framework of this argument is based on a similar proof in [Kri90] Chapter 2. Note that by this approach we also obtain a definability Theorem for the class of partial computable functions.

Lemma 2.6.41. Let u, v, w be any closed GLambda terms. Then (a) [[(u)v ]] = ∅ if [[ u ]] = ∅ (b) [[ u ⊃ v, w ]] = ∅ if [[ u ]] = ∅ (a) [[(u)v ]] = ∅ if u = λn ∈ ω.u0 and [[ v ]] = ∅

Proof. (a) and (b) follow by Definition 2.6.12. For (c) consider closed GLambda terms λn ∈ ω.u0 and v such that [[ v ]] = ∅. Then

[ [[(λn ∈ ω.u0)v ]] = [[ u0[n] ]] n∈[[v]] = ∅ . 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 55

Note 2.6.42. Lemma 2.6.41 implies that for all closed GLambda terms u and 0 v1, . . . , vk, [[(u) v1 . . . vk ]] = ∅ if u = λn1 ∈ ω . . . λnk ∈ ω.u and [[ vi ]] = ∅ for some 1 ≤ i ≤ k.

The above observations are instrumental in establishing the following defin- ability result for partial computable functions.

Proposition 2.6.43. Any partial computable function from ωk into ω (for any k ≥ 1) is strongly Lambda definable.

Proof. See Appendix A.1, page 216.

Theorem 2.6.44 ([Sco75, Sco76]). A set A ⊆ ω is Lambda definable iff A is c.e.

Proof. (⇒) Suppose that A is Lambda definable. Then, by Theorem 2.6.23

A = [[ u ]] for some (closed) Lambda term generated by finitely many applications of the combinators defined in Equations 2.6.12-2.6.17. Now, it is straightfoward to show that, for each such combinator c, its denotation [[ c ]] is c.e. Also if t and v are (closed) terms such that [[ u ]] and [[ v ]] are both c.e. then clearly [[(t)v ]]

(= Φ[[t]]([[ v ]])) is c.e. So, by induction on the structure of u, A = [[ u ]] is c.e. (⇐) Suppose that A is c.e. Then A = Ran(f) for some computable function f : ω → ω. By Proposition 2.6.43, f is strongly Lambda definable; i.e. fˆ = [[ s ]] for some strong Lambda term s. However this means that

[[(s)> ]] =def Φfˆ(ω) = f(ω)

= A

Thus A is Lambda definable (see Note 2.6.27 (c) for the definition of >).

Theorem 2.6.45. The class of strongly Lambda definable functions with argu- ments in ω and values in ω is precisely the class of partial computable functions. 56 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Proof. (⊆) Suppose that k ≥ 1 and f : ωk → ω is strongly Lambda definable. In other words fˆ = u for some strong Lambda term

0 u =def λn1 ∈ ω . . . λnk ∈ ω.(u ) n1 . . . nk . (2.6.39)

Thus W := [[ u ]] is c.e. and, being the canonical extension of f we can effectively compute f from it. Indeed, let Ws be a computable enumeration of W , then

nk n1 f(n1, . . . , nk) = π0( µhn, s, n1, . . . , nki { hh... hn, 2 i,...i, 2 i ∈ Ws } ) . (2.6.40) Therefore f is partial computable.

(⊇) Proposition 2.6.43.

By Theorem 2.6.44 we know that

Ce = { [[ u ]] | u ∈ Closed Lambda } . (2.6.41)

However, as Scott showed we can easily define a computable enumeration of such sets. We now proceed in a similar way

Definition 2.6.46. For any GLambda term u define:

Gu := (cond) hhhsuc, pred, cond, K, S, uiii 0

and set G := G0.

Proposition 2.6.47 ([Sco75, Sco76]). For any closed Lambda term u there exists a term uG consisting uniquely of a combination of G and such that [[ u ]] =

[[ uG ]].

Proof. By Theorem 2.6.23, for any closed Lambda term u there exists a term uC wαβ u such that uC is a combination of the six constants stipulated, i.e. of 0, suc, etc. . . However one can easily show that the denotation (in Pω) of each such constant is the same as the denotation of a closed Lambda term consisting 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 57 uniquely of a combination of G. For example:

[[(G)G ]] = [[ 0 ]]

[[(G)(G)G ]] = [[ hhhsuc, pred, cond, K, S, 0iii ]]

[[( (G)(G)G )(G)G ]] = [[ suc ]]

[[( (G)(G)G )(((G)(G)G )(G)G )(G)G ]] = [[ pred ]] and so on.

Theorem 2.6.48 ([Sco76]). There exist closed Lambda terms val and apply such that, for all n, m ∈ ω,

[[(apply) n m ]] ∈ ω (2.6.42)

[[(val) 0 ]] = [[ G ]] (2.6.43)

[[(val)(apply) n m ]] = [[( (val) n )(val) m ]] (2.6.44)

And so val enumerates all Lambda definable sets in the following sense:

Ce = { [[(val) n ]] | n ∈ ω }

Proof. Since the pairing function (n, m) 7→ hn, mi is computable, by Propo- sition 2.6.43 we can derive the closed Lambda terms pair, fst and snd such that:

[[(pair) n m ]] = hn, mi (2.6.45)

[[(fst) n ]] = π1(n) (2.6.46)

[[(snd) n ]] = π2(n) (2.6.47) and we can thus also define

apply := (suc)(pair) n m (2.6.48) so that

[[(apply) n m ]] = hn, mi + 1. 58 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Now, using Theorem 2.6.25, define the term val such that

[[ val ]] = [[ λn ∈ ω. n ⊃ G, ((val)(fst) n−1 ) (val)(snd) n−1 ]]

(where n−1 is shorthand for pred n). In other words, set

val := (Y) λs.λn ∈ ω. n ⊃ G, ((s)(fst) n−1 ) (s)(snd) n−1 . (2.6.49)

Equations 2.6.42, 2.6.43 and 2.6.44 are clearly satisfied by val and apply.

2.6.2 Enumeration Degrees and Lambda

We have seen (Theorem 2.6.44) that a set W is c.e. iff W = [[ u ]] for some closed Lambda term u. Also, it is obvious by this result, and by inspection of (2.6.10) in Definition 2.6.12, that application by a closed Lambda term corresponds precisely to an enumeration reduction. Thus, using our convention that for every X ∈ Pω, we can use X as shorthand for any constant X0 ∈ C such that [[ X0 ]] = X, we can write down Scott’s definition [Sco75, Sco76] of enumeration reducibility in terms of Lambda (or more precisely in terms of GLambda).

Definition 2.6.49 (Sixth version of ≤e ). For A, B ⊆ ω, A≤e B if there exists a closed Lambda term u such that:

A = [[(u) B ]] .

As an almost trivial exercise we now show how the basic properties of ≤e are expressed in this context. However, before proceeding we need a substitution property for the denotation of closed GLambda terms.

Lemma 2.6.50. For any n ≥ 1, GLambda term t with free variables x1, . . . xn, and closed GLambda terms u1, . . . , un and v1, . . . , vn,

n ^ [[ ui ]] = [[ vi ]] ⇒ [[ t[u1/x1, . . . , un/xn] ]] = [[ t[v1/x1, . . . , vn/xn] ]] . i=1 Proof. A straightforward induction on the structure of GLambda terms.

Fact 1. ≤e is transitive. 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 59

Proof. Let A, B, C be any sets such that A ≤e B and B ≤e C. Then, by Lemma 2.6.49 there exist closed Lambda terms u and v such that:

A =def [[ A ]] = [[(u) B ]] and

B =def [[ B ]] = [[(v) C ]]

In other words:

A = [[(u) B ]]

= [[(u)(v) C ]] by Lemma 2.6.50

= [[( λx. (u)(v) x ) C ]] by Theorem 2.6.18 (a)

Thus A≤e C since obviously λx. (u)(v) x ∈ Closed Lambda.

Fact 2. ≤e is reflexive.

Proof. A =def [[ A ]] = [[(λx.x) A ]].

We now show that degrees arise naturally in this context as subclasses of

Pω that are downward closed under ≤e .

Notation. A class A ⊆ Pω is said to be closed under application if, for any sets A and B:

A, B ∈ A implies [[(A)B ]] ∈ A

A ⊆ Pω is said to be a subalgebra if Ce ⊆ A and A is closed under application.

Definition 2.6.51 ([Sco75, Sco76]). For any set A the downward e-degree of A ↓ (written Dege(A)) is defined to be the class:

{ [[(u)A ]] | u ∈ Closed Lambda }.

Note 2.6.52. The degrees obtained via the above definition are ordered by ↓ inclusion. Note that the resulting degree structure (written De ) is obviously isomorphic to De. 60 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Theorem 2.6.53 ([Sco75, Sco76]). The downward enumeration degrees are ex- actly the finitely generated subalgebras of Pω. Moreover, every such subalgebra can be generated by a single set.

↓ Proof. Let A be any set and consider Dege(A). Note firstly that, for any closed

Lambda term u, the term (K)u is also closed and u wβ (K) u A. In other words: [[ u ]] = [[( (K)u ) A ]]

↓ ↓ Therefore Ce ⊆ Dege(A). Now suppose that B,C ∈ Dege(A). Then, for some closed Lambda terms u and v:

B =def [[ B ]] = [[(u) A ]] and

C =def [[ C ]] = [[(v) A ]].

Therefore, by Theorem 2.6.18 and Lemma 2.6.50:

[[(B)C ]] = [[( (u)A )(v)A ]]

= [[(S) u v A ]]

↓ and so (since (S) u v ∈ Closed Lambda): [[(B)C ]] ∈ Dege(A). It follows that ↓ Dege(A) is a subalgebra finitely generated by [[ G ]] and A.

On the other hand, suppose that A is a finitely generated subalgebra of Pω with generators A1,...,An. Then define:

t := GhhhA1,...,Aniii

=def (cond) hhhsuc, pred, cond, K, S, hhhA1,..., Aniiiiii 0

And so, by the same argument as that used to prove Proposition 2.6.47 we can see that [[ t ]] generates A. Now consider any E ∈ A; then it is the denotation of some closed GLambda term made up uniquely of a combination of t. For 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 61 example E might be [[ (((t)t )t )(t)t ]] which would mean that:

E = [[ (((t)t )t )(t)t ]]

= [[ ( λx.(((x)x )x )(x)x ) t ]]

↓ ↓ Hence, E ∈ Dege([[ t ]]) and, so it follows that A ⊆ Dege([[ t ]]). The opposite ↓ ↓ inclusion (i.e. Dege([[ t ]]) ⊆ A) is obvious, and so A = Dege([[ t ]]).

Corollary 2.6.54. Every downward enumeration degree is a model (satisfying α, β, ξ) for the λ-calculus. In particular Ce is a model.

↓ ↓ ↓ Notation. Downward enumeration degrees are denoted by ae, be, ce etc. and the sub/superscripts are dropped when the context is unambiguous. The least, ↓ or zero degree is denoted 0e.

Reminder. For any X ⊆ ω,ΦX is the generalised enumeraton operator induced by X (see Definition 2.6.21 on page 47).

Remark. Notice how Theorem 2.6.53 tells us that, for any A, X ⊆ ω, if X ≤e A ↓ ↓ (i.e. if X ∈ Dege(A)) then [[(X) A ]] is in Dege(A). In other words, ΦX (A)≤e

A. It follows that, for any B ⊆ ω, B≤e A iff (∃X ≤e A)[ B = ΦX (A) ].

As a second easy exercise we demonstrate three basic properties of the (down- ward) enumeration degrees thus giving a glimpse of how structural properties of ≤e are proved in this context.

↓ Fact 3. 0e = Ce.

Proof. This follows directly from Theorem 2.6.53.

Reminder. hhh , iii is defined in Note 2.6.27(e) on page 51.

Fact 4. The downward enumeration degrees form an upper semi-lattice.

Proof. Consider any A, B ⊆ ω. We show that

↓ ↓ ↓ Dege(A) ∪ Dege(B) = Dege( [[ hhhA, Biii ]]) . 62 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY

Indeed note firstly that [[( hhhA, Biii ) 0 ]] = [[ A ]] =def A and so, by Theorem 2.6.18, [[( λx. (x) 0 ) hhhA, Biii ]] = A. Similarly, [[( λx. (x) 1 ) hhhA, Biii ]] = B. Thus by Defi- nition 2.6.49, both A≤e [[ hhhA, Biii ]] and B≤e [[ hhhA, Biii ]] .

Now suppose that A ≤e C and B ≤e C for some C. In other words there exist closed Lambda terms u and v such that A =def [[ A ]] = [[(u) C ]] and

B =def [[ B ]] = [[(v) C ]]. However, using Theorem 2.6.18 (a) and Lemma 2.6.50 we see that:

[[ hhhA, Biii ]] = [[( λx.λy. hhhx, yiii ) AB ]]

= [[( λx.λy. hhhx, yiii )(u)C (v)C ]]

= [[( λz. ( λx.λy. hhhx, yiii )(u)z (v)z ) C ]]

Therefore [[ hhhA, Biii ]] ≤e [[ C ]] =def C by Definition 2.6.49.

Remark. By the proof of Fact 4, for any A, B ⊆ ω, A ⊕ B ≡e [[ hhhA, Biii ]]. Now notice that (by Theorem 2.6.18 (a) and Lemma 2.6.50),

ΦA(B) =def [[(A) B ]]

= [[( (hhhA, Biii)0 )(hhhA, Biii)1 ]]

= [[( λx.λy. ((x)0 )(x)1 ) hhhA, Biii ]] , and similarly, ΦB(A) = [[( λx.λy. ((x)1 )(x)0 ) hhhA, Biii ]]. Thus ΦA(B)≤e A ⊕

B and ΦB(A)≤e A ⊕ B.

Fact 5. Any countable set of downward enumeration degrees is bounded.

Proof. (From page 190 of [Sco75].) Let { an | n ∈ ω } be a set of degrees and { An | n ∈ ω } the corresponding class in the sense that, for all n ∈ ω, ↓ an = Dege(An). In other words there is a function g : ω → Pω such that g(n) = An for all n. Thus g is the restriction of a distributive functiong ˆ to Pω.

However this means thatg ˆ is definable in GLambda as λn ∈ ω. (tA)n say, such that [[(tA) n ]] = [[ An ]] for all n ∈ ω. Now pick any m ∈ ω and any set B in am. Then:

B = [[(u)Am ]] 2.6. ENUMERATION REDUCIBILITY AND LAMBDA 63 for some u ∈ Closed Lambda. However

[[(u)Am ]] = [[( λx. (u)(x)m ) λn ∈ ω. (tA)n ]] and so

↓ B ∈ Dege( [[ λn ∈ ω. (tA)n ]]).

It follows that [[ λn ∈ ω. (tA)n ]] is an upper bound for the set of degrees

{ an | n ∈ ω }.

Remark (The jump). The notion of a jump can easily also be formulated in this context. For example, we can define8, for any set A ⊆ ω, the (complete) set

KA = { [[(val) n A ]] 6= ∅ } and (GLambda) e-jump JA = [[ hKA, KAi ]]. Thus, ↓ 0 ↓ as usual, if a = Dege(A) then we define the jump of a to be a = Dege(JA). The interested reader is referred to Appendix A.3 (page 225) where we prove some elementary results concerning such sets.

8The notation given here only applies in this Remark and in Appendix A.3. In all other

Chapters, KA, JA etc. correspond to the definition given in Section 2.3.2 (page 27) 64 CHAPTER 2. DEFINING ENUMERATION REDUCIBILITY Chapter 3

Symmetric Enumeration Reducibility

3.1 Overview

As mentioned earlier, the original motivation behind the definition of symmet- ric enumeration (se-) reducibility given below—an equivalent definition was given by Alan Selman in [Sel72]—was its role in providing a refinement of the (relativised) Arithmetical Hierarchy compatible with enumeration reducibility. Indeed, we show Secton 3.5 that an appropriate hierarchy can be obtained by replacing the relations “c.e. in” and “Turing reducible to” in the under- lying framework of the Arithmetical Hierarchy by the relations “enumeration reducible to” and “se-reducible to”. Moreover we prove that not only is this hierarchy a refinement of the Arithmetical Hierarchy but also that it is identical with the latter when relativised to sets belonging to embedded Turing degrees (in the sense of Proposition 3.3.8 below).

At the same time it emerged from our work that se-reducibility had dis- tinctive properties with regard to other reducibilities. For example we found that the standard deterministic positive reducibilities (and in particular ≤p)

65 66 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY are sub-relations of se-reducibility. Also it transpired that the embedding of the Turing degrees into the enumeration degrees translates to an embedding into the se-degrees with similar properties. These results are reiterated in the early sections of the present chapter. However, looking beyond the basic theory, our main purpose here is to present an overview of the associated degree struc- ture of this reducibility. We show how a number of structural results can be obtained using both relatively old (Section 3.6) and more recent (Section 3.8) methods that were originally developed in the context of the enumeration de- grees. Underpinning these results in part is an inherent type of local similarity between the se-degrees and the Turing degrees (Section 3.7). It is this phe- nomenom, in conjunction with some of the structural insights already gained that leads to a straightforward appraisal of various definability properties of the se-degree structure and in particular of the complexity of its first order theory (Section 3.9).

3.2 Introduction to Symmetric Enumeration Re- ducibility

Enumeration reducibility compares the positive information content of two sets. Symmetric enumeration reducibility, as we will see, compares both positive and negative information content. We will now introduce this reducibility and con- sider how it relates to other standard reducibilities. Firstly, however we draw the reader’s attention to the fact that Alan Selman exhibited some of the basic properties of this reducibility in Section 4 of [Sel72]. In particular Selman noted the inclusion ≤m ⊆≤se ⊆≤T and proved Theorem 3.2.8 (below) relative to the pair (≤tt , ≤se ).

Definition 3.2.1. For any sets A and B, A is defined to be symmetric enu- meration reducible to B (A≤se B) if A≤e B and A≤e B.

Notation. For any set A, s-Enum(A) denotes the class { E | E≤se A }. 3.2. INTRODUCTION TO SYMMETRIC ENUMERATION REDUCIBILITY67

Lemma 3.2.2. Let A and B be sets such that B/∈ {∅, ω}. Then there exists a computable function f such that A = Φf(i,j)(B) and A = Φf(i,j)(B) whenever

A = Φi(B) and A = Φj(B) (i.e. whenever A≤se B via operators i and j).

Proof. Choose b ∈ B and b ∈ B. Define f so that, for any i, j ∈ ω,

Wf(i,j) = { hx, D ∪ {b}i | hx, Di ∈ Wi } S { hx, D ∪ {b}i | hx, Di ∈ Wj } .

It is easily checked that, if A = Φi(B) and A = Φj(B), then A = Φf(i,j)(B) and

A = Φf(i,j)(B).

Corollary 3.2.3. For any sets A, B such that B/∈ {∅, ω}, A ≤se B iff there exists an enumeration operator Φ such that A = Φ(B) and A = Φ(B).

Note 3.2.4. Clearly ≤se inherits reflexivity and transitivity from ≤e . It thus gives rise to a degree structure (Dse). The least upper bound of any two degrees ase, bse (written as usual ase ∪ bse) always exists: it is the degree of A ⊕ B for any A ∈ ase and B ∈ bse . Therefore Dse is an upper semi lattice. The zero element (0se) of Dse is Comp. Each of these properties is easily checked.

Lemma 3.2.5. For any sets A and B, if A≤se B then A≤e B and A≤T B. In other words, T ≤se ⊆ ≤e ≤T .

Moreover, this inclusion is proper.

Proof. Since ≤se is a subrelation of ≤e by definition, in order to prove the inclusion it suffices to note that, for any sets A and B, A ≤e B implies that

A c.e. in B. Also, CK ≤r K for r ∈ {e, T} whereas CK se K (since this would imply K≤e K). Thus the inclusion is proper.

Theorem 3.2.6. ≤p ⊆ ≤se . 68 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

+ Proof. Let A and B be any sets such that A≤p B and suppose that f : ω → ω is a computable function that witnesses this reduction in the sense that, for all x ≥ 0, x ∈ A ⇔ ∃y(y ∈ Df(x) & Dy ⊆ B). Now define the two c.e. (in fact computable) sets W and Wc as follows:

W = { hx, yi | y ∈ Df(x) }

Wc = { hx, yi | ∀z(z ∈ Df(x) ⇒ Dz ∩ Dy 6= ∅) } .

Then A≤e B via W and A≤e B via Wc.

Remark. In fact A ≤p B iff A ≤p B. Indeed ≤p might be thought of as the truth table version of ≤se.

Note 3.2.7. Theorem 3.2.6 implies that all conjunctive and disjunctive sub- reducibilities of ≤T are contained in ≤se and, in particular, that ≤1 ⊆ ≤m ⊆

≤se .

Theorem 3.2.8. It is neither the case that ≤wtt ⊆ ≤se nor the case that

≤se ⊆ ≤wtt .

Proof. The first inequality is witnessed by K in that K ≤wtt K (and in fact

K ≤btt(1) K) whereas K e K. The second inequality is proved by a straight- forward diagonalisation construction that we sketch below. Note that we as- sume { fn | n ∈ ω } to be the enumeration of partial computable functions defined such that fn has partial computable index n and that we also as- sume { ϕn | n ∈ ω } to be the enumeration of deterministic oracle Turing machines stipulated in Section 2.2 (see page 17 and page 19 respectively). We construct sets A and B by finite initial segments {αn}n≥0 and {βn}n≥0, such S + S + that A = { αn | n ≥ 0 } and B = { βn | n ≥ 0 }. In order that A≤se B the construction ensures that, for all x ≥ 0,

x ∈ A iff ∃y( h2x, yi ∈ B )

x ∈ A iff ∃y( h2x+1, yi ∈ B ) . 3.2. INTRODUCTION TO SYMMETRIC ENUMERATION REDUCIBILITY69

To enable this to happen, we impose the constraint that, for all s ≥ 0,

+ + βs+1 − βs = { h2x + 1, yi | |βs| ≤ h2x + 1, yi < |βs+1| } (A-coding) except for the number |βs+1| − 1 (defined to be “ns” below) which is used for the diagonalisation at Stage s + 1.

The construction. At each Stage s + 1 we diagonalise against oracle Turing machine ϕe and partial computable function fd, where s = he, di. We define

+ S Bbs := βs { h2x+1, yi | h2x+1, yi ≥ |βs| } and we define ms to be max {|βs|, fd(s)+1} if fd(s)↓ or to be |βs| otherwise.

Bbs If either fd(s) ↑ or it is not the case that ϕe (s)↓ = 1, then we insert s into

A, we set ns := h2s, mi with m the least number such that h2s, mi ≥ ms, and we insert ns into B. Otherwise—in the case that both computations converge

Bbs 0 0 and ϕe (s) = 1—we put s into A, we set ns := h2s + 1, m i with m the least 0 number such that h2s + 1, m i ≥ ms, and we insert ns into B. αs+1 and βs+1 are defined to be the resulting extensions of αs and βs of length s+1 and ns+1 respectively, and such that βs+1 conforms to the constraint (A-coding) above.

Note that, at the end of the construction, if s ∈ A then there is a unique number h2s, mi in B and if s∈ / A then there is no such number in B. Likewise if s ∈ A then there is a unique number h2s + 1, m0i in B and if s∈ / A then there is no such number in B. Also, the choice of ns and ms at each stage (s + 1) ensures that the diagonalisation at this stage is preserved for the resulting sets A and B.

Remark. Suppose that { Ak | k ≤ n } and { Bk | k ≤ n } are classes of sets such that Bk ∩ ∪j6=kBj 6= ∅ for all k ≤ n. Then it follows, by a similar proof to that of Lemma 3.2.2, on page 66, that there exists computable f such that, for each k ≤ n, Ak = Φf(i0,...,in)(Bk) whenever it is the case that the operators with indices {i0, . . . , in}, witness the reductions Ak ≤e Bk (i.e. Ak = Φik (Bk)) for all k ≤ n. Notice that Posner’s observation relative to Turing reducibility (mentioned for example in Exercise v.2.18 of [Odi89]) is a special case of this phenomenom. 70 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

3.3 Embedding the Turing Degrees

The isomorphic embedding ιe of the Turing degrees (DT) into the Enumeration degrees (De) induced by the map X 7→ CX is essentially an embedding into Dse. Moreover the range of this embedding contains gaps similar to those appearing in the range of ιe. These results are presented below. We begin with an easy but useful Lemma.

Reminder. For any function f, the notation F is shorthand for Graph(f) (and so CX is shorthand for Graph(cX )).

Lemma 3.3.1. For any set A the following equivalences hold:

(a) CA ≡se A ⊕ A (b) CA ≡se CA (c) CA ≡se CA.

Notation. We say that a set A is characteristic if A = B ⊕ B for some set B. For the sake of simplicity, and in view of Lemma 3.3.1, we sometimes prefer to work with a characteristic set (X ⊕ X) rather than with the corresponding characteristic function graph (CX ). Reminder. An e-degree is said to be total if it contains the graph of a total (or, equivalently, characteristic) function .

Definition 3.3.2. An se-degree is said to be characteristic if it contains the graph of a characteristic function (or, equivalently, a characteristic set).

Proposition 3.3.3. For any se-degree a the following are equivalent: (a) a is characteristic.

(b) For all A in a, A ≡se A.

Proof. Apply Lemma 3.3.1 and use the transitivity of ≤se .

Note 3.3.4. 0se is characteristic.

Lemma 3.3.5. Every total e-degree contains exactly one characteristic se- degree.

Proof. Suppose that B,C ∈ ae and that B ≡se B and C ≡se C. This means that CB ≡e CC , and by applying Lemma 3.3.1, it follows that CB ≡se CC .

Hence B ≡se C. 3.3. EMBEDDING THE TURING DEGREES 71

The reader will notice that our next result is a restatement of part of Propo- sition 2.4.7. This result and its proof are reformulated here for reasons of clarity.

Lemma 3.3.6. For any sets A and B, A c.e. in B iff A≤e CB .

B Proof. Suppose that A and B are sets such that A = Wi for some i ≥ 0. Then

0 D + − 0 Wei := { hx, D ⊕ D i | ϕi (x) ↓ & Q (ϕi, x, D) = D & Q (ϕi, x, D) = D }

1 is a c.e. set and A≤e B ⊕ B via Wei . The opposite implication is obvious.

Lemma 3.3.7. For any sets A and B,

A≤T B iff A≤se CB iff CA ≤se CB .

Proof. Apply Lemma 3.3.6 in conjunction with Lemma 3.3.1.

Proposition 3.3.8. The embedding ιse of the Turing degrees into the se-degrees induced by the map X 7→ CX is an order embedding that preserves suprema, infima and least element.

Proof. Straightforward using Lemma 3.3.7 and and the results listed in Note 3.2.4.

Note 3.3.9. It follows from Lemma 3.3.7 that every Turing degree aT contains exactly one characteristic se-degree ase (say). Also it is clear that ase = ιse(aT) by definition. Moreover, as X ≤se CX for any X, ase is the top se-degree in aT

(i.e. bse ≤ ase for every bse ⊆ aT).

Definition 3.3.10. An se-degree a is said to be quasi-minimal if a > 0 and ∀d( d ≤ a & d characteristic ⇒ d = 0 ).

Theorem 3.3.11. For any se-degree b there exists a degree a such that b < a and such that, for any characteristic degree c, if c ≤ a then c ≤ b.

1 The notation Wei indicates that ei can be uniformly computed from i. 72 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Proof. The proof is a straightforward modification of the corresponding result relative to De due to Medvedev ([Med55]). Indeed, suppose that B is any set and that { Φe | e ∈ ω } is the computable listing of enumeration operators stipulated in Section 2.3 (on page 22). Then it suffices to construct a set A such that B≤se A and such that A satisfies, for all e ∈ ω, the requirements

R3e : A 6= Φe(B)

R3e+1 :Φe(A) characteristic ⇒ Φe(A)≤e B

R3e+2 :Φe(A) characteristic ⇒ Φe(A)≤e B.

We ensure that B≤se A by encoding B into A in the following manner:

∀x( x ∈ B iff 2x ∈ A )(B-coding)

Notation. We say that an initial segment σ is B-compatible if, for all x such that 2x < |σ|, x ∈ B iff 2x ∈ σ+.

The construction. The set A is constructed by finite initial segments {σn}n≥0, S + such that A = { σn | n ≥ 0 }.

Stage s = 0. σ0 = λ

Stage s+1. σs has already been defined.

• If s = 3e then, letting ns := |σs|, we satisfy R3e by defining    σsb( 1 − Φe(B)(ns) ) if ns is odd σs+1 :=   σsb( B(ns/2) )b( 1 − Φe(B)(ns +1) ) if ns is even.

• If s = 3e + 1 then we try to satisfy R3e+1 vacuously by searching for a + B-compatible initial segment σ ⊇ σs such that, for some n : 2n, 2n+1 ∈ Φe(σ ).

If this search is successful, choose the least such σ and set σs+1 := σ. Otherwise set σs+1 := σs.

• If s = 3e + 2 then we try to satisfy R3e+2 vacuously by searching for a − B-compatible initial segment σ ⊇ σs such that, for some n : 2n, 2n+1 ∈ Φe(σ ).

If this search is successful, choose the least such σ and set σs+1 := σ. Otherwise set σs+1 := σs. 3.4. JUMP OPERATORS 73

Analysis of the construction. The construction obviously ensures that the constraint (B-coding) holds, which means that B ≤se A. Also the requirements

{R3e}e≥0 prevent A≤se B and hence B

Φj(A) = E ⊕ E for some i, j ≥ 0. Now set s := 3i+1 and t := 3j + 2, and define

+ + Ps := { n | (∃σ ⊇ σs)( n ∈ Φi(σ )&(σ2ω) ⊆ B ⊕ ∅ ) } − − Nt := { n | (∃σ ⊇ σt)( n ∈ Φj(σ )&(σ2ω) ⊆ B ⊕ ∅ ) } .

Clearly Ps ≤e B and Nt ≤e B and also Φi(A) ⊆ Ps and Φj(A) ⊆ Nt. So now suppose that Nt * Φj(A). W.l.o.g. choose 2n+1 ∈ Nt − Φj(A). Thus there − − exists β ⊇ σt such that 2n + 1 ∈ Φj(β ) and (β2ω) ⊆ B ⊕ ∅. Also, by hypothesis (that Φj(A) is characteristic), there exists B-compatible α ⊇ σt such − that 2n ∈ Φj(α ). Define initial segment γ of length max{ |α|, |β| } such that, for all m < |γ|,   0 if α(m)↓ = 0 ∨ β(m)↓ = 0 ∨ cB⊕ω(m) = 0 γ(m) =  1 otherwise.

− Then γ is a B-compatible extension of σt and 2n, 2n+1 ∈ Φj(γ ). Thus at stage (t+1) the construction would prevent Φj(A) from being characteristic in contradiction with the hypothesis. Ps ⊆ Φi(A) is proved in a similar way.

Corollary 3.3.12. There exists a quasi-minimal se-degree.

Corollary 3.3.13. For any quasi-minimal se-degree b there exists a quasi- minimal se-degree a such that b < a.

3.4 Jump Operators

We now consider the problem of defining the jump operator with respect to se-reducibility. By analogy with the Turing jump we will require that such an operator be derived from a map that sends any set A to a set A0 that 74 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

is ordered strictly above A by ≤se and that, in addition, possesses certain hardness properties (relative to A). We begin with the observation that an

“inverse” function can be defined for Dse, since for any sets X and Y , X ≤se Y iff X ≤se Y . We then proceed with a reminder of some standard results in the study of enumeration reducibility.

Definition 3.4.1. inv : Dse → Dse is defined to be the function such that, for any x, y ∈ Dse, inv(x) = y iff y = degse(X) for some (or equivalently all) X ∈ x. For any se-degree a, the notation a is shorthand for inv(a). Note that a ∪ a = degse(A ⊕ A) for any A ∈ a.

Reminder. For any set A, KA denotes the set { x | x ∈ Φx(A) } and JA denotes (k) the set KA ⊕ KA. Similarly JA denotes the iterated form of JA defined by: (0) (k+1) JA = A and JA = J (k) . JA

Lemma 3.4.2. For any set A, KA is 1-complete for Enum(A).

Lemma 3.4.3. For any sets A and B: A≤e B iff A≤1 KB iff KA ≤1 KB.

Note 3.4.4. A jump operator on the enumeration degrees is defined by Cooper and McEvoy in [CM85] as the function induced by X 7→ JX . It follows from Lemma 3.4.3 that this function also gives rise to a well defined operator over the se-degrees. We employ the term e-jump to refer to this operator and we  use ae to denote the e-jump of ae.

Notation. For any set A, HA denotes the set KA ⊕ KA .

Lemma 3.4.5. For any sets A and B, if A≤se B then HA ≤1 HB.

Proof. Let A and B be any sets such that A≤se B. Then, by definition A≤e B and A≤e B. Now apply Lemma 3.4.3.

Lemma 3.4.6. For any set A: A

Proof. Let A be any set. Then by Lemma 3.4.2 we know that A≤se HA. Also notice that HA ≤se A would imply KA ≤e A from which we derive a contradic- tion. 3.4. JUMP OPERATORS 75

Note 3.4.7. If the set A has characteristic degree, then A ≡se A by Proposition

3.3.3 and so KA ≡1 KA by Lemma 3.4.3. Thus Lemma 3.4.2 implies that

HA ≡1 KA.

Lemma 3.4.8. For any set A, HA is 1-hard for Enum(A). Moreover, if degse(A) is characteristic, then HA is 1-complete for Enum(A).

Proof. Let A be any set. Then Lemma 3.4.2 implies that HA is 1-hard for

Enum(A). Now suppose that degse(A) is characteristic. Then HA is 1-complete for Enum(A) by Note 3.4.7 and Lemma 3.4.2.

Definition 3.4.9. Let ase be any se-degree. The weak jump of ase (written ∗ ∗∗ ase) is defined to be degse(HA) for any A in ase. We use ase to denote the double weak jump of ase (i.e. degse(HHA )).

Proposition 3.4.10. Suppose that r ∈ {e, T}. Let ase be any se-degree, let ar be the r-degree of which it is a subclass, and let dr be the r-degree that contains ∗∗ ase ; then ar < dr. In other words the double weak jump is strictly increasing relative to the relation induced by ≤r over Dse.

Proof. Suppose that ase ⊆ ae, aT and pick any A in ase. Then HA is 1-hard for ∗ Enum(A) by Lemma 3.4.8 and this implies that bse ≤ ase for any se-degree, ∗ ∗∗ ∗∗ bse ⊆ ae. Note that by Lemma 3.4.6, ase < ase and so ase * ae. Now let cse be the (unique) characteristic degree contained in aT. Then dse ≤ cse for any ∗ dse ⊆ aT (see Note 3.3.9). Also A ⊕ A≤1 HA and so cse ≤ ase. Therefore, as ∗∗ above, ase * aT.

(k) Notation. For any set A, SA denotes the set HA ⊕ HA. Similarly SA denotes (0) (k+1) the iterated form of SA defined by: SA = A and SA = S (k) . SA

Note 3.4.11. It follows from Lemma 3.4.5 and Lemma 3.4.6 that S induces a well defined and strictly increasing operator over the se-degrees. Notice that for any A, JA ≤1 SA ≤1 SA⊕A and if A has characteristic degree SA ≡m JA (and so SX⊕X ≡m JX⊕X for all X). 76 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Definition 3.4.12. Let ase be any se-degree. The (strong) jump of ase (written 0 0 ∗ ∗ ase ) is defined to be degse(SA) for any A in ase. Thus ase =def ase ∪ inv(ase ). (k) (0) The iterated jump of ase is written ase and is defined by: ase = ase and (k+1) (k) 0 ase = (ase ) .

Note 3.4.13. By Note 3.4.11 the jump is strictly increasing relative to the relation induced by ≤e over Dse. On the other hand the weak and strong jump of any set are clearly contained in the same Turing degree. Notice that both jumps are defined in terms of putative symmetric enumeration operators in the sense of Lemma 3.2.2. Accordingly they both reflect the separation of positive and negative information intrinsic to ≤se . See Section 3.9 and Remark 1 below for further motivation behind the definition of the (strong) jump.

Notation. Let ase be any se-degree and A a set in ase. We refer to degse(SA⊕A) † as the embedded Turing jump of ase (written ase).

Remark 1. The canonical embedding ιse : DT → Dse (see Proposition 3.3.8) preserves the jump operation. Indeed choose any Turing degree aT and A ∈ aT. 0 Then HA⊕A ∈ aT as KA ≡1 KA⊕A ≡1 HA⊕A . Let ase = degse(A ⊕ A) and note that, by definition, ιse( aT ) = ase. Also,

0 0 ιse( aT ) = ιse( degT(HA⊕A) ) = degse( HA⊕A ⊕ HA⊕A ) = ase .

Remark 2. The embedding ςse : De → Dse induced by the map X 7→ KX is ∗ structure preserving, sends 0e to 0se and preserves infima.

Remark 3. Define the Generalised Symmetric Enumeration (GSE) Hierarchy GSE,A GSE,A GSE,A GSE,A relative to set A to be { Σn , Πn , ∆n : n ≥ 0 } where Σ0 = GSE,A GSE,A GSE,A (n) Π0 = ∆0 = s-Enum(A) and, for n ≥ 0, Σn+1 = Enum(SA ), GSE,A GSE,A SE,A (n) Πn+1 = co-Σn+1 , and ∆n+1 = s-Enum(SA ). If A = ∅ call this simply the GSE Hierarchy. Now, we know that if degse(A) is characteristic A (n) A (n) then, for all n ≥ 0, Σn+1 = Enum(SA ) and ∆n+1 = s-Enum(SA ) (see

Corollary 3.7.2 below). In other words, if degse(A) is characteristic, the GSE Hierarchy and the Arithmetical Hierarch relativised to A are identical. Thus, 3.5. THE SYMMETRIC ENUMERATION HIERARCHY 77 similarly to the SE Hierarchy—described in Section 3.5 below—the relativised GSE Hierarchy is a refinement of the relativised Arithmetical Hierarchy.

Remark 4. Let A and B be any sets. A is partial many one reducible ([Ers70]) to B (A ≤pm B) if there exists a partial computable function g(x) such that x ∈ A iff g(x)↓ ∈ B. Let { fn | n ∈ ω } be a computable enumeration of all unary partial computable functions. Define LA to be the set { x | fx(x)↓ ∈ A } and define the weak jump of degm(A) to be the m-degree of the set FA = LA ⊕ LA .

Note that the function h(x) = fx(x) witnesses the reduction LA ≤pm A. Using standard methods it can be shown that A≤pm B iff A≤1 LB and also that if

A ≤m B, then FA ≤1 FB whereas FA m A. Moreover ∆2 is downward closed under ≤pm ([Ers70]). Thus, as in the proof of [Odi99] Proposition XI.6.13, we can easily show that there is no maximal ∆2 m-degree: if A ∈ ∆2, then

FA ∈ ∆2 since FA ≤pm A ⊕ A, whereas A

Finally note that TA = FA ⊕ FA is arguably an appropriate definition for the derivation of a (strong) jump over Dm.

3.5 The Symmetric Enumeration Hierarchy

We now proceed to formulate a generalised version of the relativised Arithmeti- cal Hierarchy based on ≤e and ≤se (in place of “ c.e. in ” and ≤T ) in such a way that the former is identical to the latter when relativised to any set A whose se-degree is characteristic. Note that this work develops on methods used by Kevin McEvoy in [McE84] Chapter 4 to define a similar hierarchy. We start by presenting an alternative definition of the relativised Arithmetical Hierar- chy. The equivalence of the latter with the standard definition (see for example [Soa87] Chapter 4) is easily checked.

Notation 3. For any classes C and D we use C⊕D as shorthand for the class { A ⊕ B | A ∈ C & B ∈ D }. Also, for R ∈ { Ce, Comp, Enum, s-Enum }, 78 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

R(C) denotes the class S { R(E) | E ∈ C }.

Definition 3.5.1. Let A be any set. The Arithmetical Hierarchy relativised to A A A A is defined to be. . . { Σn , Πn , ∆n : n ≥ 0 } A A A where Σ0 = Π0 = ∆0 = Comp(A) and, for n ≥ 0, A A A A A A A A Σn+1 = Ce(Σn ⊕ Πn ), Πn+1 = co-Σn+1 and ∆n+1 = Comp(Σn ⊕ Πn ).

The Arithmetical Hierarchy { Σn, Πn, ∆n : n ≥ 0 } is the special case of this definition with A = ∅.

A A A Note 3.5.2. Comp(A) = Comp({A} ⊕ {A}), so if we define Σ−1 = Π−1 = ∆−1 A A A to be {A}, we obtain ∆0 = Comp(Σ−1 ⊕ Π−1) in conformity with the definition A of ∆n+1.

Proposition 3.5.3 ([McE85]). For any set A, ΣA = Enum(J (n)), for all n+1 CA n ≥ 0.

Definition 3.5.4. Let A be any set. The SE-hierarchy relativised to A (written SE,A SE,A SE,A SE(A)-hierarchy) is defined to be. . . { Σn , Πn , ∆n : n ≥ 0 } SE,A SE,A SE,A where Σ0 = Π0 = ∆0 = s-Enum(A) SE,A SE,A SE,A SE,A SE,A and, for n ≥ 0, Σn+1 = Enum(Σn ⊕ Πn ), Πn+1 = co-Σn+1 SE,A SE,A SE,A and ∆n+1 = s-Enum(Σn ⊕ Πn ). SE SE SE The SE-hierarchy { Σn , Πn , ∆n : n ≥ 0 } is the special case of this definition with A = ∅.

Note 3.5.5. s-Enum(A) = s-Enum({A} ⊕ {A}) and so in this case also (see SE,A SE,A SE,A Note 3.5.2), if we define Σ−1 = Π−1 = ∆−1 to be {A} we obtain SE,A SE,A SE,A ∆0 = s-Enum(Σ−1 ⊕ Π−1 ). Notice also that obviously, for all n ≥ 0, SE,A S SE,A SE,A SE,A SE,A Σn Πn ⊆ ∆n+1 and that Σn+1 and ∆n are closed under ≤e and ≤se respectively (by transitivity).

SE,A (n) Proposition 3.5.6. Let A be any set. Then for all n ≥ 0, Σn+1 = Enum(JA ) SE,A (n) and ∆n+1 = s-Enum(JA ).

(n) SE,A Proof. It suffices to show that JA is e-complete for Σn+1 and se-complete for SE,A ∆n+1 (for all n ≥ 0), since the latter are closed under ≤e and ≤se respec- tively. The case (n = 0) is straightforward, so we assume that (n > 0). 3.5. THE SYMMETRIC ENUMERATION HIERARCHY 79

SE,A SE,A SE,A • Suppose that B ∈ Σn+1 . Then there exist sets C ∈ Σn and D ∈ Πn (n−1) such that B ≤e C ⊕ D. By the Induction Hypothesis, C ≤e JA and D ≤e (n−1) JA . Hence by Lemma 3.4.3, C ≤1 K (n−1) and D ≤1 K (n−1) . However this JA JA (n) (n) implies that B ≤e C ⊕ D ≤1 K (n−1) ⊕ K (n−1) =def JA . Thus B ≤e JA . JA JA SE,A Also, by the Induction Hypothesis, and the closure of Σn under ≤e (using (n−1) (n) SE,A SE,A K (n−1) ≤e JA ) we obtain JA =def K (n−1) ⊕ K (n−1) ∈ Σn ⊕ Πn . It JA JA JA (n) SE,A SE,A follows that JA ∈ ∆n+1 ⊆ Σn+1 . SE,A • Suppose that B ∈ ∆n+1 . Then B≤e C ⊕ D and B≤e C ⊕ D ≡1 D ⊕ C, for SE,A SE,A (n) some C ∈ Σn and D ∈ Πn . Thus B, B ≤e JA by the first part of this (n) (n) proof. It follows that B ≤e JA since JA is characteristic (using Lemma 3.3.1); (n) (n) SE,A i.e. B≤se JA . Moreover, JA ∈ ∆n+1 by the first part of this proof.

Note 3.5.7. It follows from Lemma 3.4.2 and Proposition 3.5.6 that, for all SE,A n ≥ 0, K (n) is 1-complete for Σn+1 . JA

Proposition 3.5.8. Let A be any set such that degse(A) is characteristic. Then, SE,A SE,A T SE,A for all n ≥ 0, ∆n = Σn Πn .

Proof. Let A be any set of characteristic se-degree. We argue by cases for n ≥ 0. The case (n = 0) holds by definition. For (n > 0) we use the fact that (n−1) (n−1) JA ≡se JA for all n (by Lemma 3.3.1 for n > 1 and by hypothesis for n = SE,A (n−1) 1). Accordingly, by Proposition 3.5.6, B ∈ ∆n iff B ≤e JA & B ≤e (n−1) (n−1) (n−1) SE,A T SE,A JA iff B≤e JA & B≤e JA iff B ∈ Σn Πn .

Note 3.5.9. The proof of Proposition 3.5.8 clearly also implies that, for any SE,A SE,A T SE,A set A, ∆n = Σn Πn for all n 6= 1.

Theorem 3.5.10. Suppose that Γ ∈ {Σ, Π, ∆} and let be A be any set. Then,

A SE,CA for all n ≥ 0, Γn = Γn .

Proof. Let A be any set. We reason by cases for n ≥ 0. (n = 0) An easy application of Proposition 3.3.7. (n−1) (n > 0) ΣA = Enum(J ) = ΣSE,CA by Propositions 3.5.3 and 3.5.6 n CA n and so the case Γ = Σ holds. The case Γ = Π then follows by definition and the case Γ = ∆ follows from the other two cases by applying Proposition 3.5.8. 80 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Theorem 3.5.11. For any set A, if degse(A) is characteristic then the Arith- metical Hierarchy relativised to A and the SE(A)-hierarchy are identical.

Proof. Suppose that Γ ∈ {Σ, Π, ∆} and let be A be any set with characteristic

SE,A SE,CA se-degree. By Theorem 3.5.10, it suffices to show that Γn = Γn for all n ≥ 0. We reason by induction.

(n = 0) Since degse(A) is characteristic, A ≡se CA by Proposition 3.3.3 (and SE,A SE,CA Lemma 3.3.1) and so Γ0 = s-Enum(A) = s-Enum(CA) = Γ0 .

SE,A SE,CA (n > 0) Note that the identity Σn = Σn is, by definition, equivalent SE,A SE,A SE,CA SE,CA to Enum(Σn−1 ⊕ Πn−1 ) = Enum(Σn−1 ⊕ Πn−1 ) which holds by the SE,A SE,CA Induction Hypothesis (i.e. that Σn−1 = Σn−1 ). This proves the case Γ = Σ. The case Γ = Π then follows by definition and the case Γ = ∆ follows from the other two cases by applying Proposition 3.5.8.

Corollary 3.5.12. The Arithmetical Hierarchy is identical to the SE-hierarchy.

Note 3.5.13. A≤e A implies that A ≡e CA and so it follows, by application of Lemma 3.3.6, that Ce(A) = Enum(A). Thus by modifying the proof of A SE,A Theorem 3.5.11, it can be shown that Γn = Γn holds for Γ ∈ {Σ, Π} and n ≥ 1, and for Γ = ∆ and n ≥ 2, whenever A≤e A.

In addition to the above results it is easy to show (by induction) that, for Γ ∈ {Σ, Π, ∆}, and for any set A

SE,A A Γn ⊆ Γn ⊆ Γn . (3.5.1)

However, despite the similarities between the hierarchies it should be empha- sised that, for any set A, the SE(A)-hierarchy distinguishes between A and CA whenever A is not of characteristic se-degree (i.e. A ≡/ se A) whereas for the relativised Arithmetical hierarchy, A and CA are equivalent. In particular, if A SE,A A ≡/ se A then CA ∈ ∆n − ∆n for n ≤ 1 and if (the stronger condition) A SE,A Ae A holds, then CA ∈ Σ1 − Σ1 . This leads to the obvious question of whether the difference ever propogates up the hierarchy and if so, what condi- tions have to be fulfilled by A for this to happen. For example, supposing that 3.5. THE SYMMETRIC ENUMERATION HIERARCHY 81

A SE,A Γ ∈ {Σ, Π, ∆}, does Ae A imply that Γn 6= Γn for all n ≥ 0 ? We proceed by giving a partial answer to this question.

Note 3.5.14. For any set A, if A ≤e A then KA ≤e KA (since (a) A ≤e A iff

A≤1 KA iff A≤1 KA and (b) KA ≤e A).

(n) Lemma 3.5.15. For all n ≥ 0, JK ∈ Σn+1.

Proof. By induction on n ≥ 0. Note that the Case (n = 0) is just the fact that (1) K ∈ Σ1. Case (n = 1) holds because JK =def KK ⊕ KK ≤e KK ∈ Π1 (which (1) (n+1) (n+1) implies that JK ∈ Σ2). For the Case (n + 2) note that JK ≤e JK since (n+1) (n+2) JK is characteristic, and so JK =def K (n+1) ⊕ K (n+1) ≤e K (n+1) , by JK JK JK (n+1) Note 3.5.14. However JK ∈ Σn+2 by the Induction Hypothesis and hence (n+1) K (n+1) ∈ Σn+2 (since K (n+1) ≤e JK ), which implies that K (n+1) ∈ Πn+2. JK JK JK (n+2) Therefore JK ∈ Σn+3.

Proposition 3.5.16. Suppose that Γ ∈ {Σ, Π, ∆}. There exists a set A such SE,A A that Γn 6= Γn for all n ≥ 0.

(n+2) K Proof. Let A = K. Note firstly that K and K (n) are 1-complete for Σn+1 JK SE,K K and Σn+1 respectively for all n ≥ 0. Choose any n and suppose that Σn+1 = SE,K (n+2) Σn+1 . This would mean that K ≡1 K (n) . Now, by Lemma 3.5.15, JK (n) (n) (n+2) (n+1) JK ∈ Σn+1 and so K (n) ∈ Σn+1 (since K (n) ≤e JK ). Thus K ≤1 K JK JK (contradiction). This proves the cases Γ ∈ {Σ, Π, ∆} for n ≥ 2 (using Note 3.5.9) K SE,K and Γ ∈ {Σ, Π} for n = 1. Also CK ∈ ∆n − ∆n for n ≤ 1 and so the proof is complete.

A further point to be underlined is that the methodology inherent to the SE-hierarchy relates to enumeration reducibility (and indeed symmetric enu- meration reducibility) in much the same way in which that of the Arithmetical Hierarchy relates to Turing reducibility. Our last result (Theorem 3.5.19) is an example of this relationship and of the manner in which the SE-hierarchy might contribute to certain aspects of the theory of enumeration reducibility. 82 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

(1) (n) (n) Definition 3.5.17. An e-degree ae ≤ 0e is defined to be lown if ae = 0e (n) (n+1) and highn if ae = 0e , for all n ≥ 0 (the case n = 0 being trivial). A set

A ≤e J is said to be e-lown (e-highn) if dege(A) is lown (highn). If n = 1 we abbreviate these terms to low, high etc.

(n+1) Lemma 3.5.18. For all n ≥ 0, KJ (n) ≡1 K .

SE Proof. For all n ≥ 0, Σn+1 = Σn+1 by Corollary 3.5.12. Hence it suffices to note SE (n+1) that KJ (n) is 1-complete for Σn+1 whereas K is 1-complete for Σn+1.

Theorem 3.5.19. For any set A≤e J and n ≥ 1: SE,A (a) A is e-lown iff Σn ⊆ Πn+1 , SE,A (n+1) (n) (b) A is e-highn iff Πn+1 ⊆ Σn+1 iff K ≤e JA .

Proof. Assume that n ≥ 1 and that A≤e J. (n) (n) SE,A SE A is e-lown iff JA ≤e J (which means that Σn+1 ⊆ Σn+1) iff (n) K (n−1) ≤T K (n−1) by an easy modification of Lemma 3.3.7, iff K (n−1) ≤T K JA J JA SE,A SE,A by Lemma 3.5.18, iff Σn ⊆ ∆n+1 by Note 3.5.7, iff Σn ⊆ Πn+1 SE,A SE,A SE SE since Σn ⊆ Σn+1 ⊆ Σn+1 (see above) and Σn+1 = Σn+1 by Corollary 3.5.12. (n+1) (n) (n+1) (n) (n+1) (n) A is e-highn iff J ≤e JA iff J ≤se JA since J and JA (n) (n+1) (n) are characteristic, iff KJ (n) ≤se JA by Lemma 3.3.7, iff K ≤se JA SE,A SE,A SE,A by Lemma 3.5.18, iff Σn+1 ⊆ ∆n+1 iff Σn+1 ⊆ Πn+1 (as Σn+1 ⊆ Σn+1 SE,A (n+1) (n) (n+1) by Equation 3.5.1) iff Πn+1 ⊆ Σn+1 iff K ≤e JA since K is

1-complete for Πn+1.

3.6 Basic Properties of Dse

We know that Dse is an upper semi lattice and that the zero se-degree (0se) is the class of computable sets (see Note 3.2.4). Also, the existence of an isomorphic embedding (ιse) of the Turing degree structure DT into Dse (Proposition 3.3.8) tells us—using results from [Sac63] and [Ler72]—that any countable partial ordering is embeddable in Dse and that, in consequence, the one quantifier theory of Dse is decidable. Of course ιse also preserves infima and suprema so 3.6. BASIC PROPERTIES OF DSE 83

any lattice embedding into DT is also a lattice embedding into Dse. In particular, as both M3 and N5 are embeddable in DT we know that Dse is non distributive.

These observations suggest a certain resemblance between Dse on the one side and DT and De on the other. We now consider other basic properties of Dse that further underline the similarities between these structures.

Reminder. A degree c is said to be branching if there exist degrees b, a 6= c such that b ∩ a = c. If c = 0 we say that b and a form a minimal pair.

Proposition 3.6.1. For any se-degrees b, c such that c < b there exists an se-degree a 6= c such that b ∩ a = c. Thus every se-degree is branching.

Remark. The methods in the proof are adapted from those used by Rozinas ([Roz78]) to prove the same result for the e-degrees.

Proof. Choose C ∈ c and B ∈ b and let { Φe | e ∈ ω } be the computable listing of enumeration operators stipulated in Section 2.3 (on page 22). We construct a set A satisfying, for all e, i ≥ 0, the requirements

R3e : A 6= Φe(C)

R3he,ii+1 :Φe(A ⊕ C) = Φi(B) ⇒ Φe(A ⊕ C)≤e C

R3he,ii+2 :Φe(A ⊕ C) = Φi(B) ⇒ Φe(A ⊕ C)≤e C.

Note that the requirements R3e ensure that C

The construction. A is constructed by finite initial segments {αn}n≥0 such S + that A = {αn | n ≥ 0}.

Stage s = 0. α0 = λ

Stage s + 1. αs has already been defined. There are three cases to consider.

Case 1. s = 3e for some e ≥ 0. Let as = |αs|. Then we satisfy R3e by defining 84 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

αs+1 to be the extension of αs of length as +1 such that:

αs+1(as) = 1 − Φe(C)(as)

Case 2. s = 3he, ii+1 for some e, i ≥ 0. Then we try to vacuously satisfy

R3he,ii+1 by forcing an inequality in its premise. To do this we search for x ≥ 0 and α ⊇ αs such that:

+ x ∈ Φe(α ⊕ C)& x∈ / Φi(B)

If this search is successful we pick the least such α and set αs+1 := α otherwise we set αs+1 := αs.

Case 3. s = he, ii+2 for some e, i ≥ 0. Then we try to vacuously satisfy

R3he,ii+2 by forcing an inequality in its premise. To do this we search for x ≥ 0 and α ⊇ αs such that:

− x ∈ Φe(α ⊕ C)& x∈ / Φi(B)

If this search is successful we pick the least such α and set αs+1 := α otherwise we set αs+1 := αs.

Analysis of the construction. The construction of A obviously ensures, via

Case 1 above, that R3e is satisfied for all e ≥ 0. So we need only to show that

R3he,ii+1 and R3he,ii+2 are both satisfied for all e, i ≥ 0.

Claim. For all e, i ≥ 0 and 1 ≤ k ≤ 2, R3he,ii+k is satisfied.

Proof. Fix e and i. We prove that R3he,ii+2 is satisfied. (The case k = 1 is similar.) Accordingly suppose that Φe(A ⊕ C) = Φi(B). Let s = 3he, ii+2. We show that, for all x ≥ 0,

− x ∈ Φe(A ⊕ C) iff (∃α ⊇ αs)( x ∈ Φe(α ⊕ C)) since this implies that Φe(A ⊕ C)≤e C.

(⇒) Obvious.

− (⇐) Suppose that there is an α ⊇ αs such that x ∈ Φe(α ⊕ C) but that 3.6. BASIC PROPERTIES OF DSE 85

x∈ / Φe(A ⊕ C). Then x∈ / Φi(B) since Φe(A ⊕ C) = Φi(B) by hypothesis. Thus the construction at stage 3he, ii + 2 would ensure that Φe(A ⊕ C) 6= Φi(B), contradicting the hypothesis. 3

This concludes the proof.

Corollary 3.6.2. Each non zero se-degree is part of a minimal pair.

Definition 3.6.3 ([KP54]). Two degrees a and b form an exact pair for a set of degrees C if the following two conditions hold.

(1) Both a and b are above all degrees in C, i.e.

( ∀c ∈ C )( c ≤ a & c ≤ b )

(2) Any degree x that is below a and b is also below some degree in C, i.e. x ≤ a & x ≤ b ⇒ ( ∃c ∈ C )( x ≤ c ).

Notation. For any set A and n ∈ ω we define A[n] = { hx, ni | hx, ni ∈ A } and A[≤n] = S { A[m] | m ≤ n } . We combine this notation with that already described for strings in Section 1.2 (page 7). So for example, for any string σ and n ≥ 0 ,

[≤n] + ( σ ω ) =def { hx, mi | σ(hx, mi) ↓ = 1 & 0 ≤ m ≤ n & 0 ≤ x } .

For any countable class of sets {Bk}k≥0 and n ∈ ω, ⊕m≤n Bm denotes the set

{ hx, mi | m ≤ n & x ∈ Bm } .

Theorem 3.6.4. Every countable set of se-degrees in which every pair of ele- ments is bounded has an exact pair.

Proof. Suppose that {Bn}n≥0 is a countable class of sets such that, for all 0 n, n ≥ 0 there exists m ≥ 0 such that Bn ⊕ Bn0 ≤se Bm (†). Then we will construct sets A and B such that:

(1) Bm ≤se A, B for all m ≥ 0

(2) For any set E : E ≤se A, B ⇒ E ≤se ⊕m≤nBm for some n ≥ 0. 86 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

0 Note that, for all n ≥ 0, ⊕m≤nBm ≤se Bn0 for some n ≥ 0 by assumption (†), and so the sets A and B witness the truth of the Theorem. We firstly set:

B := { hx, mi | x, m ∈ ω & x ∈ Bm }

[n] [≤n] Remark. For any n ∈ ω, B is essentially a copy of Bn, B = ⊕m≤nBm, [≤n] and B = ⊕m≤nBm.

Suppose that { Φk | k ∈ ω } is the computable listing of enumeration op- erators stipulated in Section 2.3 (on page 22). Accordingly, it will suffice to construct A, so as to satisfy, for all e, i, j ≥ 0 condition Ce and requirements

R2hi,ji and R2hi,ji+1 defined as follows:

Ce : Be ≤se A

[≤n] R2hi,ji :Φi(A) = Φj(B) ⇒ Φi(A)≤e B for some n ≥ 0, 0 [≤n ] 0 R2hi,ji+1 :Φi(A) = Φj(B) ⇒ Φi(A)≤e B for some n ≥ 0 .

Indeed, let E be any set such that E ≤se A, B; then the even requirements imply that E ≤e ⊕m≤nBm and the odd requirements imply that E ≤e ⊕m≤n0 Bm for 0 0 some n, n ≥ 0. Letn ˆ = max{n, n } and choose p such that Bm ≤se Bp for all m ≤ nˆ. Note that this is possible by assumption (†). Then, ⊕m≤nBm ≤e Bp and ⊕m≤n0 Bm ≤e Bp which implies that E≤e Bp and E≤e Bp. Thus E≤se Bp .

On the other hand, condition Ce will be satisfied by coding Be directly into the eth column of A. In effect, we ensure that, for all but finitely many z ≥ 0:

z ∈ Be iff hz, ei ∈ A

Thus Be ≤1 A.

The construction. A is constructed by finite initial segments {αn}n≥0 such S + that A = {αn | n ≥ 0} .

Stage s = 0. α0 = λ

Stage s + 1. αs has already been defined. 3.6. BASIC PROPERTIES OF DSE 87

Notation. We say that an inital segment α ⊇ αs is B-s-compatible if, for all n ≥ 0 and e ≤ s:

|αs| ≤ hn, ei < |α| ⇒ α(hn, ei) = B(hn, ei) .

There are two cases to consider depending on whether s is even or odd.

Case 1. s = 2hi, ji for some i, j ≥ 0. Then we try to vacuously satisfy R2hi,ji by forcing an inequality. To do this we search for x ≥ 0 and B-s-compatible

α ⊇ αs such that:

+ x ∈ Φi(α ) whereas x∈ / Φj(B).

If this search is successful we pick the least such α and we set αs+1 := α, otherwise we set αs+1 := αs.

Case 2. s = 2hi, ji + 1 for some i, j ≥ 0. Then we try to vacuously satisfy

R2hi,ji+1 by searching for x ≥ 0 and B-s-compatible α ⊇ αs such that:

− x ∈ Φi(α ) whereas x∈ / Φj(B).

If this search is successful we pick the least such α and we set αs+1 := α, otherwise we set αs+1 := αs.

Analysis of the construction. Firstly, for any e, it is easy to see that Ce is satisfied since the construction obviously forces A(hz, ei) = Be(z) for all but

finitely many z. So we just need to show that both the requirements R2hi,ji and

R2hi,ji+1 are satisfied, for all i, j ≥ 0.

Claim 1. For all i, j ≥ 0, R2hi,ji is satisfied.

Proof. Fix i and j. Suppose that Φi(A) = Φj(B). Let s = 2hi, ji and define the set

+ [≤s] + [≤s] Ps := { x | (∃α ⊇ αs)( x ∈ Φi(α )&((α−αs) ω ) ⊆ B ) } .

[≤s] Clearly Ps ≤e B and so, to show that R2hi,ji is satisfied, it suffices to prove that, for all x ≥ 0:

x ∈ Φi(A) ⇔ x ∈ Ps. 88 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

+ (⇒) If x ∈ Φi(A) then x ∈ Φ(α ) for some α ⊆ cA such that α ⊇ αs . Pick t ≥ s+1 large enough so that α ⊆ αt. Then αt is B-s-compatible since, for all r ≥ s, [≤s] + [≤s] αr+1 is B-r-compatible. However this implies that ( (αt−αs) ω ) ⊆ B [≤s] + [≤s] [≤s] + [≤s] + and so ( (α−αs) ω ) ⊆ B , since ( (α−αs) ω ) ⊆ ((αt−αs) ω ) .

Thus x ∈ Ps.

(⇐) Suppose that x ∈ Ps but that x∈ / Φi(A). Then x∈ / Φj(B) since

Φi(A) = Φj(B) by hypothesis. Now, by definition of Ps, we know that x ∈ + [≤s] + [≤s] Φi(α ) for some α ⊇ αs such that: ( (α−αs) ω ) ⊆ B . So defineα ˆ of length |α| such that, for all y < |α|:

 α (y) if y < |α |  s s  [≤s] [≤s] αˆ(y) = (B )(y) if y ≥ |αs| and y ∈ ω (3.6.1)   α(y) otherwise

It is easy to see that α+ ⊆ αˆ+ and thatα ˆ is B-s-compatible. Thereforeα ˆ would bear witness to the fact that Φi(A) 6= Φj(B) at Stage s + 1, contradicting the hypothesis. 3

Claim 2. For all i, j ≥ 0, R2hi,ji+1 is satisfied.

Proof. Fix i and j. Suppose that Φi(A) = Φj(B). Let s = 2hi, ji+1 and define the set

− [≤s] − [≤s] Ns := { x | (∃α ⊇ αs)( x ∈ Φi(α )&((α−αs) ω ) ⊆ B ) } .

[≤s] Clearly Ns ≤e B and so, to show that R2hi,ji+1 is satisfied, it suffices to prove that, for all x ≥ 0:

x ∈ Φi(A) ⇔ x ∈ Ns.

− (⇒) If x ∈ Φi(A) then x ∈ Φ(α ) for some α ⊆ cA such that α ⊇ αs, by con- struction. Pick t ≥ s+1 large enough so that α ⊆ αt. Then αt is B-s-compatible [≤s] − [≤s] as in Claim (1). However this implies that ( (αt−αs) ω ) ⊆ B and so [≤s] − [≤s] [≤s] − [≤s] − ((α−αs) ω ) ⊆ B , since ( (α−αs) ω ) ⊆ ((αt−αs) ω ) . Thus x ∈ Ns. 3.7. CEA AND CO-CEA SUBSTRUCTURES OF DSE 89

(⇐) Suppose that x ∈ Ns but that x∈ / Φi(A). Then x∈ / Φj(B) since

Φi(A) = Φj(B) by hypothesis. Now, by definition of Ns, we know that x ∈ − [≤s] − [≤s] Φi(α ) for some α ⊇ αs such that: ( (α−αs) ω ) ⊆ B . So defineα ˆ of length |α| such that, for all y < |α|:  α (y) if y < |α |)  s s  [≤s] [≤s] αˆ(y) = (B )(y) if y ≥ |αs| and y ∈ ω (3.6.2)   α(y) otherwise

It is easy to see that α− ⊆ αˆ− and thatα ˆ is B-s-compatible. Thereforeα ˆ would bear witness to the fact that Φi(A) 6= Φj(B) at Stage s + 1, contradicting the hypothesis. 3

This concludes the proof.

Proposition 3.6.5. Dse is not a lattice.

Proof. Consider any strictly ascending sequence S of se-degrees. Then by The- orem 3.6.4, S has an exact pair a and b. Thus a and b do not have a greatest lower bound.

Remark. It is readily seen that if Turing degrees aT and bT do not have an infinum then the images ιse(aT) and ιse(bT) under the canonical embedding of

DT in Dse (Proposition 3.3.8) also do not have an infinum. Therefore Proposi- tion 3.6.5 follows from Spector’s (exact pair) Theorem for DT ([KP54, Lac54, Spe56]). Similarly Proposition 3.6.5 may also be seen as a Corollary to or Proposition 3.7.6 below.

3.7 CEA and co-CEA substructures of Dse

By Proposition 3.3.8 the substructure of Dse induced by the set of characteristic degrees is an isomorphic copy of DT. In this sense each characteristic se-degree is in effect an embedded Turing degree. We now show that, for any given Turing degree aT, there is a specific substructure of DT local to aT which has two 90 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

isomorphic copies local to the embedded image of aT (under ιse) in Dse. In consequence, in Sections 3.8-3.9, we will be able to apply results from the litera- ture on DT (via Propostion 3.7.6) to prove structural and definability properties of Dse. Firstly however we show (Corollary 3.7.2) that standard artithmetical notions are well defined relative to the embedded Turing degrees in Dse. We start with a Corollary of Proposition 3.5.3.

Lemma 3.7.1 ([McE85]). Suppose that A is a total set (i.e. A ≤e A). Then for A (n) all n ≥ 0, Σn+1 = Enum(JA ).

Corollary 3.7.2. Suppose that A is a set of characteristic se-degree (i.e. A ≡se A). Then for all n ≥ 0, A (n) (a) Σn+1 = Enum(SA ), A (n) (b) ∆n+1 = s-Enum(SA ).

(n) (n) Proof. By Note 3.4.11 and a simple induction, SA ≡se JA for all n ≥ 0. Thus (0) (a) is immediate by Lemma 3.7.1. To prove (b) note firstly that SA =def A (m+1) (and A ≡se A by hypothesis) and that SA is characteristic for all m ≥ 0. Thus, for all n ≥ 0,

A (n) (n) ∆n+1 = { B | B≤e SA & B≤e SA } (n) (n) = { B | B≤e SA & B≤e SA } (n) =def s-Enum(SA ) .

Notation. Let Γ ∈ {Σ, Π, ∆}. Suppose that u is a characteristic se-degree. u U Then Γn denotes the class { a | (∃A ∈ a)(∃U ∈ u)[ A ∈ Γn ] } . We will use the u u 0 notation Σn ∪ Πn with obvious meaning and the shorthand Γn for the class Γn. v v If v is a Turing degree we use Σn and ∆n in a similar manner (in the context of DT).

Remark. Suppose that u is a characteristic se-degree. Since for any sets X and

Y , X ≤se Y iff X ≤se Y it is easily seen that for any n ≥ 0 and Γ ∈ {Σ, Π, ∆}, u U a ∈ Γn iff A ∈ Γn for all A ∈ a and U ∈ u. 3.7. CEA AND CO-CEA SUBSTRUCTURES OF DSE 91

Definition 3.7.3. Let aT be any Turing degree and bse any characteristic se- degree. Then CEAT(aT) is defined to be the substructure of DT generated by the set

aT { dT | aT ≤ dT & dT ∈ Σ1 } .

Likewise, CEAse(bse) and co-CEAse(bse) are defined to be the substructures of

Dse generated by the sets

bse { dse | bse ≤ dse & dse ∈ Γ1 } for Γ ∈ {Σ, Π} respectively. We use ET, Ese, and co-Ese as shorthand for the structures CEAT(0T), CEAse(0se) and co-CEAse(0se).

Proposition 3.7.4. Let A be any set and let aT = degT(A) and ase = degse(A⊕

A) (i.e. the unique characteristic se-degree contained in aT). Then

∼ ∼ CEAT(aT) = CEAse(ase) = co-CEAse(ase) .

∼ Proof. The isomorphism CEAse(ase) = co-CEAse(ase) is witnessed by the re- striction to CEAse(ase) of the inverse map inv : Dse → Dse (see Definition 3.4.1). ∼ Thus it suffices to prove that CEAT(aT) = CEAse(ase). Consider any sets A A, B, C such that that A ∈ aT, A≤T B,C and B,C ∈ Σ1 . Note that this last condition implies that B,C≤e A ⊕ A. Then,

B≤T C

iff B ⊕ A≤T C ⊕ A

iff (B ⊕ B) ⊕ (A ⊕ A)≤e (C ⊕ C) ⊕ (A ⊕ A) by Lemma 3.3.6,

iff B ⊕ (A ⊕ A)≤e C ⊕ (A ⊕ A) as B,C≤e A ⊕ A,

iff B ⊕ (A ⊕ A)≤se C ⊕ (A ⊕ A) since B≤e A ⊕ A,

iff B ⊕ (A ⊕ A)≤se C ⊕ (A ⊕ A) by symmetry of ≤se ,

iff B ⊕ (A ⊕ A)≤se C ⊕ (A ⊕ A) as A ⊕ A ≡se A ⊕ A.

Moreover, for any set Bb such that A ⊕ A≤se Bb, obviously Bb ≡se Bb ⊕ (A ⊕ A) and A≤T Bb. Thus the map F : degT(X) 7→ degse( X ⊕ (A ⊕ A) ) witnesses the ∼ isomorphism CEAT(aT) = CEAse(ase). 92 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

∼ ∼ Corollary 3.7.5. ET = Ese = co-Ese.

Proposition 3.7.6. Let u be a characteristic se-degree. Then the two structures

CEAse(u) and co-CEAse(u) are non trivial, dense, non distributive upper semi- lattices with bottom element u and top element u∗ and inv(u∗) respectively. Neither structure is a lattice.

Proof. Choose U ∈ u and let uT = degT(U). Notice that KU ≡se HU as u ∗ ∗ is characteristic, and hence u and inv(u ) are in CEAse(u) and co-CEAse(u) respectively. Also U ≤1 KU and U ≡se U ≤1 KU whereas KU se U (as KU ≡se ∗ ∗ HU ) and KU se U (as KU e U). Therefore u < u and u < inv(u ). Non triviality is immediate. Note that CEAT(uT) is dense by the relativised version of Sacks density Theorem for ET ([Sac64]). It follows, by Proposition 3.7.4 that both CEAse(uT) and co-CEAse(uT) are dense. Likewise both structures are non distributive since N5 is embeddable into CEAT(uT) ([Lac72]) and neither structure is a lattice since CEAT(uT) contains a pair of degrees without infinum ([Lac66, Yat66]).

If any set X is c.e. in U then X ≤1 KU and if X is co-c.e. in U then ∗ ∗ X ≤1 KU . So u and inv(u ) are the top elements of CEAse(u) and co-CEAse(u) respectively.

Remark. Every total enumeration degree contains infinitely many se-degrees.

Indeed, if ae is a total enumeration degree then ae not only contains a (unique) ∗ characteristic se-degree ase (say) but also its weak jump ase . Thus ae also ∗ contains the set { bse | ase < bse < ase } which we know to be infinite by Proposition 3.7.6.

3.8 Diamond embeddings and minimal covers

Kalimullin defined the notion of a U-e-ideal pair in [Kal03] and used it to show that the (enumeration) jump is definable in De. It turns out that Kalimullin’s notion can be symmetrised (Definition 3.8.2) and used as a tool in the context of the the se-degrees. In effect, by defining the notion of a U-se-ideal pair, and 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 93

applying results from [Joc68], we are able to prove a diamond theorem for Dse similar to the result proved for De by Arslanov, Kalimullin and Cooper (see [AKC03] Theorem 6). We also show that every non zero Turing degree contains at least two mimimal se-degrees and we generalise this result.

Reminder. For any sets X,Y : X ⊕ Y = X ⊕ Y .

Definition 3.8.1 ([Kal03]). (a) A pair of sets A and B is e-ideal if there is a c.e. set W such that A × B ⊆ W and A × B ⊆ W .

(b) For any set U, a pair of sets A and B is U-e-ideal if there is a set W ≤e U such that A × B ⊆ W and A × B ⊆ W .

Definition 3.8.2. (a) A pair of sets A and B is se-ideal if both (A, B) is e-ideal and (A, B) is e-ideal. (b) For any set U, a pair of sets A and B is U-se-ideal if (A, B) is U-e-ideal and (A, B) is U-e-ideal.

Proposition 3.8.3. For any sets A, B and U, if A≤e U and B≤e U, then the pair of sets (A, B) is U-se-ideal.

Proof. Suppose that A≤e U and B ≤e U. Define M = A × ω and N = ω × B.

Then M ≤e U and N ≤e U. Also, for any sets X,Y , A×X ⊆ M and A×X ⊆ M whereas Y × B ⊆ N and Y × B ⊆ N. Thus A × B ⊆ M, A × B ⊆ M and A × B ⊆ N, A × B ⊆ N.

Observe that the notion of a U-se-ideal pair is not ordered. So it would be redundant to add the case A ≤e U and B ≤e U in the formulation of Proposi- tion 3.8.3. Similar considerations apply to the results below.

Corollary 3.8.4. If A is a c.e. set and B is a co-ce set then (A, B) is se-ideal.

Lemma 3.8.5. If A and U are sets such that A≤se U then, for every set B the pair of sets (A, B) is U-se-ideal.

Proof. Similar to the proof of Propostion 3.8.3 but with M = A × ω and N = A × ω. 94 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Lemma 3.8.6. For any sets A and U, if the pair (A, A) is U-se-ideal, then

A≤se U.

Proof. Let M ≤e U and N ≤e U be sets such that A × A ⊆ M and A × A ⊆ M whereas A × A ⊆ N and A × A ⊆ N. Then clearly the function f(x) = hx, xi witnesses both A≤1 M and A≤1 N. Hence A≤e U and A≤e U.

Definition 3.8.7 ([Joc68]). A set A is semirecursive if there is a computable function f of two variables such that, for every x and y,

(1) f(x, y) ∈ {x, y}

(2) {x, y} ∩ A 6= ∅ ⇒ f(x, y) ∈ A.

In this case f is called a selector function for A.

Remark. A is semirecursive iff A is semirecursive.

Lemma 3.8.8. If A is semirecursive the pair (A, A) is se-ideal.

Proof. Suppose that f is a selector function for A. Define

W = { hx, yi | f(x, y) = x } .

Then both W and W are c.e. and A × A ⊆ W and A × A ⊆ W . It follows that (A, A) is e-ideal via W whereas (A, A) is e-ideal via W .

Theorem 3.8.9 ([Joc68]). For any computable set A there is a semirecursive set B ≡T A such that neither B nor B is computably enumerable.

Lemma 3.8.10. For any sets A, B and U, if the pair A, B forms a U-se-ideal pair, and C≤se A then the pair of sets C,B also forms a U-se-ideal pair.

Proof. Suppose that M ≤e U and N ≤e U are sets witnessing the fact that (A, B) is U-se-ideal, i.e.

A × B ⊆ M and A × B ⊆ M

A × B ⊆ N and A × B ⊆ N. 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 95

Let Φ and Ψ be enumeration operators such that C = Φ(A) and C = Ψ(A). Define

M 0 = { hn, mi | ∃D[ n ∈ Φ(D)&(∀z ∈ D)[ hz, mi ∈ M ]] }

N 0 = { hn, mi | ∃D[ n ∈ Ψ(D)&(∀z ∈ D)[ hz, mi ∈ N ]] }

0 0 where D (as usual) ranges over finite sets. Notice that M ≤e M and N ≤e N: for example the c.e. set { h hn, mi , {hz, mi | z ∈ D} i | n ∈ Φ(D) } witnesses 0 the reduction M ≤e M.

Claim 1. C × B ⊆ M 0 and C × B ⊆ M 0.

Claim 2. C × B ⊆ N 0 and C × B ⊆ N 0.

Proof. We prove Claim 1. Claim 2 is proved in a similar manner.

• Suppose that hn, mi ∈ C × B. Then n ∈ Φ(D) for some finite set D ⊆ A and so, for all z ∈ D, hz, mi ∈ A × B ⊆ M. Hence hn, mi ∈ M 0.

• Suppose that hn, mi ∈ C ×B. Consider any finite set D such that n ∈ Φ(D). Then, as C = Φ(A) there exists some z ∈ D such that z ∈ A and so hz, mi ∈ A × B ⊆ M. Hence hn, mi ∈/ M 0. 3

Thus sets C,B form a U-se-ideal pair.

Remark. Lemma 3.8.10 is also a corollary of Theorem 3.8.16 below.

Corollary 3.8.11. The notion of a U-se-ideal pair is invariant under se-equivalence (for any set U).

Definition 3.8.12. We say that a pair of se-degrees a and b is u-se-ideal for an se-degree u if the pair (A, B) is U-se-ideal for some—or equivalently any—sets A ∈ a, B ∈ b and U ∈ u.

Lemma 3.8.13. For any se-degrees a and u the set

I(u, a) = { b ∈ Dse | (a, b) is u-se-ideal } is an ideal in Dse. 96 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Proof. Suppose that (a, b) is u-se-ideal and d ≤ b. Then it follows from Lemma 3.8.10 that (a, d) is u-se-ideal. Now suppose that (a, c) is also u- se-ideal (i.e. both b and c are in I(u, a)). Choose sets A ∈ a, B ∈ b, C ∈ c and U ∈ u. By definition there exist sets Mb,Mc ≤e U and Nb,Nc ≤e U such that

A × B ⊆ Mb , A × B ⊆ Mb and A × B ⊆ Nb ,A × B ⊆ Nb

A × C ⊆ Mc , A × C ⊆ Mc and A × C ⊆ Nc ,A × C ⊆ Nc .

Now define

S M = { hn, 2mi | hn, mi ∈ Mb } { hn, 2m + 1i | hn, mi ∈ Mc } S N = { hn, 2mi | hn, mi ∈ Nb } { hn, 2m + 1i | hn, mi ∈ Nc }

and notice that M ≤e U and N ≤e U. Also it is straightforward to check that

A × (B ⊕ C) ⊆ M and A × (B ⊕ C) ⊆ M

A × (B ⊕ C) ⊆ N and A × (B ⊕ C) ⊆ N.

Therefore the pair (a, b ∪ c) is u-se-ideal.

Theorem 3.8.14 ([Kal03]). Let A, B be a pair of sets that is not U-e-ideal and let {Fx,Ex}x∈ω be a computable enumeration of all pairs of finite sets. Then there exist sets X,Y ≤T A ⊕ B ⊕ KU such that

Y = { z | z ∈ X & Fz ⊆ A } = { z | z ∈ X & Ez ⊆ B }

(so Y ≤e X ⊕ A and Y ≤e X ⊕ B) and Y e X ⊕ U.

Proof. See Theorem 2.5 and its proof in [Kal03].

Corollary 3.8.15. Let A, B be a pair of sets that is not U-se-ideal. Then there exist sets X,Y ≤T A ⊕ B ⊕ HU such that Y ≤se X ⊕ A and Y ≤se X ⊕ B whereas Y se X ⊕ U .

Remark. X,Y ≤T A ⊕ B ⊕ HU implies that X,Y ≤se (A ⊕ A) ⊕ (B ⊕ B) ⊕ SU . 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 97

Proof. Since the pair (A, B) is not U-se-ideal we know (by definition) that either (A, B) is not U-e-ideal or (A, B) is not U-e-ideal. We consider both cases.

Case 1. (A, B) is not U-e-ideal. Then, by Theorem 3.8.14—and assuming

{Fx,Ex}x∈ω to be an enumeration of pairs of finite sets—there exist sets X,Y computable in A ⊕ B ⊕ KU such that

Y = { z | z ∈ X & Fz ⊆ A } = { z | z ∈ X & Ez ⊆ B } and Y e X ⊕ U. Now note that the c.e. set

W = {hz, {z} ⊕ Fz i | z ∈ ω }

witnesses the reduction Y ≤e X ⊕ A and the c.e. set

0 S W = {hz, {z} ⊕ ∅ i | z ∈ ω } {hz, ∅ ⊕ {n} i | n ∈ Fz & z ∈ ω } witnesses the reduction Y ≤e X ⊕ A (since z ∈ Y iff z ∈ X or Fz ∩ A 6= ∅).

Therefore Y ≤se X ⊕ A. Also, by a similar argument Y ≤se X ⊕ B. On the other hand, Y e X ⊕ U obviously implies Y se X ⊕ U.

Case 2. (A, B) is not U-e-ideal. Then, by the same argument as that applied to

Case 1, there exist sets Z,V computable in A ⊕ B ⊕ KU such that V ≤se Z ⊕ A and V ≤se Z ⊕ B but V se Z ⊕ U . However, if we let X = Z and Y = V , then the latter is equivalent to Y ≤se X ⊕ A, Y ≤se X ⊕ B and Y se X ⊕ U

(by definition of ≤se ).

Theorem 3.8.16. For any sets A, B, U the conditions (a)-(c) are equivalent.

(a) The pair (A, B) is U-se-ideal.

(b) There exist computable functions f(x, y) and fˆ(x, y) such that, for any set X ⊆ ω and for every x, y ∈ ω,

Φx(A ⊕ X) ∩ Φy(B ⊕ X) ⊆ Φf(x,y)(U ⊕ X) ⊆ Φx(A ⊕ X) ∪ Φy(B ⊕ X) and

Φx(A ⊕ X) ∩ Φy(B ⊕ X) ⊆ Φfˆ(x,y)(U ⊕ X) ⊆ Φx(A ⊕ X) ∪ Φy(B ⊕ X) . 98 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

(c) For every set X ⊆ ω the se-degree degse(U ⊕X) is the infinum of degse( A⊕

(U ⊕ X)) and degse( B ⊕ (U ⊕ X)).

Remark. This Theorem and its proof are adapted from Theorem 2.6 of [Kal03].

Proof. (a) ⇒ (b) Since (A, B) is U-se-ideal there exist sets M ≤e U and N ≤e U such that

A × B ⊆ M and A × B ⊆ M

A × B ⊆ N and A × B ⊆ N.

Suppose that M = ΦM (U) and N = ΦN (U). Then there exist computable functions f(x, y) and fˆ(x, y) such that

0 00 0 00 Wf(x,y) = { hn, D ⊕ Ei | ∃D ∃D n ∈ Φx(D ⊕ E) ∩ Φy(D ⊕ E)&

0 00  (∀z ∈ D )(∀w ∈ D )[ hz, wi ∈ ΦM (D)] }

0 00 0 00 Wfˆ(x,y) = { hn, D ⊕ Ei | ∃D ∃D n ∈ Φx(D ⊕ E) ∩ Φy(D ⊕ E)& 0 00  (∀z ∈ D )(∀w ∈ D )[ hz, wi ∈ ΦN (D)] } . where D0,D00 (and of course D,E) range over finite sets. We can now check that the associated enumeration operators Φf(x,y) and Φfˆ(x,y) satisfy condition

(b). The argument for Φf(x,y) is below, that for Φfˆ(x,y) is similar.

0 • Suppose that n ∈ Φx(A ⊕ X) ∩ Φy(B ⊕ X). Then n ∈ Φx(D ⊕ E) ∩ 00 0 00 Φy(D ⊕ E) for some (finite sets) E ⊆ X, D ⊆ A, D ⊆ B. Thus, for any 0 00 z ∈ D and w ∈ D , hz, wi ∈ A × B ⊆ M = ΦM (U). It easily follows that

there exists a finite set D ⊆ U such that hz, wi ∈ ΦM (D) for all such z, w.

Thus n ∈ Φf(x,y)(U ⊕ X).

0 00 • Suppose that n ∈ Φf(x,y)(U ⊕X). Then n ∈ Φx(D ⊕X) ∩ Φy(D ⊕X) for 0 00 0 00 some D ,D such that for any z ∈ D and w ∈ D , hz, wi ∈ ΦM (U) = M.

Suppose for a contradiction that n∈ / Φx(A ⊕ X) ∪ Φy(B ⊕ X). Then there must exist numbers z0 ∈ D0 and w0 ∈ D00 such that z0 ∈ A and w0 ∈ B and this means that hz0, w0i ∈ M (contradiction). 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 99

(b) ⇒ (c) Let X be any set. It is obvious that U ⊕ X ≤se A ⊕ (U ⊕ X) and

U ⊕ X ≤se B ⊕ (U ⊕ X). Consider any set C such that C ≤se A ⊕ (U ⊕ X) and 0 0 C≤se B ⊕ (U ⊕ X). Then there exist numbers x, y, x , y such that

C = Φx( A ⊕ (U ⊕ X) ) = Φy( B ⊕ (U ⊕ X)) and

C = Φx0 ( A ⊕ (U ⊕ X) ) = Φy0 ( B ⊕ (U ⊕ X)) .

Now since condition (b) holds by hypothesis,

C = Φf(x,y)( U ⊕ (U ⊕ X))

C = Φfˆ(x0,y0)( U ⊕ (U ⊕ X)) .

Thus C≤se U ⊕ X.

(c) ⇒ (a) Suppose that the pair (A, B) is not U-se-ideal. Then it follows from

Corollary 3.8.15 that there exist sets X,Y such that Y ≤se A ⊕ (U ⊕ X), Y ≤se

B ⊕ (U ⊕ X) and Y se U ⊕ X. Therefore degse(U ⊕ X) is not the infinum of degse( A ⊕ (U ⊕ X) ) and degse( B ⊕ (U ⊕ X) ).

Note 3.8.17. By Theorem 3.8.16 (a) ⇔ (c) we know that the pair (A, B) is

U-se-ideal iff for any set X se≥ U,

degse(X) = degse(A ⊕ X) ∩ degse(B ⊕ X) . (3.8.1)

Note that if (A, B) is se-ideal then (3.8.1) holds for any X (and so also, if neither

A nor B are computable, degse(A) and degse(B) form a minimal pair).

Corollary 3.8.18. A pair of se-degrees a,b is u-se-ideal iff

(∀z ≥ u)[ (a ∪ z ) ∩ (b ∪ z ) = z ] .

Note 3.8.19. Corollary 3.8.18 implies that, for any degree u the relation

“(x, y) is a u-se-ideal pair” is first order definable with parameter u in Dse. In particular it implies that the first order predicate ∀z [(x ∪ z ) ∩ (y ∪ z ) = z ] defines “(x, y) is an se-ideal pair” in Dse. 100 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Theorem 3.8.20 (Diamond Embeddings). Let a and b be se-degrees such that b is characteristic and a < b. Then the diamond lattice is embeddable in the se-degrees with b as the greatest elment and a as the least element provided that there is a characteristic degree a ≤ c < b.

Proof. Choose A ∈ a, C ⊕C ∈ c and B ⊕B ∈ b. By Theorem 3.8.9 there exists a semirecursive set V such that V ≡T B. Equivalently, V ⊕ V ≡se B ⊕ B. Set u = degse(V ⊕ A) and v = degse(V ⊕ A).

• Note firstly that u ∪ v = degse(V ⊕ V ⊕ A) = b.

• If V ≤se A then V ≤se C ⊕ C and so V ⊕ V ≤se C ⊕ C. Likewise V ≤se A

implies V ⊕ V ≤se C ⊕ C. Hence in either case we would have B ⊕ B ≤se C ⊕ C in contradiction with the the hypothesis. Therefore u > a and v > a. Now the pair (V, V ) is se-ideal by Lemma 3.8.8. Thus it follows from Theorem 3.8.16 (see Note 3.8.17) that u ∩ v = a.

Corollary 3.8.21. For any non zero characteristic degree a, the diamond lat- tice is embeddable in the se-degrees with a as the greatest element and 0se as the least element.

Remark. In addition to Corollary 3.8.21 it follows from the proof of Theo- rem 3.8.20 that for any non computable set B there exists a (semirecursive) set

X ≡T B such that degse(X) and degse(X) form a minimal pair in Dse.

We now move on to the second topic of this Section: minimal degrees.

Theorem 3.8.22. Let a, b and u be se-degrees such that:

(1) u is characteristic,

u u (2) a ∈ Σ1 and b ∈ Π1 .

Then the pair (a, b) is u-se-ideal.

Proof. Choose A ∈ a, B ∈ b and U ∈ u. Then A≤e U and B ≤e U ≡e U as u U is characteristic (and the fact that, by Corollary 3.7.2 with n = 0, X ∈ Σ1 iff

X ≤e U for any X). Now apply Proposition 3.8.3. 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 101

Theorem 3.8.23 ([Kal03]). If A, B, M are any sets such that

A × B ⊆ M and A × B ⊆ M (3.8.2) and such that Be M, then A≤e B ⊕ M.

Proof. For each x ∈ ω let Mx = { y | hx, yi ∈ M }. Clearly Mx ≤e M. Now

(3.8.2) implies that if x ∈ A then B ⊆ Mx, whereas if x ∈ A then Mx ⊆ B

(since B ⊆ Mx). Also, as B e Mx by assumption, each of these inclusions is proper. It therefore follows that

 x ∈ A iff Mx − B 6= ∅ iff (∃y∈ / B) hx, yi ∈ M .

This means that A≤e B ⊕ M.

Corollary 3.8.24. Let (A, B) be a U-se-ideal pair such that Be U and Be

U . Then A≤se B ⊕ U.

Proof. Suppose that (A, B) is U-se-ideal via the sets M ≤e U and N ≤e U, i.e. that

A × B ⊆ M and A × B ⊆ M

A × B ⊆ N and A × B ⊆ N.

Firstly note the following two points.

• Be U implies that Be M and so, by Theorem 3.8.23 A≤e B ⊕ M.

• Be U implies that Be N and so, by Theorem 3.8.23 A≤e B ⊕ N.

Now notice that B ⊕ M ≤e B ⊕ U and B ⊕ N ≤e B ⊕ U. Therefore A ≤se B ⊕ U.

Corollary 3.8.25. Let (A, B) be an se-ideal pair such that neither B nor B is c.e. Then A≤se B.

Proposition 3.8.26. Let a, b and u be se-degrees such that:

(1) u is characteristic, 102 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

(2) b  u,

(3) (a, b) is u-se-ideal,

u u (4) b ∈ Σ1 ( b ∈ Π1 ).

u u Then a ∈ Π1 ( a ∈ Σ1 ).

Proof. Choose sets A ∈ a, B ∈ b and U ∈ u.

Remark. By assumption (A, B) is U-se-ideal, B se U and U ≡se U. Notice U U also that, U ≡se U implies that for any set X, X ∈ Σ1 (X ∈ Π1 ) iff X ≤e U

(X ≤e U).

Suppose that M,N are sets via which (A, B) is U-se-ideal, i.e. such that

A × B ⊆ M and A × B ⊆ M

A × B ⊆ N and A × B ⊆ N.

We consider each of the two possible cases in turn.

u • Suppose that b ∈ Σ1 . By the Remark, B≤e U. So, since Bse U we know

that B e U and thus B e N. Therefore, by Theorem 3.8.23, A≤e B ⊕ N.

But B ⊕ N ≤e U ⊕ U ≤e U. So A≤e U, which implies (see the Remark) that u a ∈ Π1 .

u • Suppose that b ∈ Π1 . By the Remark B ≤e U. So, as B se U we know

that B e U and this implies that B e M. Therefore, by Theorem 3.8.23,

A≤e B ⊕ M. But B ⊕ M ≤e U ⊕ U ≤e U. So A≤e U, which implies (see the u Remark) that a ∈ Σ1 .

Definition 3.8.27. Let a, b, u and v be se-degrees such that u and v are v characteristic and (a, b) is u-se-ideal. Then, (a, b) is said to be “ Σ1 ” if either v v v a ∈ Σ1 or b ∈ Σ1 . Otherwise (a, b) is said to be “non Σ1 ”.

Note 3.8.28. Let u and v be characteristic se-degrees. Then we know from u Proposition 3.8.26 that the u-se-ideal pair (a, b) is non Σ1 iff neither a nor b is u u v in Σ1 ∪ Π1 . It also follows that if u ≤ v then (a, b) is a non Σ1 v-se-ideal pair v v iff neither a nor b is in Σ1 ∪ Π1 (since u ≤ v implies that (a, b) is v-se-ideal). 3.8. DIAMOND EMBEDDINGS AND MINIMAL COVERS 103

Lemma 3.8.29. If (a, b) is a non Σ1 se-ideal pair then b = a. Thus a, b are contained in the same Turing degree (i.e. degT(A) for A ∈ a) and a ∪ b is characteristic.

Proof. Pick any set A ∈ a and B ∈ b. Then, by Corollary 3.8.25 B ≤se A and

A≤se B. However the latter is equivalent to A≤se B and so B ≡se A.

Proposition 3.8.30 (Minimal Degrees). If (a, b) is a non Σ1 se-ideal pair then both a and b are minimal degrees in Dse.

Proof. Suppose that se-degree c is such that 0 < c ≤ b. Then (a, c) is se- ideal by Lemma 3.8.13. Now c is neither Σ1 nor Π1 since this would imply, by

Proposition 3.8.26 that a is either Π1 or Σ1 respectively, in contradiction with the hypothesis. Thus (a, c) is non Σ1 and so c = a = b by Lemma 3.8.29. A similar argument applies to a.

Corollary 3.8.31. Every non zero Turing degree contains at least two minimal se-degrees.

Proof. By Lemma 3.8.8 and Theorem 3.8.9 every non zero Turing degree con- tains at least one non Σ1 se-ideal pair.

Proposition 3.8.32. Let a, b and u be se-degrees such that u is characteristic u and (a, b) is an se-ideal pair that is non Σ1 . Then a∪u and b∪u are (distinct) minimal covers for u.

Proof. As 0 ≤ u trivially, (a, b) is u-se-ideal. By Lemma 3.8.13, (a ∪ u, b ∪ u) u u is also a u-se-ideal pair. Note that by assumption neither a nor b is in Σ1 ∪ Π1 (see Note 3.8.28). Consider any se-degree c such that c ≤ b ∪ u. Then, by Lemma 3.8.13, (a ∪ u, c) is u-se-ideal. There are two cases.

u u • c ∈/ Σ1 ∪ Π1 . Then choose A ∈ a, B ∈ b, C ∈ c, and U ∈ u and note that

U ≡se U as u is characteristic. By Corollary 3.8.24, B ⊕U ≤se (A⊕U)⊕U

and A⊕U ≤se C⊕U. However (A⊕U)⊕U ≤se A⊕U and C⊕U ≡se C⊕U (as u is characteristic). Therefore b ∪ u ≤ c ∪ u. Thus, if u ≤ c, then b ∪ u = c. 104 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

u u • c ∈ Σ1 or c ∈ Π1 . It cannot be the case that c  u since this would u u imply, by Corollary 3.8.26, that either a ∈ Π1 or a ∈ Σ1 (respectively). Hence c ≤ u.

We conclude that b ∪ u is a minimal cover for u. A similar argument proves that a ∪ u is also a minimal cover for u. These two degrees are distinct as (a ∪ u, b ∪ u) is a u-se-ideal pair.

Corollary 3.8.33. Let aT and bT be Turing degrees such that aT < bT and let ase be the (unique) characteristic se-degree contained in aT. Then bT contains at least two minimal covers for ase.

Proof. Pick any A ∈ aT and note that ase = degse(A ⊕ A). By Theorem 5 of

[AKC03] there exists a semirecursive set B ∈ bT such that neither B nor B are c.e. in A. Let bse = degse(B) and cse = degse(B). Then (bse, cse) is an se-ideal

ase pair which is non Σ1 . By Proposition 3.8.32 bse ∪ase and cse ∪ase are mimimal covers for ase. Clearly both these se-degrees are contained in bT.

Remark 1. Note that Corollary 3.8.31 means that any set of non zero Turing degrees A (say) gives rise to an antichain of se-degrees B such that (for example) each aT ∈ A contains exactly one bse ∈ B and such that each bse ∈ B is contained in some aT ∈ A. In contrast the set A of course also gives rise to

C = { cse | cse characteristic and cse ⊆ aT for some aT ∈ A } which once again has the property that any aT ∈ A contains exactly one cse ∈ C.

However in this case, for any aT, bT ∈ A and ase, bse ∈ C such that ase ⊆ aT and bse ⊆ bT we know that aT ≤ bT iff ase ≤ bse.

Remark 2. The first part of Remark 1 applies to any reducibility subsumed by ≤se . So, for example, any set of non zero Turing degrees gives rise to an antichain of m-degrees in the manner described above.

Remark 3. It follows from Proposition 3.8.30 that every non zero Turing degree contains at least three se-degrees: two incomparable se-degrees forming a non

Σ1 se-ideal pair and their (characteristic) join. 3.9. AUTOMORPHISMS AND DEFINABILITY 105

3.9 Automorphisms and definability

By combining results from Section 3.7 and Section 3.8 we are now in a position to demonstrate some of the definability properties of Dse. As a consequence we are able to identify the degree of complexity of the first order theory of Dse. We also prove some negative results.

Reminder. An automorphism base for Dse is any set of se-degrees A such that the behaviour of any automorphism of Dse is completely determined by its behaviour on elements of A.

Proposition 3.9.1. The map inv : Dse → Dse is a non trivial automorphism.

Proof. It follows easily from the fact that for any sets A, B, A≤se B iff A≤se B that inv is an automorphism of Dse. It is clearly non trivial since, degse(C) and degse(C) are distinct whenever degse(C) is non characteristic.

Lemma 3.9.2. The characteristic degrees do not form an automorphism base for Dse.

Proof. It suffices to note that inv : c 7→ c whenever c is characteristic.

Remark. Contrast the situation in De where the embedded Turing e-degrees (i.e. the total e-degrees) do form an automorphism base.

Lemma 3.9.3. If (a, b) is an se-ideal pair such that a, b > 0, then both a and b are quasiminimal.

Proof. Suppose w.l.o.g. that c ≤ a is characteristic. There are two cases to consider.

• (a, b) is Σ1. Then a is Σ1 or Π1 and it easily follows that c = 0.

• (a, b) is non Σ1. By Proposition 3.8.30 a is minimal and so c = 0 or c = a. Suppose, for a contradiction, that c = a. Then c = b by Lemma 3.8.29. However c = c as c is characteristic and so the pair (c, c) is se-ideal. But then it follows from Lemma 3.8.6 that c = 0 (contradiction). 106 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Note 3.9.4. Using an easy modification of the proof of Lemma 3.9.3 it can be shown that, if u is characteristic, a, b > u and (a, b) is u-se-ideal, then both a and b are u-quasiminimal.

Remark. It is easily seen that any automorphism F of Dse must preserve Turing degrees in the sense that, if aT is any Turing degree, there exists a Turing degree F F aT such that F ( { xse | xse ⊆ aT } ) = { yse | yse ⊆ aT }. On the other hand, each Turing degree contains exactly one characteristic se-degree (Note 3.3.9) and at least two other se-degrees (Remark 3 on page 104). Hence the proof of our next result is intuitively obvious.

Lemma 3.9.5. The class of non characteristic se-degrees forms an automor- phism base for Dse.

Proof. It suffices to show that the characteristic degrees are generated by the non characteristic degrees. Note firstly that, by Corollary 3.8.18 (with u = 0) we know that 0 = a ∩b for any se-ideal pair (a, b). On the other hand, if c > 0 is characteristic then there exists a non Σ1 se-ideal pair such that a = b ∪ c (see the proof of Theorem 3.9.14 below).

Notation. We say that an se-degree a is semi-recursive if it contains a semi- recursive set.

Lemma 3.9.6. An se-degree a > 0 is semi-recursive iff there exists an se-degree b > 0 such that (a, b) is se-ideal.

Proof. (⇒) Suppose that a is semi-recursive. Then a > 0 (by symmetry of

≤se) and (a, a) is se-ideal by Lemma 3.8.8.

(⇐) Suppose that there exists b > 0 such that (a, b) is se-ideal. There are two cases to consider.

• (a, b) is Σ1 se-ideal. Then w.l.o.g. we can suppose, by Proposition 3.8.26

that a is Σ1 and b is Π1. Now the isomorphisms of Corollary 3.7.5 imply that

every non zero c.e. Turing degree aT contains precisely one c.e. se-degree d

and one co-c.e. se-degree e = d (and the isomorphisms send aT to d and d 3.9. AUTOMORPHISMS AND DEFINABILITY 107

to e). Also, by Corollary 3.3 of [Joc68], every non zero c.e. Turing degree contains a hypersimple semirecursive set. It follows that a and b (the latter by the Remark on page 94) both contain semirecursive sets .

• (a, b) is non Σ1 se-ideal. By Lemma 3.8.29, b = a and so a,b are contained

in the same Turing degree aT (say). Choose A ∈ a (and so A ∈ b). By

Theorem 3.6 of [Joc68], there exists a semirecursive set C ≤p A (thus C ≤se

A and C ≤se A) such that C ∈ aT. Let c = degse(C). Then c and c are semi-recursive, (c, c) is se-ideal (by Lemma 3.8.8), and c ≤ a whereas c ≤ b

(as a = b). Therefore since c, c > 0 (aT being non zero), Proposition 3.8.30 implies that c = a and c = b.

Corollary 3.9.7. The class of se-degrees SR = { a | a is semirecursive } is

first order definable in Dse.

Proof. Lemma 3.9.6 in conjunction with Corollary 3.8.18 imply that the set >0 SR = { a | a > 0 & a is semirecursive } is first order definable in Dse. Also, of course, for any se-degree d, d ∈ SR iff d = 0 ∨ d ∈ SR>0 .

Proposition 3.9.8. Suppose that a and u are se-degrees such that u is char- u u acteristic and a  u. Then a ∈ Σ1 ∪ Π1 iff there exist se-degrees b,c such that both the pairs (a∪u, b∪u) and (a∪u, c∪u) are u-se-ideal and u < b∪u < c∪u.

Proof. We consider (⇒) and then (⇐) of the Proposition.

u u u • Suppose that a ∈ Σ1 ∪ Π1 . W.l.o.g. we can assume that a ∈ Σ1 (since u ∗ the case a ∈ Π1 follows using a similar argument). Let c = inv(u ) and note that c > u (see proof of Proposition 3.7.6). By Propostion 3.7.6 there u exists an se-degree b ∈ Π1 such that u < b < c. It thus suffices to note that b = b ∪ u and c = c ∪ u and that, by Lemma 3.8.13 the pairs (a ∪ u, b ∪ u) and (a ∪ u, c ∪ u) are u-se-ideal.

u u • Suppose that a ∈/ Σ1 ∪ Π1 and suppose that there exists se-degree c such that (a ∪ u, c ∪ u) is u-se-ideal. Then it is neither the case that c ∈ u u u Σ1 nor the case that c ∈ Π1 (since this would imply that a ∈ Π1 or 108 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

u u a ∈ Σ1 respectively). Thus (a ∪ u, c ∪ u) is non Σ1 and it follows by Proposition 3.8.32 that c ∪ u is a minimal cover for u. Hence there exists no b such that u < b ∪ u < c ∪ u.

u u Corollary 3.9.9. For any characteristic se-degree u, the class of Σ1 ∪ Π1 se-degrees is first order definable in Dse with parameter u.

Corollary 3.9.10. The class of Σ1 ∪ Π1 se-degrees is first order definable in

Dse.

0 Theorem 3.9.11. If u is characteristic then u is first order definable in Dse with parameter u.

Proof. Note firstly that u0 = u∗ ∪ inv(u∗) and that, as explained in the proof of Proposition 3.7.6, the se-degrees u∗ and inv(u∗) are the top elements of

CEAse(u) and co-CEAse(u) respectively. Hence it follows from Corollary 3.9.9, Theorem 3.8.22 and Proposition 3.8.26 that se-degree w = u0 iff there exist se-degrees x and y satisfying conditions (1)-(4) below.

u u (1) x, y > u and x, y ∈ Σ1 ∪ Π1 .

(2) (x, y) is u-se-ideal.

(3) For any x1, y1 satisfying conditions (1) and (2) it is either the case that

x1 ≤ x and y1 ≤ y or the case that y1 ≤ x and x1 ≤ y.

(4) w = x ∪ y.

We can therefore conclude from Corollary 3.8.18 and Corollary 3.9.9, that u0 is

first order definable in Dse with parameter u.

Theorem 3.9.12. Let u be any characteristic se-degree. Then, for all n ≥ 0,

(1) u(n) (the nth jump of u),

u u (2) the class of Σn ∪ Πn se-degrees,

u (3) the class of ∆n se-degrees, 3.9. AUTOMORPHISMS AND DEFINABILITY 109

are each first order definable in Dse with parameter u.

Proof. For (1)-(3) the case n = 0 is obvious. (1) then follows by Theorem 3.9.11 and induction on n ≥ 1 (using the fact that u(n) is characteristic). Also, by Corollary 3.7.2, u u u(n) u(n) Σn+1 ∪ Πn+1 = Σ1 ∪ Π1 ,

u (n) whereas ∆n+1 = { a | a ≤ u }. Thus (2) follows by Corollary 3.9.9 and (1), and (3) follows directly from (1).

Corollary 3.9.13. For all n ≥ 0,

(1) 0(n),

(2) the class of Σn ∪ Πn se-degrees,

(3) the class of ∆n se-degrees, are each first order definable in Dse.

Theorem 3.9.14. The class CHAR = { a | a is characteristic } is first order definable in Dse.

Remark. In other words the embedded Turing degrees are definable in Dse.

Proof. We firstly show that se-degree a is characteristic iff there exists a non

Σ1 se-ideal pair (b, c) such that a = b ∪ c.

• Suppose that a is characteristic. Choose A ∈ a. By Theorem 3.8.9 there

exists semirecursive B ≡T A (and so B ⊕ B ≡se A ⊕ A ≡se A) such that

neither B nor B is c.e. Let b = degse(B) and c = degse(B) (i.e. c = b).

By Lemma 3.8.8 and Definition 3.8.27 (b, c) is a non Σ1 se-ideal pair. Also clearly a = b ∪ c.

• Suppose that (b, c) is a non Σ1 se-ideal pair such that a = b ∪ c. Then by Lemma 3.8.29, c = b. Thus a is characteristic.

It now suffices to note that by Note 3.8.19, and Corollary 3.9.13 (and Note 3.8.28) the class of non Σ1 se-ideal pairs is first order definable in Dse. 110 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

Reminder. ιse : DT → Dse is the canonical embedding defined in Proposi- tion 3.3.8.

Remark. Suppose uT is a Turing degree and let use = ιse(uT), i.e. the unique characteristic se-degree contained in uT. Choose any Turing degree aT and let

uT ase = ιse(aT). Then we can show that aT ∈ Σ1 iff

ιse(uT) ιse(uT) ∃xse∃yse [ xse, yse ∈ Σ1 ∪ Π1 & ιse(aT) = xse ∪ yse ] .

Indeed we can argue as follows. . .

uT • Suppose that aT ∈ Σ1 . Then there exists B ∈ aT and U ⊕ U ∈ uT such

U⊕U use use that B ∈ Σ1 . Let bse = degse(B). Then bse ∈ Σ1 , bse ∈ Π1 and

ase = bse ∪ bse.

use use • On the other hand suppose that there exist cse, dse ∈ Σ1 ∪ Π1 such

uT that ase = cse ∪ dse. If ase ≤ use then aT ≤ uT and so aT ∈ Σ1

use use trivially. If ase  use then either cse ∈ Σ1 and dse ∈ Π1 (Case 1) or vice versa (Case 2). W.l.o.g. suppose that Case 1 holds and note that

ase = ase = cse ∪ dse. Let ese = cse ∪ dse. Then ese = cse ∪ dse and we

use use know that ese ∈ Σ1 (*) and ese ∈ Π1 . Choose E ∈ ese and notice that U⊕U (*) implies that E ∈ Σ1 for any U ∈ uT. Now ase = ese ∪ ese, and so

uT E ⊕ E ∈ ase ⊆ aT. In other words, aT ∈ Σ1 .

uT Hence the class of embedded Σ1 Turing degrees is first order definable in Dse with parameter ιse(uT). Moreover it follows from this result in conjunction with Remark 1 on page 76, Theorem 3.9.11, Theorem 3.9.14 and the observations

uT made in the proof of Theorem 3.9.12(2), that the class of embedded Σn Turing degrees is first order definable in Dse with parameter ιse(uT) for all n ≥ 0.

uT The same can then also easily be shown for the class of ∆n embedded Turing degrees. In particular, this means that both the class of embedded Σn Turing degrees and the class of embedded ∆n Turing degrees are first order definable in in Dse for all n ≥ 0.

Theorem 3.9.15. The first order theory of Dse has the same 1-degree (and isomorphism type) as the theory of Second Order Arithmetic. 3.9. AUTOMORPHISMS AND DEFINABILITY 111

Proof. Assume that {Fn}n∈ω is a fixed computable enumeration of first order sentences in the language {≤}. Also assume a fixed computable enumeration of second order sentences in the language of arithmetic. Let Th(Dr), Th(SOA)) ⊆

ω be the sets of numbers corresponding to the first order theory of Dr (with r ∈ {T, se}) and the theory of Second Order Arithmetic respectively, in the context of the given enumerations.

It is easily seen that Th(Dse)≤1 Th(SOA)) as every sentence of the theory of Dse has a natural (and obviously computable) interpretation as a sentence about sets of integers.

On the other hand, as the first order theory of DT has the same 1-degree as the theory of Second Order Arithmetic ([Sim77]), there exists a 1-1 com- putable function f witnessing the reduction Th(SOA)) ≤1 Th(DT). Suppose that char(x) is a first order predicate (which can easily be written down using the above results) such that an se-degree c is characteristic iff Dse |= char(c). Also, for any first order sentence F define F ∗ to be the translation of F ob- tained by replacing any atomic sub-formula “x ≤ y” (say) of F by the formula “char(x) & char(y)& x ≤ y”. This translation clearly induces a 1-1 com- ∗ putable function g such that Fg(n) = Fn for all n ∈ ω. Moreover, it follows from Propositon 3.3.8 that DT |= Fn iff Dse |= Fg(n) for all n ∈ ω. Hence g witnesses the reduction Th(DT)≤1 Th(Dse) and g ◦ f witnesses the reduction

Th(SOA)≤1 Th(Dse).

Reminder. For any se-degree a and set A ∈ a, the e-jump (a) and the embedded † Turing jump (a ) are defined to be degse(JA) and degse(SA⊕A) respectively.

Lemma 3.9.16. Let A be a set of characteristic se-degree. Then it follows that (a) H ≡/ H and (b) J ≡/ J . A se A HA se HA

Proof. (a) HA ≡1 KA (since A ≡se A) and so HA ∈ dege(A). Hence degse(HA) is not characteristic (i.e. HA ≡/ se HA) as otherwise we obtain that HA ≡se A (by Lemma 3.3.5), in contradiction with Lemma 3.4.6.

(b) Since A ≤e A (and HA ≡1 KA) we know that A ≤1 HA. It follows that 112 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY

H ≡ J which in turn implies that J ≡ J (2). On the other hand, as A e A HA se A

HA ≡e A we know that JHA ≡se JA.

Proposition 3.9.17. Neither the weak jump nor the e-jump is first order de-

finable in Dse.

Proof. Let a be a characteristic se-degree. Then inv(a) = a whereas we know from Lemma 3.9.16(a) that inv(a∗) 6= a∗. Now let b = a∗ and c = inv(a∗). Then inv(b) = c whereas, inv(b) = b as b is characteristic. So, by   Lemma 3.9.16(b) inv(b ) 6= c . Thus, as inv is an automorphism of Dse, neither the weak jump nor the e-jump are definable in Dse.

Notation. Define ι : Dse → Dse to be the operator induced by the map X 7→

CX .

Note 3.9.18. It follows from Theorem 3.9.14 that the operator ι is first order definable in Dse. In effect, for any set A (obviously) degse(A ⊕ A) ≥ degse(A) whereas if c is any characteristic se-degree, such that c ≥ degse(A), then c ≥ degse(A ⊕ A).

Lemma 3.9.19. The embedded Turing jump is first order definable in Dse.

Proof. For any se-degree a, a† = (ι(a))0 and so the Lemma follows by Theo- rem 3.9.11 and Note 3.9.18.

Remark 1. We conjecture that the (strong) jump is also first order definable in Dse and we draw the readers attention to the three observations below.

(a) In contrast with the situation for the weak jump and the e-jump (see Propo- sition 3.9.17) it is easily shown that, for any se-degree a, a0 = (inv(a))0 whereas inv(a0) = a0.

(b) Kalimullin’s proof of the definability of the enumeration jump hinges on Theorem 3.1 of [Kal03]. However, we can also prove, in the context of

Dse that the jump of any se-degree u satisfies (I) ⇒ (II) of Kalimullin’s Theorem. (To see this use a similar argument to that which yields Corollary 3.9. AUTOMORPHISMS AND DEFINABILITY 113

2.8 of [Kal03] to show that if (A, B) is a U-se-ideal pair, such that Ase U

and Bse U then

A≤se B ⊕ U ⊕ KU and B≤se A ⊕ U ⊕ KU

and hence that A ⊕ SU ≡se B ⊕ SU .) We are therefore left with the question of whether the implication (II) ⇒ (I) of the Theorem holds in the se-degrees.

(c) Consider the first order predicate P (u, z) = ∀a∀b[(a, b) is not u-se- ideal ⇒ ( ∃x ≤ ι(a) ∪ ι(b) ∪ z )[ x ∪ a 6= x ∪ b ] ] and note that it follows from Corollary 3.8.15 (see the adjoining Remark) that, for any se-degree u, 0 Dse |= P (u, u ). Thus the natural question to ask here is whether it can be 0 shown that c ≥ u for any characteristic c ≥ u satisfying Dse |= P (u, c).

Note that (a) shows how the obvious obstacle to definability of the jump does not apply in this case, whereas (b) and (c) indicate the manner in which this question might be addressed.

Remark 2. Let a be any non Σ1 ∪ Π1 se-degree. By Theorem 3.3.11 there exists a non characteristic se-degree b such that a < b. Clearly b ∈/ SR (since b is non Σ1 ∪ Π1 and non minimal). Thus CHAR ∪ SR is non empty. Also, if a is quasiminimal then so also is b. Hence not all quasiminimal se-degrees are semirecursive. 114 CHAPTER 3. SYMMETRIC ENUMERATION REDUCIBILITY Chapter 4

Polynomial Time Enumeration Reducibility

4.1 Overview

We now turn our attention to polynomial time bounded variants of enumera- tion reducibility and their associated degree structures over the computable sets. As mentioned earlier, there are two such notions in the literature, non deter- NP ministic polynomial time conjunctive reducibility (≤c ) defined in [LLS75], and polynomial time enumeration reducibility (≤pe) defined in [Sel78]. Our princi- pal concern will be the latter of these two relations. Accordingly, after a review of some background notation and results (Section 4.2) we define ≤pe and we retrace Selman’s analysis of this reducibility (Section 4.3) including Selman’s NP proof that ≤pe properly contains ≤c . We then present (in Section 4.4) some of the basic properties of the degree structure induced by ≤pe (the pe-degrees) and, following a brief review of technical lemmas due to Ambos-Spies (Sec- tion 4.5) we show how to construct meets and joins in a uniform manner in the pe-degees. We are thus able to show that certain lattice embeddings known to exist in the Cook degrees also exist in this context (Section 4.6).

115 116CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

We describe (in Section 4.7) how the degree structure associated with the SN non deterministic polynomial time bounded variant of Turing reducibility (≤T ) NP embeds into the degree structures of both ≤pe and ≤c and we prove the existence of (relative) quasiminimal degrees in the latter. We end the Chapter by proving that ≤pe and the deterministic polynomial time variant of Turing P reducibility (≤T ) differ over the exponential sets (Section 4.8).

4.2 Preliminaries

4.2.1 Background Notation

Let Σ = {0, 1}. Our basic elements in this Chapter are finite strings over Σ, the set of which we denote by Σ∗. s, t, x, . . . denote such strings and |s| denotes the length of string s. Sets of strings are denoted by A, B, C, . . . and classes of sets by A, B, C,... The complement of A in Σ∗ is (as before) denoted A and the cardinality of any set S is written kS k. st is the concatenation of strings s and t, sA is the set { st | t ∈ A } and A ⊕ B is the set 0A ∪ 1B. We assume the standard length lexicographical ordering on strings (≤L); Aw denotes the set of strings in A that are strictly below w according to this ordering. An on the other hand, is the set of strings in A of length less than n. We use [0, n) ∗ (and similar notation) to denote Σ n. For any (total) functions f, g : ω → ω we say that f is O(g) if there exists a constant c such that f(n) ≤ c · g(n) for all n ∈ ω. We write f ' g if f is O(g) and g is O(f). We extend this notation in an obvious way to time bounds. P denotes the class of polynomials in one variable. We assume the fixed enumeration {pi(n) | i ∈ ω} in P to be defined i by pi(n) = n + i for all i ∈ ω. All other relevant background notation can be found on page 5 in Chapter 1. 4.2. PRELIMINARIES 117

4.2.2 Coding Finite Sets and Pairs of Strings

Let :Σ∗ → Σ∗ be the function defined by   01 if x = λ , x =  x[00/0, 11/1] otherwise , for any x ∈ Σ∗. Thus, for example, if x = 101, x = 110011. Also define the blank (or separator) constant c = 10.

Define ∞ to be the (fictive) contradictory finite set satisfying ∅ * ∞ * Σ∗. ∗ By convention we suppose also that ||∞|| = −1. Then { Ds | s ∈ Σ } is defined to be the enumeration of finite sets of strings (including ∞) defined by

   ∅ if x = λ , (Case 1)    {y} if x = y , (Case 2)   Dx = Dw ∪ {y} if x = wcy s.t. ||Dw|| ≥ 1    and (∀z ∈ D )[ z < y ] , (Case 3)  w L    ∞ otherwise , (Case 4)

∗ ∗ for any x ∈ Σ . Accordingly, {λ} = D01 , and {y} = Dy for any y ∈ Σ . Also, for any finite set E such that ||E|| ≥ 2, E = Dx iff x = z0 cz1 . . . czn (say) , such that zi

Note 4.2.1. The use of the fictional ∞ ensures both unicity as just described and simplicity/transparency of our coding scheme. Alternatively define ∆ ∈ P (defined below) to be the set of strings satisfying Cases 1-3 above and always quantify over ∆ instead of Σ∗ (e.g. use “(∃y ∈ ∆)[ hx, yi ∈ W ]” instead of “(∃y ∈ Σ∗)[ hx, yi ∈ W ]”). Thus the presence of ∞ simply indicates, in opera- tional terms, that we always limit searches for codes of finite sets to an appro- 118CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY priate easily recognisable subset of Σ∗. Note that many other coding schemes suit our purposes just as well (but turn out to be either more complex or non unique), for example if we replace ∞ by ∅ in Case 4 above.

For any finite set D, define D+ = { s | 0s ∈ D } and D− = { s | 1s ∈ D } if D 6= ∞, and D+ = D− = D (= ∞) otherwise. Accordingly two sets of queries + Y and N are uniquely encoded in a string t (in the sense that Dt = Y and − Dt = N) of length at most 8 · (Σy∈Y |y| + Σz∈N |z|). To keep notation succinct we use h , i to denote polynomial time computable and invertible bijections (I) from Σ∗ × Σ∗ to Σ∗, (II) from ω × Σ∗ to Σ∗ and (III) from ω × ω into ω (where ω is identified with {0}∗). Note that the context always disambiguates the meaning of this notation. Note also that in case (I), we can assume that |s| < |hs, ti| and |t| < |hs, ti| for any strings s, t ∈ Σ∗ and in case (III) we can assume that n < hn, mi and m < hn, mi for any n, m ∈ ω. Definep ˆ(n, m) to be a polynomial such that, for each of the above definitions of h , i and for any strings x and y, hx, yi can be computed inp ˆ(|x|, |y|) steps.

4.2.3 Turing Machines and Time Bounds

In this Chapter we assume a variant of the Turing machine models defined in Chapter 2 Section 2.2 in which inputs, outputs, oracle queries and answers, and all other writing and reading is carried out in binary notation (i.e. over Σ∗). A Turing machine ϕ is said to be time bounded by a (total) function f : ω → ω if ϕ(x) halts within f(|x|) steps for all x ∈ Σ∗. Note that we include the cost of reading the input (and of presenting the output in a uniform manner, e.g. always moving to the leftmost non empty cell to successfully halt) in the time of the computation. Moreover, for an oracle machine computation we suppose that the act of querying the oracle costs lquery + lanswer + 1 steps, where lquery is the length of the string being queried and lanswer is the length of the string returned by the oracle. In effect we suppose that there are three different query states, the first (writeQuery state) that causes the machine to write out the query 4.2. PRELIMINARIES 119 one bit at a time, the second (makeQuery state) that engages the oracle in one step, and the third (writeAnswer state) that writes1 out the answer one bit at a time, and causes the machine to enter the answer state on completion of this process. We say that a machine is polynomial time bounded if it has time bound p(n) ∈ P. Note that in practice we shall assume that the underlying program of such a machine essentially contains a step counting polynomial clock. In general we will use M,M 0 etc. and N,N 0 etc. to denote respectively deterministic and non deterministic Turing machines in this context.

4.2.4 Deterministic Turing Machines and Reductions

We say that a partial function f from Σ∗ into Σ∗ is polyomial time computable if there exists a deterministic polynomial time bounded Turing machine (p-T- machine) that computes f. Likewise we say that a set A is polynomial time computable if there is such a machine that computes cA. We say that f is P polynomial time Turing reducible to g (f ≤T g) if there exists an oracle p-T- machine M with oracle g that computes f (written f = M g). A is said to P be polynomial time Turing reducible to B ( A≤T B ) if there is an oracle p-T- machine that computes cA with oracle cB. Note that we can assume that such machines are acceptors as described in Definition 2.2.12.

P A is said to be polynomial time many-one reducible to B ( A≤m B ) if there is a total function f computable in polynomial time such that A = f −1(B) and polynomial time one-one reducible to B if f is one-one. We use DTIME( f(n) ) to denote the class of sets (Turing) computable in O(f(n)) time. We define P to be the class of polynomial time (p-time) S computable sets. Thus P = p∈P DTIME( p(n)). For each type of p-T-machine (i.e. oracle/non oracle, functional/acceptor) we assume a computable listing { Mi | i ∈ ω } of machines such that Mi is time bounded by pi. Accordingly we can assume { fi | i ∈ ω } to be a computable listing of polynomial time bounded functions such that fi is computable in pi(n)

1W.l.o.g. we can assume that writing is tantamount to writing and reading simultaneously. 120CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY steps. A total function f :Σ∗ → Σ∗ is said to be polynomial time constructible (p-constructible) if there exists p(n) ∈ P such that f(x) can be computed in p(|f(x)|) steps for all x ∈ Σ∗.

4.2.5 Non Deterministic Turing machines and Reductions

We say that a (partial) function f from Σ∗ into Σ∗ is non deterministic polyno- mial time bounded if there exists a non deterministic polynomial time bounded Turing machine (np-T-machine) that computes f. Likewise we say that a set A is non deterministic polynomial time computable if there is such a machine that computes sA. We say that f is non deterministic polynomial time Turing P reducible to g (f ≤NT g) if there exists an oracle np-T-machine N with oracle g that computes f (written f = N g). A is said to be (setwise) non deterministic NP P polynomial time Turing reducible to B (A≤T B) if sA ≤NT cB. Note that we can assume that non deterministic reductions performed between sets (or non oracle computations of sets) are carried out by machine acceptors as described in Definition 2.2.13.

P NP Remark. Notice that ≤NT and ≤T are polynomial time bounded versions of N NP ≤NT and ≤T respectively. Note also that ≤T is the standard non determin- istic Turing reducibility used in the literature (see for example the definition of NP ≤T on page 117 of [LLS75]).

We use NTIME( f(n) ) to denote the class of sets that are non determin- istic (Turing) computable in O(f(n)) time. We define NP to be the class of non deterministic polynomial time (np-time) computable sets. Thus NP = S NP p∈P NTIME( p(n) ). Likewise we define NP(A) = { X | X ≤T A } for any set A.

We suppose that { Ni | i ∈ ω } is a computable listing of np-T-machines

(acceptors) such that Ni has time bound pi(n) and we define { Vi | i ∈ ω } to be the computable listing of NP such that Vi is accepted (i.e. non deterministically computed) by Ni. 4.2. PRELIMINARIES 121

We remind the reader that (arbitrary) sequences of configurations of (oracle) Turing machines can be coded in ω (Note 2.2.8). It follows that we can also code such sequences (and hence putative computations) in Σ∗ (see Note 4.2.5 below). With this in mind, and supposing N to be an oracle np-T-machine, we use Q(N, s, B, y) to denote the set of queries made during the computation (coded by the string) y of N B(s). Likewise Q+(N, s, B, y) denotes the set of pos- itive queries (i.e. for which answer = yes) of computation y and Q−(N, s, B, y) denotes the set of negative queries (i.e. for which answer = no).

Note 4.2.2. By Lemma 2.2.11 (see also the observations relating to (2.2.6) on ∗ NP page 19) we can assume that, for any A, B ∈ Σ , A≤T B iff there exists an oracle np-T-machine (acceptor) N such that, for all x ∈ Σ∗,

x ∈ A iff there exists an accepting computation of N B(x) . (4.2.1)

Definition 4.2.3 ([LLS75]). For any A, B ⊆ Σ∗, A is non deterministic poly- NP nomial time conjunctive reducible ot B (A ≤c B) if there exists an oracle np-T-machine N such that, for all x ∈ Σ∗,

x ∈ A iff there exists an accepting computation y

of N B(x) such that Q(N, x, B, y) ⊆ B. (4.2.2)

Definition 4.2.4 ([LLS75]). For any A, B ⊆ Σ∗, A is non deterministic poly- NP nomial time many one reducible ot B (A≤m B) if there exists an oracle np-T- machine N such that, for all x ∈ Σ∗,

x ∈ A iff there exists an accepting computation y of N B(x)

such that Q(N, x, B, y) ⊆ B and ||Q(N, x, B, y)|| = 1 . (4.2.3)

Note 4.2.5. Choose a p-time coding scheme Σ∗ → Σ∗ (i.e. a p-time coding function with p-time inverse) for coding (arbitrary) sequences of configurations of (oracle) Turing machines as described in Note 2.2.8 on page 15. Suppose that g is a partial function from Σ∗ into Σ∗ such that Dom(g) ∈ P , and that N is an oracle np-T-machine. Then, taking into account our assumptions on the 122CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY polynomial time bounded oracle machine model (in Subsection 4.2.3), we can see that the set

g OutN = { hw, x, yi | w encodes a halting computation of N g(x) that outputs y } (4.2.4)

g P is p-time computable in g (i.e. OutN ≤T g ). Indeed, the proof of this, es- sentially due to Cook [Coo71] and Karp [Kar72], is straightforward, given the observations (on checking bad configurations etc.) made in Note 2.2.8. Notice that, in the above we use the fact that, if polynomial p(n) time bounds g N, then any computation of N (x) is a sequence of configurations c0 . . . , ck such that k ≤ p(|x|). Also, w.l.o.g. our coding scheme is chosen such that configuration ci (0 ≤ i ≤ k) is encoded in a string wi of length O( p(|x|) ). It follows that there is an O( p2(n) ) polynomial q(n) such that q(|x|) bounds the length of string w encoding computation c0, . . . , ck . In a similar way it follows that if B is a set of strings and N is an np-T- machine acceptor (in the sense of Definition 2.2.13), then the set

B B AccN = { hx, wi | w encodes an accepting computation of N (x) } (4.2.5) B P is p-time computable in B, (i.e. AccN ≤T B ).

∗ NP Lemma 4.2.6 ([Coo71, Kar72]). For any A, B ⊆ Σ , A≤T B iff there exists P ∗ a (binary) relation R≤T B and polynomial q(n) such that, for all x ∈ Σ ,

x ∈ A iff ∃w[ |w| = q(|x|)& R(x, w)] . (4.2.6)

Proof. (⇒) By Note 4.2.2 there is an oracle np-T-machine (acceptor) N that witnesses (4.2.1). Suppose that polynomial p(n) time bounds N. Then, by Note 4.2.5, there exists polynomial q(n) (such that (q(n) is O( p2(n) ) and

B x ∈ A iff ∃y[ |y| ≤ q(|x|)& hx, yi ∈ AccN ] .

B P where AccN ≤T B is defined according to (4.2.5). Hence we can define R(x, w) to be the relation “|w| = q(|x|) and w = yz such that z = 0|w|−|y| and hx, yi ∈ 4.2. PRELIMINARIES 123

B AccN ”.

(⇐) This implication is obvious.

Definition 4.2.7. For any A, B ⊆ Σ∗ and q(n) ∈ P, A is size q(n) non deter- NP P ministic polynomial time reducible to B (A≤T,q B) if there exists R≤T B such that for all x ∈ Σ∗,

x ∈ A iff ∃w[ |w| = q(|x|)& R(x, w)] .

Ladner, Lynch and Selman essentially showed in [LLS75] and [Sel78] that NP NP NP each of the above reducibilities (i.e. ≤T , ≤c and ≤m ) can be redefined in terms of enumeration type operators. We now take advantage of the coding schema for finite sets on page 117 to present these operators in the manner used in the context of ≤e (see Definition 2.3.2 and also Note 2.4.8).

∗ NP Lemma 4.2.8 ([Sel78]). For any A, B ⊆ Σ , A≤T B iff there is a polynomial p(n) and set V ∈ NP such that, for all s ∈ Σ∗,

∗ + −  s ∈ A ⇔ (∃t ∈ Σ ) |t| ≤ p(|s|)& hs, ti ∈ V & Dt ⊆ B & Dt ⊆ B . (4.2.7)

Proof. (⇒) Suppose that A = N B and that the machine N has polynomial time bound pN (n). Let

V = { hs, ti | |t| ≤ 8 · pN (|s|)& ∃ an accepting computation y of N B on input s such that

+ + + Q (N, s, Dt , y) = Dt and

− + − Q (N, s, Dt , y) = Dt } .

Now, note that “∃ an accepting computation y of of N B on input s” is equiv- B B P alent to “∃y[ hs, yi ∈ AccN ]” where AccN ≤T B is defined according to (4.2.5). Moreover, as observed in Note 4.2.5, there exists polynomial q(n) such that B |y| ≤ q(|s|) whenever hs, yi ∈ AccN . It thus easily follows that V ∈ NP. Also (using our coding scheme for finite sets defined on page 117) any two sets of 124CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY oracle queries Y and N for an (accepting) computation of N B(s) can be coded in a string of length at most 8 · pN (|s|). Hence it is easy to check that, for any s ∈ Σ∗,

∗ + −  s ∈ A ⇔ (∃t ∈ Σ ) |t| ≤ 8 · pN (|s|)& hs, ti ∈ V & Dt ⊆ B & Dt ⊆ B .

(⇐) Define an appropriate machine N that, on input s guesses a string of + − length at most p(|s|), and accepts iff hs, ti ∈ V , Dt ⊆ B and Dt ⊆ B.

The next two Lemmas can be proved in a similar way.

∗ NP Lemma 4.2.9 ([LLS75]). For any A, B ⊆ Σ , A ≤c B iff there is a polynomial p(n) and set V ∈ NP such that, for all s ∈ Σ∗,

∗  s ∈ A ⇔ (∃t ∈ Σ ) |t| ≤ p(|s|)& hs, ti ∈ V & Dt ⊆ B

∗ NP Lemma 4.2.10. For any A, B ⊆ Σ , A≤m B iff there is a polynomial p(n) and set V ∈ NP such that, for all s ∈ Σ∗,

s ∈ A ⇔ (∃t ∈ Σ∗) |t| ≤ p(|s|)& hs, ti ∈ V & t ∈ B 

In order to simplify the overall presentation it is with the three alternative definitions resulting from Lemmas 4.2.8-4.2.10 that we will usually work.

We use Ψp,V to denote the set of putative axioms induced by the polynomial p(n) and the set V ∈ NP in the sense that

Ψp,V = { hs, ti | |t| ≤ p(|s|)& hs, ti ∈ V } , (4.2.8) and we refer to such sets as np-operators. It is important to note that that

Ψp,V ∈ NP for any polynomial p(n) and V ∈ NP. We assume a fixed effective enumeration of np-operators { Φn | n ∈ ω } defined such that Φn = Ψpi,Vj ∗ for n = hi, ji. Notice that for any n ∈ ω and s, t ∈ Σ , if hs, ti ∈ Φn then

|t| ≤ pn(|s|). Of course, according to the above definitions, these operators can be used in three different ways. We thus specify Ψp,V to be an np-T-operator T if Ψp,V witnesses (4.2.7) and we write A = Ψp,V (B) for this reduction. We specify np-c-operators and np-m-operators in a similar manner and we use the 4.2. PRELIMINARIES 125

c m notation A = Ψp,V (B) and A = Ψp,V (B) respectively in this case. When no ambiguity arises we drop the superscripts. Accordingly, for r ∈ {T, c, m} we can NP view { Φn | n ∈ ω } as an enumeration of np-r-operators such that A≤r B iff A = Φn(B) for some n ∈ ω.

Note 4.2.11. Choose any p(n) ∈ P, and V ∈ NP. Then, for any q(n) ∈ P such that q(n) ≥ p(n) for all n ≥ 0, (for example if for some i ≥ 0, p(n) = pi(n) and q(n) = pj(n) for any j ≥ i), if

Φ = { hs, ti | |t| ≤ q(|s|)& hs, ti ∈ Ψp,V }

then obviously Φ = Ψp,V .

NP In Section 4.7 we will also consider a subreducibility of ≤T of a different N type. The reader should observe the analogy between the pair (≤T , ≤T ) and SN NP N (≤T , ≤T ) (bearing in mind the equivalence of “ c.e. in ” and ≤T ).

Definition 4.2.12 ([Sel78]). For any A, B ⊆ Σ∗, A is strong non deterministic SN NP NP polyomial time reducible to B (A≤T B) if A≤T B and A≤T B.

For (R, s) ∈ {(P, T), (P, m), (P, 1), (NP, c), (NP, m), (SN, T)} and any set A, R R R R degs (A) denotes the ≤s -degree of A whereas RECs denotes the class of ≤s - R degrees of computable sets and hRECs , ≤i denotes the corresponding degree R R structure. More generally, for any class C, Cs denotes the class of ≤s -degrees R containing some set in C and h Cs , ≤ i denotes the corresponding degree struc- ture. For (R,s) as above, and supposing r to be the lower case form of R (e.g. if R is “NP” then r is “np”), we use the shorthand r-s-reducible, r-s-reduction, r-s-degrees, etc. with obvious meaning. Also we use the terms r-s-hard and r-s-complete for a class C in the manner described on page 20. Similar notation NP is used relative to ≤T when appropriate. We say that a reducibility R is effective operator based if there exists a computable enumeration of effective operators { Φn | n ∈ ω } such that, for ∗ NP any X,Y ⊆ Σ , X R Y iff X = Φn(Y ) for some n ∈ ω. Note that, ≤T and 126CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

R each of the reducibilities ≤s mentioned in the paragraph above are effective operator based.

4.2.6 Complexity Classes

We use DSPACE(f(n)) to denote the class of sets computable in O(f(n)) space and we use exp to denote the exponential function ω × ω → ω defined such that exp(0, n) = n and exp(m + 1, n) = 2exp(m,n) for all m ∈ ω. With these definitions in mind we end this section with a list of the standard complexity classes in which we will be interested.

S P = p∈P DTIME( p(n)) S NP = p∈P NTIME( p(n)) S PSPACE = p∈P DSPACE( p(n)) E = DTIME( 2n )

S p(n) EXP = p∈P DTIME( 2 ) S ELEMENTARY = m∈ω DTIME( exp(m, n))

Note that we also refer to EXP as exponential time and ELEMENTARY as elementary time. Pω is the class of subsets of ω which are polynomial time computable (with respect to unary representation). Note that there is a canon- n ical embedding of Pω into P induced by the function n 7→ 0 which identifies ω with {0}∗.

4.3 Polynomial Time Enumeration Reducibility

NP There is an obvious similarity between the reducibility ≤c (Definition 4.2.3 and Lemma 4.2.9) and ≤e in the light of Friedberg and Roger’s formal defini- tion of the latter (Definition 2.3.2, page 22). According to this analogy, and as Ladner, Lynch and Selman pointed out in [LLS75], there are grounds for think- NP ing that ≤c is the polynomial time bounded analogue of the ≤e . However, if NP this were to be the case we would expect ≤c to satisfy the other Definitions of 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 127

≤e in Chapter 2 appropriately reformulated for the polynomial time bounded NP context. In particular we could ask the question whether ≤c is the polynomial time bounded variant of ≤e with regard to Selman’s non constructive definition (Definition 2.5.3, page 38). With this in mind observe that, by (2.5.5) in Note 38 (page 38) we can formu- late a polynomial time variant of ≤e in terms of np-T-reductions. Accordingly we obtain the principal definition of this Chapter.

Definition 4.3.1 ([Sel78]). For any A, B ⊆ Σ∗, A is said to be polynomial time enumeration reducible to B ( A≤pe B ) if

∗ NP NP (∀X ⊆ Σ )[ B≤T X ⇒ A≤T X ] . (4.3.1)

Our question, which by the above is tantamount to establishing the equiv- NP alence of ≤pe and ≤c , is the central issue in [Sel78]. In the latter Selman proceeds by establishing various equivalent definitions of ≤pe (Corollary 4 on NP page 448 of [Sel78]). As a result Selman is able to prove that ≤c is properly included in ≤pe over computable classes containing sets of sufficiently high time complexity (see Theorem 11 of [Sel78] or Lemma 4.3.23 below).

N Remark. Our approach differs from Selman’s in that, whereas we define ≤T (Definition 2.2.7, page 14) and show its equivalence with the relation “c.e. in ” (over subsets of ω), Selman defines the relation “p.e. in ” and shows its equiva- NP ∗ lence with ≤T (over subsets of Σ ). Thus Selman draws the analogy between

≤pe and ≤e by reference to the formulation of the latter precisely as it stands in Definition 2.5.3 (page 38). Let us therefore briefly recapitulate the initial thread of Selman’s argument. Accordingly we firstly define a function f to be P polynomial enumerating in B if f ≤T B and f has a a polynomial bounded inverse in the sense that, for all s ∈ Σ∗,

s ∈ Ran(f) ⇒ ∃t[ |t| ≤ q(|s|)& s = f(t) ] (4.3.2) for some polynomial q(n). We also define A to be polynomial enumerating in B (A p.e. in B) if A = Ran(f) for some such function f. Then, using 128CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Lemma 4.2.6 it is straightforward to show (Theorem 2-3 of [Sel78]) that the NP ∗ relations “p.e. in ” and ≤T are equivalent (over subsets of Σ ). Hence (4.3.1) is equivalent to

(∀X ⊆ Σ∗)[ B p.e. in X ⇒ A p.e. in X ] , (4.3.3) in other words Definition 2.5.3 with “c.e. in ” replaced by “ p.e. in ” (and ω replaced by Σ∗).

In line with Selman’s main argument (Section 2 of [Sel78]) we proceed by defining approximations to ≤pe . We then define a constructive reducibility

(≤pe0) with its own approximations and show that it is equivalent to ≤pe . The proof of the equivalence of these two different formulations (of ≤pe) together with the existence of approximations to the constructive version of ≤pe with associated operators underlies a number of the structural results that we will see later on.

NP Note 4.3.2. By Lemma 4.2.6 , if B ≤T X there exists a polynomial q(n) NP NP such that B≤T,q X. Thus ≤T can be stratified according to computation size NP NP (i.e. q(n) in the case of ≤T,q ). Notice that any reduction B ≤T,q X can be deterministically simulated in 2q(n) · p(n) steps for some polynomial p(n). Moreover, if q(n) ≤ k · log n for all n ≥ 1 this simulation takes place in at most nk · p(n) steps.

Definition 4.3.3 ([Sel78]). For any A, B ⊆ Σ∗, and polynomial q(n), A is said q to be q(n) time enumeration reducible to B ( A≤pe B ) if

∗ NP NP (∀X ⊆ Σ )[ B≤T,q X ⇒ A≤T X ] . (4.3.4)

It is now obvious that ≤pe can be derived from the above approximations.

T q Lemma 4.3.4 ([Sel78]). ≤pe = q∈P ≤pe .

In the constructive approach, in contrast, we begin by defining the relevant approximations. 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 129

Definition 4.3.5 ([Sel78]). For any A, B ⊆ Σ∗, and polynomial q(n), A is q said to be constructive q(n) time enumeration reducible to B ( A ≤pe0 B ) if there exists k ≥ 0 and a non deterministic polynomial time bounded oracle NP B Turing machine N witnessing A ≤T B (i.e. A = N ) such that whenever s ∈ A, there exists an accepting computation y of N B on input s such that ∀z z ∈ Q−(N, s, B, y) ⇒ q(|z|) ≤ k · log |s| 

∗ q Lemma 4.3.6. For any A, B ⊆ Σ , and polynomial q(n), A≤pe0 B iff there ∗ exists an np-operator Φ =def Ψp,V and a constant k such that, for all s ∈ Σ ,

∗ + − s ∈ A ⇔ (∃t ∈ Σ )[ hs, ti ∈ Φ& Dt ⊆ B & Dt ⊆ B

− & ∀z( z ∈ Dt ⇒ q(|z|) ≤ k · log |s| )] .

Note that, by definition, Φ = { hs, ti | |t| ≤ p(|s|)& hs, ti ∈ V } and so in particular, |t| ≤ p(|s|) for any hs, ti ∈ Φ.

Proof. Similar to the proof of Lemma 4.2.8.

Definition 4.3.7 ([Sel78]). For any sets A and B, A is said to be constructive q polynomial time enumeration reducible to B ( A≤pe0 B ) if A≤pe0 B for every polynomial q(n). In other words,

T q ≤pe0 = q∈P ≤pe0

Definition 4.3.8. For any polynomials p(n), q(n), set V ∈ NP and number k ≥ 0, the set

pe0 Ψp,V,q,k = { hs, ti | |t| ≤ p(|s|)& hs, ti ∈ V − & ∀z( z ∈ Dt ⇒ q(|z|) ≤ k · log |s| ) } is said to be a pe0-operator for q(n) with index (p(n), V, k) . We assume a 0 fixed (computable) enumeration Φ0, Φ1,... of pe -operators such that Φn = 0 Ψpe for n = hi, j, l, ki. Note that, we usually speak of a pe0-operator for pi,Vj ,pl,k q(n) or simply pe0-operator and we often drop the superscript “pe0”. 130CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Note 4.3.9. By definition,

pe0 − Ψp,V,q,k = { hs, ti | hs, ti ∈ Ψp,V & ∀z( z ∈ Dt ⇒ q(|z|) ≤ k · log |s| ) }

pe0 for np-T-operator Ψp,V . Also as Ψp,V ∈ NP it is obvious that Ψp,V,q,k ∈ NP.

q Note 4.3.10. It is easily seen (taking Note 4.3.9 into account) that, if A≤pe0 B, there exists p(n), V and k ≥ 0 and corresponding pe0-operator for q(n)

Φ =def Ψp,V,q,k such that A = Φ(B). Observe also that for any q ∈ P, we 0 can fix a countable enumeration Φ0, Φ1,... of pe -operators for q(n) such that 0 Φhi,j,ki is the pe -operator for q(n) with index (pi(n),Vj, k) and such that, for ∗ q any A, B ⊆ Σ , A≤pe0 B iff A = Φn(B) for some n ∈ ω. In other words, for q any q(n) ∈ P, ≤pe0 is effective operator based (as defined on page 125).

In order to prove equivalence of the two relations ≤pe and ≤pe0 it suffices q q to prove the equivalence of ≤pe and ≤pe0 for every q(n) ∈ P. It is with this in mind that we now proceed.

q q q q Remark ( ≤pe0 ⊆ ≤pe ). The reader should note that ≤pe0 ⊆ ≤pe is intu- q itively straightforward. In effect, if A≤pe0 B there exists a Turing machine N NP witnessing A ≤T B in such a way that whenever s ∈ A, there is always an accepting computation y of N B on input s in which any negative query z to NP the oracle B satisfies q(|z|) ≤ k · log |s|. Now, supposing that B ≤T,q X for NP q some set X, we can show that A≤T X by simulating the reduction A≤pe0 B witnessed by N in such a manner that, on input s, any query to the oracle “z ∈ B ?” with q(|z|) > k · log |s| is answered by (non deterministically) sim- NP ulating the reduction B ≤T,q X and continuing (otherwise failing or infinitely looping) only if this oracle simulation accepts, whereas any query “z ∈ B ?” with q(|z|) ≤ k ·log |s| is answered by deterministically simulating the reduction NP B ≤T,q X. Notice that in the latter case the oracle simulation (for “z ∈ B ?”) requires at most 2q(|z|) ·p0(|z|) ≤ |s|k ·p0(p(|s|)) steps for some polynomial p0(n) NP (see Note 4.3.2) depending on the machine witnessing B≤T,q X. Also all small queries “z ∈ B ?” (i.e. such that q(|z|) ≤ k · log |s|) are decided correctly—and q this includes all relevant negative queries of the reduction A ≤pe0 B as witnessed 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 131

NP by N—whereas for all other queries the simulation of B ≤T,q X accepts when NP z ∈ B. Thus the overall simulation proceeds correctly and witnesses A≤T X. The proof of Lemma 4.3.11 is simply a detailed breakdown of this argument in terms of np-T- and pe0-operators.

q q Lemma 4.3.11 ([Sel78]). For every polynomial q(n), ≤pe0 ⊆ ≤pe .

Proof. Let q(n) be a polynomial and suppose that A, B are sets such that q 0 A≤pe0 B. Let Φ=def Ψp,V,q,k be a pe -operator for q(n) such that A = Φ(B). − In particular note that, if hs, ti ∈ Φ then, for all z ∈ Dt , q(|z|) ≤ k · log |s|. NP Now suppose that B ≤T,q X for some set X. This means (see Defini- P ∗ tion 4.2.7) that there exists a set U ≤T X such that for all x ∈ Σ ,

x ∈ B iff ∃y |y| = q(|x|)& hx, yi ∈ U  . (4.3.5)

NP We proceed by deriving an np-T-operator that witnesses A≤T U. To do this we define a set V 0 containing only strings of the form hs, ui, such that there exists t with hs, ti ∈ Φ (remember that Φ = Ψp,V,q,k) and (1)-(3) below hold.

+ − (1) All strings in Du ∪ Du are of the form hx, yi such that |y| = q(|x|).

+ + (2) For any string x, x ∈ Dt iff ∃y[ hx, yi ∈ Du ].

− S (3) D = − { hx, yi | |y| = q(|x|) } . u x∈Dt

0 P Now it is straightforward to see that V ≤m Φ. Indeed, for any string w, check- ing whether w is of the form hs, ui and that u satisfies (1) and the syntactic − stipulation of (3)—i.e. that Du comprises exactly a union of sets of the form { hx, yi | |y| = q(|x|) }—is clearly polynomial time computable in |w|. If u has the correct characteristics, extract the corresponding t (this is easy) and output hs, ti otherwise output 0 (0 ∈/ Φ).

0 P 0 We know by Note 4.3.9 that Φ ∈ NP and so V ≤m Φ implies that V ∈ NP. We can now show that, for some polynomial p0(n),

0 0 + −  s ∈ A iff ∃u |u| ≤ p (|s|)& hs, ui ∈ V & Du ⊆ U & Du ⊆ U (4.3.6) 132CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY for all s ∈ Σ∗. Indeed, letting s be a given string, we see that s ∈ A iff there is + − some t such that hs, ti ∈ Φ and both Dt ⊆ B and Dt ⊆ B (since A = Φ(B)). + But then, by (4.3.5), for every x ∈ Dt there exists |y| = q(|x|) such that − hx, yi ∈ U whereas, for every x ∈ Dt , the set { hx, yi | |y| = q(|x|) } is contained in U. Thus, by definition of V 0, s ∈ A iff there exists an appropriate u— corresponding to some t such that hs, ti ∈ Φ as described above—that witnesses (4.3.6)... as long as a polynomial bound (p0(|s|)) on |u| can be given. The polynomial p0(n) can be derived on the basis that, for any hs, ti ∈ Φ there always exists a string u of minimal length such that hs, ui ∈ V 0 is derived 2 from hs, ti. (Such a string u codes a finite set D (i.e. D = Du) that complies minimally with (2) of the definition of V 0 above, in the sense that, for every + + x ∈ Dt there exists exactly one string of the form hx, yi in Du .) Now, given such a pair hs, ti and hs, ui then, as Φ = Ψp,V,q,k by definition, the following facts hold.

+ − Fact 1. |t| ≤ p(|s|). Therefore if hx, yi ∈ Du ∪ Du , then |x| ≤ p(|s|) since + − 0 x ∈ Dt ∪ Dt , and also |y| = q(|x|) by definition of V . Letp ˆ(n, m) be the polynomial time bound on the pairing function h , i stipu- lated in Section 4.2 page 118. Then |hx, yi| ≤ pˆ( |x| , q(|x|)) ≤ pˆ( p(|s|) , q(p(|s|)) ).

+ + Fact 2. There are ||Dt || ≤ p(|s|) strings in Du by minimality of u.

− k·log |s| k − Fact 3. There are at most ||Dt || · 2 ≤ p(|s|) · |s| strings in Du (since − x ∈ Dt implies that q(|x|) ≤ k · log |s|).

− + k By Fact 2 and Fact 3, ||Du ∪ Du || ≤ p(|s|) · (|s| + 1). So using the shorthand ∗ p (n) =def pˆ( p(n) , q(p(n)) ) and taking into account both Fact 1 and the linear expansion (i.e. the factor of 8 stipulated in Section 4.2 page 118) required for coding pairs of finite sets, we can set

p0(n) = 8 · p∗(n) · p(n) · (nk + 1) .

2 By our coding scheme on page 117, u is the unique code of the set D = Du (i.e. if Dv = D for any v then v = u). 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 133

NP P We have thus shown that A≤T U (via np-T-operator Ψp0,V 0 ). Hence, as U ≤T NP X we know that A≤T X.

∗ q Lemma 4.3.12 ([Sel78]). For any A, B ⊆ Σ and q(n) ∈ P, if Ape0 B then NP NP there exists C ≤T A ⊕ B such that B≤T,q C and AT C. (And so C witnesses q the fact that Ape B.)

∗ q Proof. Fix q(n) ∈ P and A, B ⊆ Σ such that A pe0 B. W.l.o.g. we can suppose that q(n) is strictly increasing over ω.

Notation 1. For any X ⊆ Σ∗ and number n > 0, X|n ∈ 2<ω denotes the initial segment X(0) ...X(1n−1) of X (and so Dom(X|n) = { s | |s| < n }). Also we define

+ (X|n) = { s | X|n(s)↓ = 1 } =def Xn − (X|n) = { s | X|n(s)↓ = 0 } =def Xn .

Notation 2. For any string s, X ⊆ Σ∗ and n > 0 we say that s is B-q-coded in X|n, if n > |s| + q(|s|) and

s ∈ B iff ∃u |u| = q(|s|)& su ∈ (X|n)+  (B-q-coding) where “su” is (as usual) the concatenation of strings s and u. Note that if m ≥ n and s is B-q-coded in X|n then s is also B-q-coded in X|m. Accordingly we say that s is B-q-coded in X if s is B-q-coded in X|n for some n > 0.

Initial segments of C. At each stage n > 0 (number) markers an, bn and initial segment C|bn of C are defined. This is done so that bn = an + q(|an|) and, for all s such that |s| < an, s is B-q-coded in C|bn . . . and so also in C. Moreover, for d ∈ {a, b}, dn < dn+1 and therefore limm→∞dm = ∞. The point of this is that the construction of C will ensure that, for all s, s is B-q-coded in C, and NP this in turn means that B≤T,q C.

Notation 3. For any s let Eq(s) =def { su | |u| = q(|s|) }. We define, for any 134CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY string t, the predicates

+ − + + − − extend(t, n) ≡ Dt ∩ Dt = ∅ & Dt bn ⊆ (C|bn) & Dt bn ⊆ (C|bn) + compatible(t) ≡ ∀s [( Eq(s) ∩ Dt 6= ∅ ⇒ s ∈ B )

− &( Eq(s) ⊆ Dt ⇒ s∈ / B )] and for succinctness, we define the conjunction of the above to be the predicate admissible(t, n) ≡ extend(t, n)& compatible(t) .

Explanation. The constraint admissible(t, n) will be applied when t is part of an axiom hs, ti (say), of the np-T-operator under diagonalisation at Stage n + 1. + Accordingly, extend(t, n) says that, for any x already defined at stage n if x ∈ Dt − then x ∈ C and if x ∈ Dt then x ∈ C. compatible(t) on the other hand obviously constrains the coding of B relative to t. Notice, in particular that the second clause of compatible(t) implies that if x ∈ B there exists some u such that − |u| = q(|x|) and xu∈ / Dt . The construction. C is constructed by initial segments.

Stage 0. C0 = ∅ and a0 = b0 = 0 .

Stage n + 1. At this stage an, bn and C|bn are already defined. Suppose that n = hi, ji. We diagonalise against oracle np-T-operator Φn =def Ψpi,Vj . We remind the reader that an axiom hs, ti ∈ Φn iff |t| ≤ pi(|s|) and hs, ti ∈ Vj. There are three logical cases to be considered.

Case 1. ∃s [ s∈ / A & ∃t( admissible(t, n)& hs, ti ∈ Φn )]

Case 2. ∃s [ s ∈ A & ∀t( admissible(t, n) ⇒ hs, ti ∈/ Φn )]

Case 3. ∀s [ s ∈ A iff ∃t( admissible(t, n)& hs, ti ∈ Φn )]

By Claim 3 below only Case 1 and Case 2 can hold. The construction thus proceeds via Steps 1-4 below.

Step 1. Find the least witness s corresponding to Case 1 or Case 2. If Case 1 holds choose the least string t appropriate to this case. 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 135

+ − Step 2. If Case 1 holds set an+1 = max{ bn , max{ |u| | u ∈ Dt ∪ Dt }} + 1

and, if Case 2 holds set an+1 = bn + 1.

Step 3. Define bn+1 = an+1 + q(an+1).

Step 4. Define C|bn+1 to be the (lexicographically) least extension of C|bn s.t.

(a) s is B-q-coded in C|bn+1 for all s ∈ [0, an+1) and + + − − (b) if Case 1 holds, Dt ⊆ (C|bn+1) and Dt ⊆ (C|bn+1) .

Details of the Step 4 construction. Note that, by induction on n, s is B-q-

coded in C|bn ⊆ C|bn+1 for all s ∈ [0, an). It thus suffices to define C|bn+1

appropriately for all strings w ∈ [bn, bn+1) in such a way that s is B-q-coded in

C|bn+1 for all s ∈ [an, an+1). Notice that of course bn ≤ |s| + q(|s|) < bn+1 for all such s. We now consider the two possible Cases separately.

q(|s|) Case 2 holds. This is easy: for each s ∈ [an, an+1) define C|bn+1(s0 ) = B(s)

and define C|bn+1(w) = 0 for all other strings w ∈ [bn, bn+1).

Case 1 holds. Proceed via Substeps 1-2 below.

+ Substep 1. Define C|bn+1(w) = 1 for all w ∈ Dt ∩ [bn, bn+1) and C|bn+1(w) = 0 − for all w ∈ Dt ∩ [bn, bn+1).

Substep 2. Process (i.e. loop through) each s ∈ [an, an+1) according to which of cases (a)-(c) below applies to s. + (a) If s ∈ B and suˆ ∈ Dt for someu ˆ of length q(|s|), then for all u + − of length q(|s|) such that su∈ / Dt ∪ Dt , set C|bn+1(su) = 0 (since

Substep 1 ensures that C|bn+1(suˆ) = 1 and so this suˆ witnesses the

B-q-coding of s in C|bn+1). + (b) If s ∈ B but su∈ / Dt for all u of length q(|s|) then, by the second clause of compatible(t) there exists at least one such string u0 0 + − 00 of length q(|s|) such that su ∈/ Dt ∪Dt . Define C|bn+1(su ) = 1 for the least such string u00 (and so this su00 witnesses the B-q-coding

of s in C|bn+1). For all other strings u of length q(|s|) such that − su∈ / Dt , set C|bn+1(su) = 0. 136CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

(c) If s∈ / B then set C|bn+1(su) = 0 for all u of length q(|s|) such + − that su∈ / Dt ∪ Dt . Note that this means that C|bn+1(su) = 0 for all u of length q(|s|) since, by the first clause of compatible(t) no + such su is contained in Dt (and, as a consequence, s is B-q-coded

in C|bn+1).

Note that at the end of Substep 2, C|bn+1(w) is defined for all w ∈ [bn, bn+1)

(and hence for all w such that |w| < bn+1). Moreover, for all s ∈ [an, an+1), s is

B-q-coded in C|bn+1 at the end of Substep 2. This is obvious if Case 2 applied and is easily deduced if Case 1 applied since every s ∈ [an, an+1) is processed appropriately (see the comments) in Substep 2.

Analysis of the construction. We verify that the construction proves the Lemma by proving the 3 Claims below.

Claim 1. For all s ∈ {0, 1}∗, s ∈ B iff ∃u( |u| = q(|s|)& su ∈ C ) .

Proof. Consider any s. Choose n so that an+1 > |s|. Then by construction of + C|bn+1 in Step 4 above, s ∈ B iff ∃u( |u| = q(|s|)& su ∈ (C|bn+1) ). In other words s ∈ B iff ∃u( |u| = q(|s|)& su ∈ C ). 3

NP Claim 2. AT C .

NP Proof. Choose any n ≥ 0. We show that Φn cannot witness A≤T C. To do this we consider Stage n + 1 of the construction of C. By Claim 3 only Case 1 or Case 2 can hold.

• Suppose that Case 1 holds and that s, t are the witnesses of this selected in the construction. In other words s∈ / A whereas admissible(t, n) and + + − hs, ti ∈ Φn. Then by construction, Dt ⊆ (C|bn+1) ⊆ C and Dt ⊆ − (C|bn+1) ⊆ C . Therefore s∈ / A but s ∈ Φn(C).

• Suppose that Case 2 holds and that s is the witness of this selected in the construction—and so s ∈ A. Suppose also (for a contradiction) that + s ∈ Φn(C). Accordingly, there exists an axiom hs, ti ∈ Φn such that Dt ⊆ C 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 137

− + − and Dt ⊆ C. We now see that extend(t, n) holds since obviously Dt ∩Dt = + + + − ∅, whereas Dt ⊆ C implies that Dt bn ⊆ (C|bn) and also Dt ⊆ C − − implies that Dt bn ⊆ (C|bn) . Likewise, compatible(t) holds because, for 0 0 + 0 0 any strings s , u, if (i) s u ∈ Dt and |u| = q(|s |) then s ∈ B by Claim 1 + 0 − 0 because Dt ⊆ C and if (ii) s u ∈ Dt for all u of length q(|s |) then s∈ / B − again by Claim 1 because Dt ⊆ C. This contradicts the premises of Case 2

and so s ∈ A but s∈ / Φn(C). 3

Claim 3. For all n ≥ 0, Case 3 does not hold at Stage n + 1.

Proof. Suppose, for a contradiction, that Case 3 holds at Stage n + 1 for some n = hi, ji. In other words, for all s ∈ Σ∗,

 s ∈ A ⇔ ∃t admissible(t, n)& hs, ti ∈ Φn (4.3.7)

q 0 with Φn =def Ψpi,Vj . We show that A≤pe0 B by defining a pe -operator Φ to witness this reduction. For clarity we split our argument into 4 parts.

Part 1. Define the binary predicate over strings qext such that qext(t, w) is true (written “qext(t, w)” for short) iff conditions (a)-(d) below hold for the pair (t, w).

+ + + (a) Dw = { x | Eq(x) ∩ Dt 6= ∅ } . In other words x ∈ Dw iff there exists + u of length q(|x|) such that xu ∈ Dt (see Notation 3 on page 133).

− − − − (b) Dw = { x | Eq(x) ⊆ Dt } . In other words x ∈ Dw iff xu ∈ Dt for all u of length q(|x|).

(c) |w| ≤ |t| .

(d) extend(t, n).

It is easily checked that, for any string t, there exists a unique3 string w such that the pair (t, w) satisfies (a) and (b). Moreover it is obvious that ||Dw|| ≤ ||Dt||

3Uniqueness is ensured by our coding scheme (page 117) since for any finite D ⊆ Σ∗, there exists exactly one string u such that Du = D. 138CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

and so |w| < |t| (since to every x ∈ Dw there corresponds at least one u such that xu ∈ Dt). Thus the pair (t, w) also satisfies (c). Observe that, for any t, w ∈ Σ∗, qext(t, w) can be efficiently computed in lt,w = max{ |t|, |w| } . Indeed (at worst), in order to test whether the pair (t, w) + − satisfies (a) and (b) it suffices to compare each of the strings in Dw ∪ Dw with + − 2 all of the strings in Dt ∪Dt . Thus there are at most |t|·|w| ≤ lt,w comparisons to be made. Moreover, as we have seen, if (t, w) satisfies (a) and (b) then it also satisfies (c) (and so no further test is required for (c)) whereas (d) can be computed from memory (since Cbn is finite) and so in time linear in lt,w. Thus qext ∈ DTIME(n2).

Part 2. Let Vqext ∈ P be the set { hhs, wi, hs, tii | qext(t, w) } and define

V = { hs, wi | ∃t( qext(t, w)& hs, ti ∈ Φn ) } (4.3.8)

Note that, since Φn =def Ψpi,Vj , if hs, ti ∈ Φn then, by definition, |t| ≤ pi(|s|). Therefore, for any hs, wi,

hs, wi ∈ V iff ∃t( |t| ≤ pi(|s|)& hhs, wi, hs, tii ∈ Vqext & hs, ti ∈ Φn )

NP and so V ≤m Φn. Thus V ∈ NP.

Part 3. Choose constant k large enough so that k · log n ≥ log pi(n) for all 0 n ≥ 1 and define Φ to be the pe -operator Ψpi,V,q,k. In other words

Φ = { hs, wi | |w| ≤ pi(|s|)& hs, wi ∈ V

− & ∀z( z ∈ Dw ⇒ q(|z|) ≤ k · log |s| ) } .

However we can simplify the description of Φ as follows. Consider any hs, wi ∈ V . Then, by definition of V (4.3.8) there exists t such that qext(w, t) and hs, ti ∈

Φn. By the latter condition we know that |t| ≤ pi(|s|). On the other hand, by − − (b) of the definition of qext, we know that for any string z ∈ Dw , Eq(z) ⊆ Dt . q(|z|) But ||Eq(z)|| = 2 whereas, by our coding conventions (Section 4.2 page 117) − ||Dt || ≤ |t|. Thus q(|z|) 2 ≤ |t| ≤ pi(|s|) . 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 139

So q(|z|) ≤ log pi(|s|) ≤ k · log |s| by choice of k. In other words it is always − the case that ∀z( z ∈ Dw ⇒ q(|z|) ≤ k · log |s| ) for any hs, wi ∈ V . It is thus immediate that

Φ = { hs, wi | |w| ≤ pi(|s|)& hs, wi ∈ V } . (4.3.9)

0 Part 4. Since Φ =def Ψpi,V,q,k is by definition a pe -operator for q(n), in order q to show that A≤pe0 B it suffices to check that A = Φ(B). Now, by (4.3.9) we only need to show that, for all s ∈ Σ∗,

+ −  s ∈ A ⇔ ∃w |w| ≤ pi(|s|)& hs, wi ∈ V & Dw ⊆ B & Dw ⊆ B . (4.3.10) ( ⇒ ) Suppose that s ∈ A. Then by (4.3.7) there exists t such that

extend(t, n) (4.3.11)

& compatible(t) (4.3.12)

& hs, ti ∈ Φn . (4.3.13)

By (4.3.13), |t| ≤ pi(|s|). Also, as observed in Part 1 above, there exists unique w such that |w| ≤ |t|—and so |w| ≤ pi(|s|)—such that (a), (b) (and trivially (c)) of the definition of qext hold for the pair (t, w). Thus, by (4.3.11) we know that qext(t, w). So, by (4.3.13) and (4.3.8), hs, wi ∈ V .

+ + Now, if x ∈ Dw then, by (a) of the definition of qext, Eq(x) ∩ Dt 6= ∅ and so x ∈ B by (4.3.12) (see Notation 3 on page 133). On the other hand, if − − x ∈ Dw then by (b) of the definition of qext, Eq(x) ⊆ Dt and so x∈ / B, again + − by (4.3.12). Thus Dw ⊆ B and Dw ⊆ B. Observe that we have now shown that the R.H.S. of (4.3.10) holds for s.

( ⇐ ) Suppose that there exists a string w such that

+ − w ≤ pi(|s|)& hs, wi ∈ V & Dw ⊆ B & Dw ⊆ B.

Then, by definition of V (4.3.8), there exists t such that hs, ti ∈ Φn and qext(t, w). Thus we know, by (d) of the definition of qext that extend(t, n). 140CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

+ Consider any x such that Eq(x) ∩ Dt 6= ∅. Then, by (a) of the definition + + of qext, x ∈ Dw . Hence x ∈ B as Dw ⊆ B by hypothesis. On the other − hand, consider any x such that Eq(x) ⊆ Dt . Then, by (b) of the definition of − − qext, x ∈ Dw . Hence x ∈ B as Dw ⊆ B by hypothesis. We thus know that compatible(t) holds.

Observe that we have now shown that there exists t such that hs, ti ∈ Φn and admissible(t, n) holds. Therefore x ∈ A by (4.3.7).

q Conclusion of Parts 1-4. We have shown that A = Φ(B). Hence A≤pe0 B as Φ is a pe0-operator for q(n). This contradicts the premise of the Lemma. We conclude that Case 3. does not hold. 3

q ∗ NP Conclusion of proof. If Ape0 B then there exists C ⊆ Σ such that B≤T,q NP q C and AT C. Thus C witnesses the fact that Ape B. Moreoever, since the construction is effective in A and B, and C is constructed by (increasing finite) initial segments, it follows that C≤T A ⊕ B.

q q Corollary 4.3.13 ([Sel78]). For every polynomial q(n), ≤pe ⊆ ≤pe0 .

q q Proof. Lemma 4.3.12 proves the contrapositive pe0 ⊆ pe .

Theorem 4.3.14. ≤pe ≡ ≤pe0 .

Proof. Apply Lemma 4.3.11 and Corollary 4.3.13.

Corollary 4.3.15. For any set A and B if A pe B then there exists C ≤T NP NP A ⊕ B such that B≤T C whereas AT C. Therefore C is computable if A and B are both computable. Thus also:

NP NP A≤pe B iff (∀X ≤T A ⊕ B)(B≤T X ⇒ A≤T X) .

In particular, if A and B are both computable then:

NP NP A≤pe B iff (∀X ∈ REC)(B≤T X ⇒ A≤T X) . 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 141

q Proof. If A pe B then for some polynomial q(n), A pe B and so, by q Lemma 4.3.11 Ape0 B. But then, by Lemma 4.3.12, there exists a set C ≤T NP NP A ⊕ B such that B≤T C but AT C. The Corollary then follows easily.

Note 4.3.16. Using similar reasoning to that in Corollary 4.3.15, we know that NP NP NP A≤pe B iff ∀X ( B≤m X ⇒ A≤T X ) iff ∀X ( B≤pe X ⇒ A≤T X ) since NP in the proof of Lemma 4.3.12 the witness C is constructed so that B≤m C.

Note 4.3.17 (The pe-operator problem). We saw in Note 4.3.10 that the q relation ≤pe0 is effective operator based for all q(n) ∈ P. However, despite

Theorem 4.3.14, if X ≤pe Y all that we know is that, for all q(n) ∈ P there exists a pe0-operator Φ for q(n) such that A = Φ(B). This might imply, in the worst case, that we need an infinite list of pe0-operators as witness to the single reduction X ≤pe Y . (Of course in practice there are many cases in which only a single operator is required, for example if x ∈ X iff log log x ∈ Y for all x ∈ Σ∗ NP or whenever X ≤c Y .) Observe that this means that—in our present state of knowledge—the study of ≤pe and its degree structure has to be approached in a different manner in comparison to other standard (effective operator based) P P NP reducibilities such as ≤T , ≤m or ≤c .

NP Proposition 4.3.18 ([Sel78]). ≤pe is a maximal transitive subrelation of ≤T (over REC).

NP Proof. It is easily seen that ≤pe ⊆≤T and that (by definition) ≤pe is tran- NP sitive. So suppose that there exists a transitive relation R ⊆ ≤T such that

≤pe is properly contained in R. Accordingly there exist sets A R B such that NP Ape B. By Note 4.3.16 there exists a set C such that B≤pe C but AT C.

However, as ≤pe ⊆ R we know that B R C and so, by transitivity of R, NP A R C (since A R B by hypothesis) and this implies that A≤T C, an ob- vious contradiction. Note that a more direct (but slightly longer) proof of this can be found in [Sel78]. Notice also that since we can assume that C≤T A ⊕ B it follows that ≤pe is maximal over REC. 142CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

n Lemma 4.3.19 (LLS). There exist sets A, B, C ∈ DTIME(22 ) such that P NP NP A≤T B and B≤m C but AT C.

Remark. This Lemma is a rephrasing of Lemma 4.3 in [LLS75]. In the original NP NP NP formulation “A≤1−tt B, B ≤1−tt C, but Att B”. Note that the proof below is that of [LLS75] recast in terms of np-T-operators. Thus it also proves the result according to the original formulation.

Proof. We construct A, B, C ⊆ Σ∗ such that

(∀x ∈ Σ∗ )[ x ∈ A ⇔ x ∈ B ] (4.3.14)

(∀x ∈ Σ∗ )[ x ∈ B ⇔ ∃y( |y| = |x| & y ∈ C ) ] (4.3.15)

P NP and we thus guarantee that A≤T B and B≤m C.

Notation. Let {Φn | n ∈ ω} be the enumeration of np-T-operators stipulated in Section 4.2 (page 124). Then, by definition, for all n ∈ ω, if n = hi, ji, then

Φn =def Ψpi,Vj . Thus we know that if hs, ti ∈ Φn then |t| ≤ pi(|s|) ≤ pn(|s|) and that Vj can be non deterministically computed in pj(m) ≤ pn(m) time.

Now, to prove the Theorem it thus suffices to also satisfy the requirements

Rn : A 6= Φn(C) for all n ∈ ω. Accordingly the construction of A, B and C proceeds by stages such that a diagonalisation of np-T-operator Φn is performed at Stage n + 1.

The construction. At each stage n we define a (number) marker an and initial segments An = A an +1, Bn = B an +1 and Cn = C an +1.

Stage 0. A0 = B0 = C0 = ∅ and a0 = 0.

Stage n + 1. The marker an and the initial segments An = A an +1, Bn =

B an +1, and Cn = C an +1 have already been defined (by IH) such that

∗ ( ∀x ∈ Σ  an +1 )[ x ∈ A ⇔ x ∈ B ] (4.3.16) ∗ ( ∀x ∈ Σ  an +1 )[ x ∈ B ⇔ ∃y( |y| = |x| & y ∈ C )] . (4.3.17) 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 143

We proceed by defining

n an+1 = (µm > pn−1(an))[ 2 > pn(m) ] (4.3.18) and we consider the two possible cases for the diagonalisation against Φn.

an+1 Case 1. 0 ∈ Φn(Cn) . Then choose (the least) string t such that

an+1 + − h0 , ti ∈ Φn & Dt ⊆ Cn & Dt ⊆ Cn

− and pick (the least) string y ∈ { s : |s| = an+1 & s∈ / Dt } . Note that this is

− an+1 always possible because ||Dt || ≤ |t| ≤ pn(an+1) < 2 . Observe also that if + + s ∈ Dt then |s| ≤ an < an+1 since Dt ⊆ Cn . Then define

An+1 = An ∪ { s | an < |s| < an+1 } (4.3.19)

Bn+1 = Bn ∪ { s | |s| = an+1 } (4.3.20)

Cn+1 = Cn ∪ { y } . (4.3.21)

an+1 Case 2. 0 ∈/ Φn(Cn) . Then define

An+1 = An ∪ { s | an < |s| ≤ an+1 } (4.3.22)

Bn+1 = Bn (4.3.23)

Cn+1 = Cn . (4.3.24)

Notice that at the end of Stage n + 1, (4.3.16) and (4.3.17) hold for all strings ∗ x ∈ Σ  an+1 + 1.

Analysis of the construction. Consider any np-T-operator Φn. At the end of Stage n + 1 it is clear that

an+1 an+1 0 ∈ An+1 iff 0 ∈/ Φn(Cn+1) . (4.3.25)

Moreover, if s enters A after Stage n + 1 then |s| > an+1 and ify ˆ enters C after Stage n + 1 then, by (4.3.18) (with n + 1 replacing n) and (4.3.21)

|yˆ| > pn(an+1) 144CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

+ − whereas for any string t, if s ∈ Dt ∪Dt then |s| ≤ |t| and so for any such t and s

an+1 such that h0 , ti ∈ Φn we know that |s| ≤ pn(an+1) (because |t| ≤ pn(an+1)). Therefore the diagonalisation is preserved, i.e.

an+1 an+1 0 ∈ A iff 0 ∈/ Φn(C)

NP and so Rn is met. Thus AT C. Furthermore, by an easy induction we can P NP see that (4.3.14) and (4.3.15) hold. In other words A≤T B and B≤m C.

Time bound (Sketch). Letp ˆ(n, m) be the time bound for h , i stipulated in Section 4.2 (page 118). Observe that, for any n ≥ 0 and string s, the search

“∃t( |t| ≤ pi(|s|)& hs, ti ∈ Vj ) ?” (i.e. “∃t( hs, ti ∈ Φn ) ?” can be non deterministically accomplished in O(rn(|s|)) steps where

rn(|s|) := pn(p ˆ(|s|, pn(|s|)) ) +p ˆ(|s|, pn(|s|)) + pn(|s|) . (4.3.26)

This is because t can be guessed in pi(|s|) ≤ pn(|s|) steps, hs, ti computed in pˆ(|s|, pn(|s|)) steps and “hs, ti ∈ Vj” can be computed in pn(p ˆ(|s|, pn(|s|))) steps. Thus, for all n ≥ 0, there exists a polynomial pn(m) such that the search

an + − “h0 , ti ∈ Φn & Dt ⊆ Cn & Dt ⊆ Cn ” can be deterministically computed in time

pn(an+1) M(an+1) = 2 · pn(an+1) · ( 1 + M(an+1 − 1) ) . (4.3.27)

Remark. Here in view of (4.3.26) above, pn(an+1) is a bound for the deter- ministic accomplishment of each possible computation of the search “∃t( |t| ≤

an+1 p (an+1) pi(an+1)& h0 , ti ∈ Vj )”. There are at most 2 n such computations to be effected and (since an+1 > an) each oracle call can be effected in at most

M(an+1 − 1) steps. Note also that such polynomials rn(m) and pn(m) can be uniformly derived from (the index of) pn(m) in the sense that there exist computable functions f and g such that, for all n ∈ ω, rn(m) = pf(n)(m) and pn(m) = rg(n)(m) = pg(f(n))(m). Moreover, w.l.o.g. g(f(n)) > 1 for all n ∈ ω 1 (i.e. pn(m) strictly majorises p1 =def m + 1). 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 145

Now note that

3 · p (an+1) M(an+1) ≤ 2 n · M(an+1 − 1)

≤ 23 · an+1 · pn(an+1) .

Hence if we replace (4.3.18) by

m an+1 = (µm > pn−1(an))[ 2 > 3 · m · pn(m) ] (4.3.28)

n in the construction, it follows that A, B, C ∈ DTIME(22 ). Note that the re- placement of (4.3.18) by (4.3.28) in the construction does not affect its outcome P NP NP (i.e. that A≤T B, B≤m C but AT C).

n Corollary 4.3.20. There exist sets A, B, C ⊆ DTIME(22 ) such that

P (a) A≤T B but Ape B ,

P (b) B≤pe C but BT C .

Proof. Let A, B, C be the sets constructed in the proof of Lemma 4.3.19. Ac- P NP NP cordingly A ≤T B and B ≤pe C (since ≤m ⊆ ≤pe ) whereas A T C. So if P P A≤pe B then A≤pe C, and if B ≤T C then A≤T C, by transitivity of ≤pe and P ≤T respectively. Thus as both these outcomes lead to a contradiction (that NP P A≤T C) we know that Ape B and BT C.

NP Remark 1. Clearly Lemma 4.3.19 shows that ≤T is not transitive. This was the original motivation behind the proof by Ladner, Lynch, and Selman. However another conclusion that we can draw from the present reformulation of the Lemma is that B ∈ NP(C) − P(C). In other words Lemma 4.3.19 gives an

n easy example of a set C ∈ DTIME(22 ) such that NP(C) 6= P(C). This is of course not surprising given the similarity of the construction with that used by Baker Gill and Solovay to show the existence of such an oracle C (see Theorem 3 of [BGS75]).

NP Remark 2. Let C be a class (downward) closed under ≤T and suppose A to P be a p-m-complete set for C. Let Pm(A) = { X | X ≤m A }. Then

P(A) ⊆ NP(A) ⊆ Pm(A) ⊆ p-Enum(A) ⊆ NP(A) ⊆ Pm(A) ⊆ P(A) . 146CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Thus if A is a p-m-complete set for PSPACE or EXP, we know that

P(A) = p-Enum(A) = NP(A) .

Note that, by a simple padding argument (see the proof of Corollary 4.8.2 on page 203) we can assume that A ∈ DTIME(2n). Observe also that the above argument is essentially due to Baker Gill and Solovay (see Theorem 2 [BGS75]). In contrast Corollary 4.3.20 tells us that if X is either of the sets B or C in the proof of Lemma 4.3.19, then p-Enum(X) 6= P(X). Moreover, in Section 4.8, we shall construct such a set X ∈ DTIME(2n) that witnesses both this inequality and the separation NP(X) 6= P(X).

NP Proposition 4.3.21 ([Sel78]). ≤pe is properly included in ≤T over any class n of sets containing DTIME(22 ).

NP Proof. Clearly ≤pe ⊆≤T . Also, by Corollary 4.3.20 (a) there exist sets A, B ∈ 2n NP DTIME(2 ) such that A≤T B but Ape B.

Notation. In Note 4.3.22 and Lemma 4.3.23 below, we will identify Σ∗ with ω in the sense that any string s will be identified with the number of its place in the ∗ enumeration of Σ determined by the length lexicographical ordering

Note 4.3.22 ([Sel78]). For any non trivial string s,

log |s| − 1 ≤ log log s ≤ log |s| .

It follows that | log log s| ' log log |s|. Now observe that, for every q(n) ∈ P there exists a constant kq such that q(log log |s|) ≤ kq · log |s| for all non trivial s. Thus, for any A, B ⊆ Σ∗, if (for all s ∈ Σ∗) s ∈ A iff log log s ∈ B then, by q definition, A≤pe0 B for any q(n) ∈ P and so A≤pe B by Theorem 4.3.14. 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 147

Selman proved in [Sel78] (Theorem 11) that there exists sets A and B such NP that A≤pe B but Ac B. Our next result is a straightforward relativisation of Selman’s result. The proof method is due to Selman.

∗ Lemma 4.3.23. For any C ⊆ Σ there exist sets A, B≤T C such that A≤pe B NP but Ac C ⊕ B. Moreover if C is computable in elementary time then so also are A and B.

Proof. We construct sets A and B such that, for all x ∈ Σ∗,

m x ∈ A iff log log x ∈ B & ∃m( x = 22 ) (4.3.29)

m Note that whether a string s is of the form 22 can be decided in polynomial time. Hence A ≤pe B by Note 4.3.22. The sets A and B are constructed by Stages so as to satisfy requirement

Rn : A 6= Φn(C ⊕ B)

for all n ∈ ω. where { Φn | n ∈ ω } is the enumeration of np-c-operators stipulated in Section 4.2 (page 124).

The construction. A and B are constructed by finite initial segments. At each Stage n we define (string) markers an and bn and finite initial segments

An = Aan and Bn = Bbn. At each Stage n + 1, at most one string xn of the 2m form 2 is enumerated into A. Accordingly A ⊆ { xn | n ∈ ω }. Also, at each

Stage n+1 we set yn = log log xn and enumerate yn into B iff xn ∈/ A. Moreover, ∗ in order to ensure (4.3.29), we enumerate all of the set Σ − { yn | n ∈ ω } into B during the course of the construction.

Stage 0. A0 = B0 = ∅ and a0 = b0 = 0 .

Stage n + 1. String markers an, bn and finite initial segments An = Aan,

Bnbn have already been defined (by I.H.). Let (xn, yn) be the least pair of 2yn strings such that xn = 2 and both xn ≥ an and yn ≥ bn.

In order to diagonalise against np-c-operator Φn the construction falls into ∗ two cases. (Reminder: for any X,Y ⊆ Σ , X ⊕ Y =def 0X ∪ 1Y .) 148CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Case 1. xn ∈ Φn( C ⊕ (Bn ∪ { s | s ≥ bn }) ) . In this case choose (the least) t such that hxn, ti ∈ Φn and Dt ⊆ C ⊕ (Bn ∪ { s | s ≥ bn }) . Then set an+1 = xn + 1 and bn+1 = (µs > yn)[ s > max{ x | 1x ∈ Dt } ] and define

An+1 = An ,

Bn+1 = Bn ∪ { s | bn ≤ s < bn+1 } .

Observe that, as a result, xn ∈/ A but yn ∈ B.

Case 2. xn ∈/ Φn( C ⊕ (Bn ∪ { s | s ≥ bn }) ) . In this case set an+1 = xn + 1, bn+1 = yn + 1 and define

An+1 = An ∪ {xn} ,

Bn+1 = Bn ∪ { s | bn ≤ s < yn } .

Observe that, as a result, xn ∈ A but yn ∈/ B.

Analysis of the construction. It is clear, by the observations above and induction on n ≥ 0 that (4.3.29) holds. Also, by the end of Stage n + 1 we have clearly ensured that xn ∈ A iff xn ∈/ Φn(C ⊕ B). Thus Rn is satisfied for all NP n ≥ 0 and so Ac C ⊕ B.

Time bound (Sketch). For all n ∈ ω, let pn(m) be the polynomial stipu- lated in the proof of Lemma 4.3.19 (see (4.3.27) and the ensuing Remark on page 144). Let M a(m) and M b(m) be functions bounding the time complex- ity of A and B respectively and assume w.l.o.g. that M b(m) = M a(2m) (since for all z ∈ Σ∗, z ∈ A iff log log z∈ / B). Thus, bearing in mind that

Bn ⊆ B ∩ { z | z < log log xn } and supposing tC (m) to be a function bounding the time complexity of C, we can see that (using similar reasoning to that of the Remark on page 144), for all n ∈ ω,

a pn(|xn|) b M (|xn|) ≤ 2 · pn(|xn|) · [ 1 + M ( log(|xn| − 1) ) + tC ( p(|xn|))]

3 · p (|xn|) a ≤ 2 n · [ M ( |xn| − 1 ) + tC ( p(|xn|))]

3 · |xn| · p (|xn|) ≤ 2 n · [ 1 + |xn| · tC ( p(|xn|))]

2 3 · |xn| · p (|xn|) ≤ 2 n · [ 1 + tC ( p(|xn|))] . 4.3. POLYNOMIAL TIME ENUMERATION REDUCIBILITY 149

Now notice that, without affecting the outcome of the constuction we can impose the constraint that (at each stage n ∈ ω)

|xn| 2 2 > 3 · |xn| · pn(|xn|) .

Thus it follows that A can be computed in

2n 2n n O( 2 + 2 · tC (2 )) time whereas B can be computed in

n n 22 22 2n O( 2 + 2 · tC (2 )) time. It follows that if C is computable in elementary time, so also are A and B.

n Remark. If C = ∅ in Lemma 4.3.23 then A ∈ DTIME(22 ) whereas B ∈

2n DTIME(22 ).

NP Corollary 4.3.24 ([Sel78]). The relation ≤c is properly included in ≤pe .

NP Proof. The inclusion ≤c ⊆ ≤pe is easily shown. For example, let Φ be an NP np-c-operator witnessing X ≤c Y for some sets X and Y . Then Φ witnesses q X ≤pe0 Y for all q(n) ∈ P . Thus X ≤pe Y by Theorem 4.3.14. On the other hand, by Lemma 4.3.23 the inclusion is proper.

In contrast our next result shows that the for any B ⊆ Σ∗, if B has suffi- NP ciently low time complexity, then { X | X ≤pe B } = { X | X ≤c B }..

Proposition 4.3.25 ([Sel78]). For any sets A and B, if A ≤pe B and B ∈ NP EXP then A≤c B .

Proof. Consider A and B such that A≤pe B and B ∈ EXP . This means that q(n) B ∈ DTIME(2 ) for some polynomial q(n). On the other hand, A≤pe B 0 q 0 pe implies that A ≤pe0 B and hence there exists a pe -operator Φ =def Ψp,V,q,k (say) for q(n) such that A = Φ(B). Now define the set

0 + − V = { hs, wi | ∃t( hs, ti ∈ Φ& Dw = Dt & Dt ⊆ B ) } . 150CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

− By definition of Φ, if hs, ti ∈ Φ then |t| ≤ p(|s|) . Also if z ∈ Dt then q(|z|) ≤ k ·log |s| and so B(z) can be computed in 2q(|z|) ≤ 2k·log |s| = |s|k steps. Therefore V 0 ∈ NP . Moreover, bearing in mind our coding conventions for finite sets (see Section 4.2 page 117), there exists a unique string w such that − Dw = Dt . It is also obviously the case that |w| ≤ |t| ≤ p(|s|). So it follows that the np-c-operator.

0 Ψp,V 0 =def { hs, wi | |w| ≤ p(|s|)& hs, wi ∈ V }

0 NP (and so Ψp,V 0 = V ) witnesses the reduction A≤c B.

Note 4.3.26. Clearly EXP is (downward) closed under ≤pe . Thus, by Propo- NP sition 4.3.25, ≤c and ≤pe coincide over EXP.

4.4 Basic Properties of hRECpe, ≤i

Polynomial time enumeration reducibility is clearly reflexive and transitive over the class of computable sets. It thus gives rise to a degree structure (hRECpe, ≤i) over this class. We now proceed by considering some of the basic properties of this structure. In particular we show that hRECpe, ≤i is not a lattice, that it is not distributive, and that every degree is branching. Further properties will be discussed in Section 4.6. We begin with some elementary facts.

Lemma 4.4.1. There is no maximal degree in hRECpe, ≤i.

Proof. (After similar proof in [Cop97]). Let { Φn | n ∈ ω } be the standard listing of np-T-operators stipulated on page 124 of Section 4.2. For any set n n X define KX to be the set { 0 | 0 ∈ Φn(X) } Let a be any computable pe-degree and A any set in a. As A is computable by hypothesis, so is KA. NP Also a standard (reduction ad absurdum) argument implies that KA T A and hence KA pe A. Then if b =def degpe(A ⊕ KA) clearly b is computable and a < b.

Proposition 4.4.2. hRECpe, ≤i is an upper semi-lattice whose zero element

0pe is the class NP. 4.4. BASIC PROPERTIES OF hRECPE, ≤i 151

Proof. For any pe-degrees a and b and A ∈ a, B ∈ b it is easily seen that a ∪ b = degpe(A ⊕ B). Moreover the latter is obviously computable if both a and b are computable. Also clearly for any computable X ⊆ Σ∗, X ∈ NP iff X is pe-reducible to all computable Y ⊆ Σ∗. Thus NP is the zero element of hRECpe, ≤i.

Theorem 4.4.3. hRECpe, ≤i is not a lattice.

P Proof. We adapt the proof outlined by Ambos-Spies in the context of hRECm, ≤i in [AS99] (Theorem 3.3). Namely we show that there exist computable sets of strings A, B ⊆ Σ∗ such that

NP P NP (∀C)(∃E)[ C≤T A, B ⇒ E≤m A, B & ET C ] (4.4.1)

P Note that the Theorem follows immediately from (4.4.1) since ≤m ⊆ ≤pe and NP ≤pe ⊆≤T .

We begin by defining a special class of sets { Ee | e ∈ ω } as follows. Let ∗ δ∗ : ω ⇒ ω be the function defined by δ∗(0) = 0 and δ∗(n + 1) = 2δ (n) for all n ∈ ω and set ∗ ∗ k = µm(δ (m+1) > pm( pm(δ (m)) ) (4.4.2) where {pi(n) | i ∈ ω } is the enumeration of polynomials in one variable defined in Section 4.2. We remind the reader that if hs, ti ∈ Φi then |t| ≤ pi(|s|) and so + − + − the cardinality of Dt ∪ Dt and the size of queries z ∈ Dt ∪ Dt is bounded by pi(|s|). ∗ Now define δ(n) = δ (n+k) for all n ∈ ω. Note that δ(n+1) > pn( pn(δ(n)) ) δ(he,ni) for all n ∈ ω. Define Ee = { 0 | n ∈ ω } for all e ∈ ω and observe that Ee is clearly in P (essentially because deciding whether x = 0δ(m) for some m ∈ ω can be done with an efficient iterative algorithm working in stages where the result of each stage is computed by simply doubling each zero (i.e. 0 7→ 00) of P the string resulting from the previous stage). Thus X ∩ Ee ≤m X for any set X.

In order to achieve (4.4.1), and assuming as usual { Φi | i ∈ ω } to be the standard listing of np-T-operators, stipulated in Section 4.2 (page 124), it suffices to construct A and B such that the requirements 152CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Re,n :Φe0 (A) = Φe1 (B) ⇒ A ∩ Ee = B ∩ Ee &

δ(he,ni) δ(he,ni) A(0 ) 6= Φn(Φe0 (A))(0 ) are met for all e = he0, e1i and n ∈ ω. Indeed, suppose that Re,n are met for all NP NP e, n ∈ ω and that C ≤T A and C ≤T B. Then C = Φe0 (A) and C = Φe1 (B) for some e = he0, e1i. Thus the premise of Re,n is met (for any n ∈ ω) and it follows therefore that A ∩ Ee = B ∩ Ee. Accordingly, if we let E = A ∩ Ee, then P δ(he,ni) δ(he,ni) E ≤m A, B. On the other hand, E(0 ) 6= Φn(C)(0 ) for all n ∈ ω and NP so ET C.

The construction. A and B are constructed by finite initial segments.

Stage s = 0. A0 = ∅ and B0 = ∅.

δ(he,ni) Stage s + 1. Suppose that s = he, ni. Fix xs = 0 and suppose that e = he0, e1i. Assume that As = Axs and Bs = Bxs have already been defined. Now let

A0 = As A1 = As ∪ {xs}

B0 = Bs B1 = Bs ∪ {xs} .

Firstly check whether, for some 0 ≤ i, j, ≤ 1,

∗ (∃z ∈ Σ )[ |z| ≤ pn(|xs|)&Φe0 (Ai)(z) 6= Φe1 (Bj)(z) ] (4.4.3)

There are thus two cases.

Case 1. Condition (4.4.3) holds. Then let (i0, j0, z0) be the least triple satisfy- ing (4.4.3). We set As+1(xs) = Ai0 (xs) and Bs+1(xs) = Bj0 (xs) and for all other z ∈ { w | δ(s) ≤ |w| < δ(s+1) } we set As+1(z) = Bs+1(z) = 0.

Case 2. Condition (4.4.3) does not hold. Then we know that

Φe0 (As)(z) = Φe0 (As ∪ {xs})(z) = Φe1 (Bs)(z) = Φe0 (Bs ∪ {xs})(z) for all strings z such that |z| ≤ pn(|xs|). In this case we set As+1(xs) =

Bs+1(xs) = 1−Φn(Φe0 (As) )(xs) and for all other z ∈ { w | δ(s) ≤ |w| < δ(s+1) } 4.4. BASIC PROPERTIES OF hRECPE, ≤i 153

we set As+1(z) = Bs+1(z) = 0.

Analysis of the construction. A and B are clearly computable since the construction is effective and proceeds by strictly increasing finite initial seg- ments. Now consider any e, n ∈ ω. Suppose that s = he, ni and accordingly δ(he,ni) that xs = 0 . We show that Re,n is met.

Remark. In establishing (4.4.3), all oracle queries involved in the computations of Φe0 (Ai)(z) and Φe1 (Bj)(z) such that |z| ≤ pn(|xs|) and 0 ≤ i, j, ≤ 1 have length at most:

max{pe0 (pn(|x|)), pe1 (pn(|x|))} ≤ phe,ni(phe,ni(|xs|))

< δ(|xs|+1) . (4.4.4)

We consider the two cases separately.

• Case 1 holds. Suppose that this is witnessed by the triple (i0, j0, z0). Then

Φe0 (Ai0 )(z0) 6= Φe1 (Aj0 )(z0). Since z0 ≤ pn(|xs|) and all strings added to A

and B at stages t ≥ s + 1 are length greater or equal to δ(|xs|+1) it follows

from the Remark that Φe0 (As+1)(z0) = Φe0 (A)(z0) and Φe1 (Bs+1)(z0) =

Φe1 (B)(z0). Thus Φe0 (A)(z0) 6= Φe1 (B)(z0) and so Re,n is satisfied trivially.

• Case 2 holds. Then it suffices to check that

A(xs) = B(xs) = 1 − Φn(Φe0 (A) )(xs)

and to do this we need to verify that the construction and result involved in

Case 2 is not altered by the addition (or not) of xs to As nor by later stages

of the construction. So firstly it should be noted that if hxs, ti ∈ Φn then + − z ≤ pn(|xs|) for all (oracle queries) z ∈ Dt ∪ Dt and that, since Case 1 does

not hold we have Φe0 (As)(z) = Φe0 (As ∪ {xs})(z) for all such z. Therefore

Φn(Φe0 (As))(xs) = Φn(Φe0 (As ∪ {xs}))(xs) and so the presence (or not) of

xs in As has no effect on the result at this stage. Moreover, by the Remark,

all oracle queries involved during Case 2 have length less than δ(|xs|+1). So, just as in Case 1, strings added at later stages will not affect the outcome of

this stage. So Re,n is satisfied in this Case also. 154CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

This concludes the proof.

Note 4.4.4. Observe that the proof of Theorem 4.4.3 in fact also shows that R P R NP NP NP for any other reducibility≤r such that ≤m ⊆≤r ⊆≤T (such as ≤m or ≤c ), R hRECr , ≤i is not a lattice.

Reminder. An upper semi-lattice L = (L, ≤) is said to be distributive if, for all a, b, c ∈ L, a ≤ b ∪ c ⇒ (∃d ≤ b)(∃e ≤ c)( a = d ∪ e ) . (4.4.5)

Theorem 4.4.5. hRECpe, ≤i is not distributive.

Proof. In Theorem 3.1 of [AS84] Ambos-Spies proves that the upper semi-lattice P hRECT, ≤i is not distributive. We apply the same proof to hRECpe, ≤i with several small modifications.

NP NP NP Notation. For any sets X,Y , we write X ≈T Y if X ≤T Y and Y ≤T X. Note that, to prove the theorem it suffices to show that there exist computable sets A, B and C such that

A≤pe B ⊕ C (4.4.6) and

NP NP NP (∀D)(∀E)( A ≈T D ⊕ E ⇒ DT B ∨ ET C ) . (4.4.7)

Indeed, if a = degpe(A), b = degpe(B) and c = degpe(C), then (4.4.6) implies that a ≤ b ∪c whereas (4.4.7) implies that, for any pe-degrees d ≤ b and e ≤ c, a 6= d ∪ e. Thus (4.4.5) fails for the pe-degrees a, b and c. We will construct sets A, B and C by a straightfoward diagonalisation ar- gument. In order to satisfy (4.4.6) we will ensure that

(∀x ∈ Σ∗)[ x ∈ A ⇔ x ∈ B ∨ x ∈ C ] (4.4.8)

We assume { Φn | n ∈ ω } to be the standard listing of np-T-operators defined in Section 4.2. Accordingly, for every i, j, k, l, m ∈ ω we will meet the requirement

Rhi,j,k,l,mi : A 6= Φk(Ai ⊕ Aj) ∨ Ai 6= Φl(B) ∨ Aj 6= Φm(C) (4.4.9) 4.4. BASIC PROPERTIES OF hRECPE, ≤i 155

where (for any n ∈ ω) An is shorthand for Φn(A). It is then easily seen that this ensures that (4.4.7) is satisfied.

The construction. A, B and C will be constructed by initial segments. In effect we define a strictly increasing length function l such that l(s) is defined at stage s and so that

s s s A = A l(s) and B = B l(s) and C = C l(s) (4.4.10) where As, Bs and Cs are the parts of A, B and C enumerated by the end of Stage s.

s s s Notation. Given A we use An as shorthand for Φn(A ).

Assuming { pi(m) | i ∈ ω } to be the listing of polynomials in one variable defined in Section 4.2, note that, for all n > 0 and m ≥ 0, pn(m) > m. Moreover, by definition of the listing of np-T-operators, for any axiom hx, ti ∈ Φn and + − oracle query z ∈ Dt ∪ Dt , |z| < pn(|x|). Thus for any sets X and Y such that X pn(|x|) = Y  pn(|x|) we know that Φn(X)(x) = Φn(Y )(x). With this in mind, the details of each stage of the construction are as follows.

Stage 0. A0 = B0 = C0 = ∅ and l(0) = 0.

l(s) Stage s + 1. Fix i, j, k, l, m such that s = hi, j, k, l, mi. Let xs = 0 and set us = pk(l(s)), vs = max{pi(us), pj(us)} and ws = max{pl(us), pm(us)}. Then s s s set l(s + 1) = max{vs, ws}. In order to define A , B and C , we distinguish the following two cases.

s s s s s s Case 1. A (xs) 6= Φk(Ai ⊕ Aj )(xs) or Ai  us 6= Φl(B ) us or Aj  us 6= s s+1 s s+1 s s+1 s Φm(C ) us . Then let A = A , B = B and C = C .

s+1 s Case 2. Otherwise. Then set A = A ∪ {xs} and distinguish the two following subcases.

s+1 s s+1 s Subcase 2.1. Ai  us 6= Ai  us (i.e. Φi(A ) us 6= Φi(A ) us ). Then set s+1 s s+1 s B = B and C = C ∪ {xs}.

s+1 s s+1 s Subcase 2.2. Otherwise. Then set B = B ∪ {xs} and C = C . 156CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Analysis of the construction. The construction is clearly effective and we can see by induction on s that the function l is strictly increasing, satisfies (4.4.10) and ensures that As+1 − As = (Bs+1 − Bs) ∪ (Cs+1 − Cs). Thus A, B and C are computable and (4.4.6) is satisfied. To conclude the proof it thus suffices to prove the following Claim.

Claim. For all s ∈ ω, Rs is satisfied.

l(s) Proof. Fix s and suppose that s = hi, j, k, l, mi. Let xs = 0 and let us, vs and ws be defined as in the description of Stage s + 1 above. Note that s s s l(s) < us < vs, ws ≤ l(s + 1) and that, by (4.4.10) xs ∈/ A ∪ B ∪ C . We consider the two cases separately.

• Case 1 holds. Then no string enters A, B or C at Stage s + 1. By (4.4.10) s s+1 and the fact that vs, ws ≤ l(s + 1) we know that A  vs = A  vs = A vs, s s+1 s s+1 B  ws = B  ws = B ws and C  ws = C  ws = C ws. This means

that, by definition of vs and ws, one of the inequalities stated in Case 1 is

preserved. In other words, A(xs) 6= Φk(Ai ⊕Aj)(xs) or Ai us 6= Φl(B) us

or Aj us 6= Φm(C) us and so Rs is satisfied in this Case.

• Case 2 holds. Then

s s s A (xs) = Φk(Ai ⊕ Aj )(xs) , (4.4.11)

s s Ai  us = Φl(B ) us , (4.4.12)

and

s s Aj  us = Φm(C ) us . (4.4.13)

Also, by construction,

s+1 A(xs) = A (xs) = 1 (4.4.14)

and, by (4.4.10),

s+1 s+1 Ai us = Ai  us & Aj us = Aj  us & s+1 s+1 B ws = B  ws & C ws = C  ws . (4.4.15) 4.4. BASIC PROPERTIES OF hRECPE, ≤i 157

s+1 s s+1 s Now if Ai  us = Ai  us and Aj  us = Aj  us then, by (4.4.11) and

(4.4.15), Φk(Ai ⊕ Aj)(xs) = 0 and so, by (4.4.14), A 6= Φk(Ai ⊕ Aj) and Rs s+1 s is met. So w.l.o.g. we may assume that either Ai  us 6= Ai  us or that s+1 s Aj  us 6= Aj  us . If the former holds, Then Case 2.1 applies to Stage s+1 and therefore Bs+1 = Bs. It thus follows by (4.4.12) and (4.4.15) that

s+1 s s s+1 Ai us = Ai  us 6= Ai  us = Φl(B ) us = Φl(B ) us = Φl(B) us

s+1 s and so Rs is met. Otherwise Case 2.2 applies and so C = C . It then

follows by a similar argument, using (4.4.13) and (4.4.15), that Aj 6= Φm(C).

So in this case also Rs is met. 3

This completes the proof of the Theorem.

Note 4.4.6. In the proof of Theorem 4.4.5 the sets A, B, C are constructed so NP R that A≤m B ⊕ C (see (4.4.8)). Thus the proof also shows that hRECr , ≤i is not distributive for (R, r) ∈ {(NP, m), (NP, c)}.

Proposition 4.4.7. Let a and b be computable pe-degrees such that a < b. Then there exists a degree c > a such that a = b ∩ c. (Thus every pe-degree is branching.)

Proof. We apply the iterated look ahead technique due to Ladner ([Lad75]) and Ambos-Spies ([AS87a]). The presentation (more or less) follows that of Xizhong Zheng in ([Zhe93]).

Let {Φn | n ∈ ω} be the fixed enumeration of np-T-operators stipulated in

Section 4.2 and let (∆0, Γ0), (∆1, Γ1),... be an effective enumeration of pairs of pe0-operators. Fix A ∈ a and B ∈ b. To prove the Proposition it will be enough to construct C such that A≤pe C and

R2e : C 6= Φe(A)

q R2e+1 : ∆e(B) = Γe(C) ⇒ Γe(C)≤pe0 A

0 if Γe is a pe -operator for q(n) ∈ P. 158CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

NP for all e ≥ 0. In effect the even requirements force C T A and so C pe q q A whereas the odd requirements ensure that if X ≤pe0 B and X ≤pe0 C then q X ≤pe0 A where q(n) is any polynomial in P. So by Theorem 4.3.14, if X ≤pe B and X ≤pe C then X ≤pe A.

Remark. We can assume that the enumeration of pe0-operators is such that for 0 0 pe pe 0 any e ≥ 0, if (say) ∆e = Ψp,V,q,k and Γe = Ψp0,V 0,q0,k0 , then k, k ≤ e and 0 0 p(n), p (n) < pe(n) for all n ≥ 0. Also note that “Γe is a pe -operator for q(n)” means that q(n) is coded into the index e of Γe and that obviously there is exactly one such q(n) coded into e for every e ≥ 0. A last point is that ∆e 0 need not be a pe -operator. A proof in which the pairs (∆e, Γe) consisted of an 0 np-T-operator (∆e) and a pe -operator (Γe) works just as well.

C is constructed such that C ∩ 0Σ∗ = 0A, (i.e. C = A ⊕ C0 for some C0) and P so A≤m C. The strategy for meeting the requirements R2e is a straightforward diagonalisation. On the other hand each R2e+1 is met by choosing an appropriate extension of the given part of C to ensure that ∆e(B) 6= Γe(C). If this fails, 0 and Γe is a pe -operator for q(n) (say), then it must be the case (this is shown q below) that Γe(C)≤pe0 A. The set C is constructed by initial segments. While constructing C we also construct a uniformly computable sequence of sets {Ce}e∈ω and functions

{fe−1}e∈ω. At the end of stage m all the sets Ce are determined on { t | |t| < ∗ m } ⊆ Σ and all the functions fe−1 are defined on n < m. Each stage is effective and finite and so C is computable (and likewise for Ce, fe−1 for all e). Let a(n) be a p-constructible function dominating the step counting function of B—so that B(t) is computable in at most a(|t|) steps for all t ∈ Σ∗.

The construction. We build C by initial segments.

Stage 0. C = Ce = ∅ and fe−1 = 0 for all e ≥ 0.

Stage m + 1. At this point in the construction Ce(t) and C(t) have been 0 0 defined for all t ∈ { t | |t | < m } and fe−1(n) has been defined for all n < m. In particular, f−1(n) is defined to be the least number of steps required to perform 4.4. BASIC PROPERTIES OF hRECPE, ≤i 159

the construction up to the end of Stage n + 1. During the present Stage Ce(s) and C(s) are defined for all s of length m whereas fe−1(m) is defined, for all e ∈ ω. Namely, for e ≥ m + 1, and s of length m we define

Ce(s) = (A ⊕ ∅)(s)& fe(m) = a(m) (4.4.16) whereas for all 0 ≤ e ≤ m and s of length m, Ce(s), fe(m) and (ultimately)

C(s) and f−1(m) are defined by the following m + 1 Substages from m to 0.

Substage e. (0 ≤ e ≤ m) fe(m) is defined to be the least number k > fe+1(m) such that the construction up to this point can be performed in k steps. Accordingly fe(m) > a(m) (since fm+1(m) =def a(m)), and if e = m, and cm is the number of steps needed to initialise this Stage (i.e. the implicit coding of condition (4.4.16)), then fe(m) = max{ f−1(m − 1) + cm , a(m) } + 1.

Notation. We say that the set E is a length n A-coding extension of Cm if ∗ n ≥ m, Em = Cm and (E ∩ 0Σ )n = (0A)n and if E is infinite we say that ∗ E is an A-coding extension if Em = Cm and E ∩ 0Σ = 0A.

Satisfaction. Requirement R2e is said to be satisfied at Stage m+1 if

 ∃s |s| < m & C(s) 6= Φe(A)(s) . (4.4.17)

Requirement R2e+1 is satisfied at Stage m+1 if

 ∃s pe(|s|) < m & ∆e(B)(s) 6= Γe(C)(s) . (4.4.18)

Requiring attention. Requirement R2e is said to require attention at Stage m+1 if it has not yet been satisfied. Requirement R2e+1 requires attention if it has not yet been satisfied and there is a string s, number n and finite set E such that E is an n length A-coding extension of Cm and

|s| < fe(m) and n = pe(|s|) + 1 (4.4.19)

∆e(B)(s) 6= Γe(E)(s) (4.4.20)

Defining cases. The definition of Ce(s) for s of length m is subdivided into three cases. 160CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Case 1. If R2e requires attention at Stage m+1, let s0 be the least string in 1Σ∗ of length m and define

  (A ⊕ ∅)(s) if s 6= s0 Ce(s) = 1 − Φe(A)(s) if s = s0

for all s of length m. In this case we say that R2e receives attention at Stage m+1.

Case 2. If R2e+1 requires attention at Stage m+1, and R2e does not require attention, then let (s0, n0,E0) be the least triple satisfying (4.4.19)-(4.4.20).

Define Ce(t) = E0(t) for all t of length m. In this case we say that R2e+1 receives attention at Stage m+1.

Case 3. If neither R2e nor R2e+1 requires attention at Stage m+1 then define

Ce(s) = Ce+1(s) for all s of length m.

In all three cases, if e > 0, proceed to Substage e − 1. At the last Substage (i.e. e = 0), C0(s) is defined for all s of length m. At this point in the construction, we let C(s) = C0(s) for all s of length of m and we define f−1(m) to be the least number k > f0(m) such that the construction up to this point can be completed in k steps and we proceed to Stage m+2.

Analysis of the Construction. Note that each stage entails a finite priority argument. Accordingly, after Stage m+1, C(s) = (A⊕∅)(s) for all s of length m if no requirement receives attention at Stage m+1, whereas otherewise C(s) is decided by the action taken relative to the requirement of highest priority that receives attention.

Active. We say that requirement Rd is active at Stage m+1 if Rd receives 0 attention but no requirement Rd0 with d < d requires atttention at this Stage.

The construction is clearly effective and so C,Ce and fe−1 are indeed computable

(for all e ≥ 0). Moreover, fe−1 is a strictly increasing p-constructible function such that Ce(s) can be computed in fe−1(|s|) steps and C(s) can be computed 4.4. BASIC PROPERTIES OF hRECPE, ≤i 161 in

f−1(|s|) ≤ fe(|s| + 1) ≤ fe−1(|s| + 1) (4.4.21) steps. To check that C has the right properties it now suffices to prove Claims 1-5 below.

Claim 1. For any e ≥ 0, if R2e is active at Stage m+1, then R2e is satisfied at Stage m+2 and is met.

0 Proof. If R2e is active at Stage m+1 then Ce0 (s) = Ce(s) for all e < e and s of length m. In particular, if s0 is the string chosen according to Case 1,

C(s0) = Ce(s0) = 1 − Φe(A)(s0) . Thus R2e is satisfied at Stage m+1 and R2e is met. 3

Claim 2. For any e ≥ 0, if R2e+1 is active at Stage m+1, and there is no requirement Rd with d < 2e+1 that requires attention after Stage m+1, then

R2e+1 is satisfied at some later stage and so R2e+1 is met.

Proof. Suppose that R2e+1 is active at Stage m+1. Then let (s0, n0,E0) be the triple chosen, according to Case 2, satisfying (4.4.19)-(4.4.20). Note that e ≤ m + 1 ≤ n0. Thus if R2e+1 is not satisfied before Stage n0, then R2e+1 will be active at every Stage n such that m+1 ≤ n ≤ n0 , and so C(s) = Ce(s) for all s of length n for each such n. Thus R2e+1 will require attention and hence be active at each one of these stages and this is witnessed each time by the same triple (s0, n0,E0). Therefore E0n0 = Cn0 and R2e+1 is satisfied at Stage n0 + 1 by (4.4.18) and so R2e+1 is met. 3

Claim 3. Each requirement Rd requires attention at most finitely often.

Proof. By induction on d. The case d = 0 follows by construction and Claim 1.

So suppose that d > 0. By the induction hypothesis there exists m0 ≥ 1 such 0 that no Rd0 with d < d requires attention after Stage m0. Thus if Rd requires attention after Stage m0 then Rd will be active and will be satisfied at some later Stage n0 by Claim 1 and Claim 2. Clearly Rd will not require attention after Stage n0 and so Rd requires attention at most finitely often. 3 162CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Claim 4. Requirement R2e is met for all e ≥ 0.

Proof. If R2e is satisfied at some stage it is met. If not it is clear that R2e requires attention infinitely often in contradiction with Claim 3. 3

Claim 5. R2e+1 is met for every e ≥ 0.

Proof. Suppose the contrary and let R2e+1 be the least such requirement that 0 is not met. Let q(n) ∈ P be such that Γe is a pe -operator for q(n). Then by hypothesis,

∆e(B) = Γe(C) . (4.4.22)

By our assumption on e and Claim 3 there exists m0 such that, for any d ≤ 2e+1,

Rd is not active after Stage m0. (In other words, Rd has already been satisfied for d < 2e+1 and moreover, R2e+1 remains unsatisfied, i.e. there exists no triple

(s, n, E) satisfying (4.4.19)-(4.4.20) at any later Stage m > m0). Therefore, by construction,

 ∀s |s| ≥ m0 ⇒ C(s) = Ce(s) = Ce+1(s) . (4.4.23)

Observe that Ce+1(s) is computed in fe(|s|) steps for all s such that |s| ≥ m0.

It follows from (4.4.23) and the definition of fe that

 ∀s |s| ≥ m0 ⇒ C(s) can be computed in fe(|s|) steps (4.4.24)  ∀s |s| < m0 ⇒ C(s) can be computed in fe(m0) steps . (4.4.25)

q Our objective. We will show that Γe(C) ≤pe0 A in contradiction with our assumption that R2e+1 is not met. For any string s, define

ns = max{ m | fe(m − 1) < |s| } (4.4.26) and let

+ − V = { hs, ti | hs, ti ∈ Γe & Dt ns ⊆ C & Dt ns ⊆ C } .

We begin by showing that V ∈ NP. To do this we firstly note that the set

{ hs, ti | hs, ti ∈ Γe & |s| < fe(m0) } 4.4. BASIC PROPERTIES OF hRECPE, ≤i 163 is finite (and in fact of cardinality at most 2fe(m0)+1 ·2pe(fe(m0))+1). So, to prove + − that V ∈ NP, it suffices to show that “Dt ns ⊆ C ?” and “Dt ns ⊆ C ?” can be computed efficiently in |hs, ti| for any s of length ≥ fe(m0).

Accordingly, fix such an s and consider any string x such that |x| < ns.

Then, by (4.4.24) and (4.4.25), C(x) can be computed in max{fe(|x|), fe(m0)} steps. But |s| ≥ fe(m0) by choice of s and |s| > fe(|x|) by definition (see

(4.4.26)) since |x| ≤ ns − 1. Thus |s| ≤ |hs, ti| bounds the computation time + − + − of C(x) for any x ∈ (Dt ∪ Dt )ns. Moreover, ||Dt ∪ Dt || ≤ |t| ≤ |hs, ti| and ns can be efficiently computed in |s| ≤ |hs, ti| since fe is p-constructible + − by definition. Therefore “Dt ns ⊆ C ?” and “Dt ns ⊆ C ?” can indeed be efficiently computed in |hs, ti| for all s such that |s| ≥ fe(m0) and it follows that V ∈ NP.

Next, bearing in mind that V ⊆ Γe by definition, we define

0 0 0 Vb = { hs, ti | ∃t ≤ pe(|s|)[ |t| ≤ |t | & hs, t i ∈ V

+ + & Dt = Dt0 ∩ { 0x : |0x| ≥ ns } − − & Dt = Dt0 ∩ { 0x : |0x| ≥ ns } + − & Dt0 ∩ Dt0 = ∅ }

NP 0 Then clearly Vb ≤m V and so Vb ∈ NP. Define the pe -operator for q(n), 0 Φ =def Ψ . Note that by the Remark above (page 158), if hx, t i ∈ Γe pe,Vb ,q,e 0 − then |t | ≤ pe(|s|), and if z ∈ Dt0 then q(|z|) ≤ e · log |s| and so, by definition of Vb, the same holds for hs, ti if hs, ti ∈ Vb. It follows that

Φ = V.b

The contradiction. To complete our proof it suffices to show that, for all s of length ≥ f(m0),

s ∈ Γe(C) ⇔ s ∈ Φ(A ⊕ ∅) (4.4.27)

q q since this implies that Γe(C) ≤pe0 A⊕∅ from which it easily follows that Γe(C) ≤pe0

A in contradiction with our assumption that R2e+1 is not met.

Remark. We can assume in (4.4.27) that ns > m0 since we could explicitly only consider s large enough for this to happen (i.e. such that fe(|s| − 1) > m0). 164CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

We prove (4.4.27) (for s such that |s| ≥ f(m0)) as follows.

0 (⇒) Suppose that s ∈ Γe(C) . Thus by definition there exists hs, t i ∈ Γe such + − + − that Dt0 ⊆ C and Dt0 ⊆ C. But then obviously Dt0 ns ⊆ C and Dt0 ns ⊆ C. 0 0 + − Therefore hs, t i ∈ V , |t | ≤ pe(|s|) by definition and moreover clearly Dt0 ∩Dt0 = + + ∅. Let t be the unique string such that Dt = Dt0 ∩ { 0x : |0x| ≥ ns } and − − 0 Dt = Dt0 ∩ { 0x : |0x| ≥ ns }. Then clearly |t| ≤ |t | and so hs, ti ∈ Vb = Φ. + + ∗ − − ∗ 0 0 ∗ Also Dt ⊆ Dt0 ∩ 0Σ and Dt ⊆ Dt0 ∩ 0Σ . Define C so that 1C = C ∩ 1Σ . Then by construction C = A ⊕ C0 and so it is now obvious that s ∈ Φ(A ⊕ ∅),

+ 0 − 0 0 since we know that Dt0 ⊆ A ⊕ C and Dt0 ⊆ A ⊕ C ( = A ⊕ C ).

(⇐) Suppose that s ∈ Φ(A ⊕ ∅). Then, by definition of Vb = Φ, there exist 0 + − strings t and t such that hs, ti ∈ Vb and Dt ⊆ A ⊕ ∅ and Dt ⊆ A ⊕ ∅ (and − 0 + in fact Dt ⊆ A ⊕ ∅ by definition) and moreover hs, t i ∈ V ⊆ Γe, Dt = + − − + − Dt0 ∩ { 0x : |0x| ≥ ns }, Dt = Dt0 ∩ { 0x : |0x| ≥ ns } and Dt0 ∩ Dt0 = ∅. Also, + − by definition of V , Dt0 ns ⊆ C and Dt0 ns ⊆ C . Suppose, for a contradiction, that s∈ / Γe(C). Then, by assumption (4.4.22), s∈ / ∆e(B). Define s0 = s, n0 = pe(|s|) + 1 and

E0 = Cns ∪ { 0x | ns ≤ |0x| < n0 & 0x ∈ A ⊕ ∅ } + ∪ { 1x | ns ≤ |1x| < n0 & 1x ∈ Dt0 } .

Note that s0 ∈ Γe(E0) by definition of Φ (since s0 = s). Also, s0 ∈/ ∆e(B) as just mentioned. So the triple (s0, n0,E0) satisfies (4.4.19) and (4.4.20) (with m = ns) at Stage ns + 1. Also, w.l.o.g. ns > n0 (see the Remark above). Hence

R2e+1 would be active (and so satisfied at some later Stage) at Stage ns + 1 in contradiction with our original assumption. Thus s ∈ Γe(C).

Our assumption that R2e+1 is not met has thus yielded the contradictory result that R2e+1 is met! Therefore our assumption must be false. In other words

R2e+1 is indeed met. 3

We remind the reader that Claim 5 implies (using Theorem 4.3.14) that, if

D≤pe B and D≤pe C, then D≤pe A. This concludes the proof. 4.5. JOIN AND MEET LEMMAS 165

Corollary 4.4.8. Every non zero pe-degree belongs to a minimal pair.

We end this Section by drawing an obvious conclusion from the coincidence NP of ≤pe and ≤c over sets of low time time complexity.

∼ NP Proposition 4.4.9. hEXPpe, ≤i = hEXPc , ≤i .

Proof. Apply Proposition 4.3.25 and Note 4.3.26.

Proposition 4.4.9 tells us that any computable enumeration of np-c-operator (such as that defined in on page 124 Section 4.2) can be used in the study of hEXPpe, ≤i. On the other hand Proposition 4.4.9 also suggests that there may be natural structural properties of EXPpe within hRECpe, ≤i that differentiate it from other (computable) classes of pe-degree.

4.5 Join and Meet Lemmas

The techniques used by Ladner [Lad75] to prove properties of the p-T-degrees such as density, were later refined (in e.g. [LLR81, Reg83, Sch84, Sch82b]) us- ing the notion of a recursively presentable class. We begin this Section with a short review of the latter in the context of np-T-reductions. The reason for introducing this notion is that it allows us to construct joins and meets in a sys- tematic and succinct manner. We adapt three results from Ambos-Spies’ work [AS85a, AS85b] on the p-T-degrees4. The first—Ambos-Spies’ “join” lemma—is a diagonalisation argument in the spirit of earlier proofs by Chew and Machtey in [CM81], Landweber et al. in [LLR81] and Sch¨oning in [Sch82b]. The lat- ter two—Ambos Spies’ “meet” lemmas—are a refinement of the technique used by Landweber et al. in [LLR81] for the construction of minimal pairs of p-T- degrees.

Definition 4.5.1. A class C of computable sets is recursively presentable (r.p.) ∗ if C is empty or there exists computable set U ⊆ ω × Σ such that C = { Un | P n ∈ ω }, where Un =def { s | hn, si ∈ U }. Note that C ≤m U for all C ∈ C (and 4Note that we have also used the term Cook degrees for the p-T-degrees. 166CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY that U is called a universal set for C). A class D is closed under finite variants (c.f.v.) if, for all sets A and B, if A ∈ D and B =∗ A then B ∈ D also.

Lemma 4.5.2. Let C and D be r.p. classes of computable sets. Define

NP NP  [C, D]NP = { A | (∃C ∈ C)(∃D ∈ D) C ≤T A ≤T D } .

Then [C, D]NP is recursively presentable and closed under finite variants.

Proof. Without loss of generality assume that C, D and [C, D]NP are non empty. It is obvious that [C, D]NP is closed under finite variants. Let U and V be universal sets for C and D respectively. Choose some D ∈ [C, D]NP.

For m = hi, j, k, li we inductively define a computable set Em so that

if (∀y)[ pi(|y|) < |x| ⇒ Uk(y) = Φi(Em)(y)& Em(y) = Φj(Vl)(y)]

then Em(x) = Φj(Vl)(x) ,

else Em(x) = D(x) .

NP NP It is easy to see that either both Uk ≤T Em via Φi and Em ≤T Vl via Φj , or ∗ Em = D. Thus [C, D]NP = {E hi,j,k,li | hi, j, k, li ∈ ω } .

NP Remark. Observe how the fact that ≤T is effective operator based (see page 125) underpins the proof of Lemmma 4.5.2.

Note 4.5.3. Any finite class of computable sets is recursively presentable. In ∗ particular, the class [{A}, {B}]NP is r.p. and c.f.v. for any A, B ⊆ Σ .

We now proceed to the structural variant of the delayed diagonalisation technique.

Notation. Let f : ω → ω be a strictly increasing function. The nth iteration f n of f is defined inductively by: f 0(m) = m and f n+1(m) = f(f n(m)). We call

f ∗ n n+1 In = { x ∈ Σ | f (0) ≤ |x| < f (0) }

st f the (n+1) f-interval. Since f is strictly increasing { In | n ∈ ω } is a partition ∗ ∗ S f f T f of Σ (i.e. Σ = { In | n ∈ ω } and Im Il = ∅ for all m 6= l). For any set f S f α ⊆ ω the notation Iα is used as shorthand for the set {In | n ∈ α } . 4.5. JOIN AND MEET LEMMAS 167

Note 4.5.4. If f : ω → ω is p-constructible and strictly increasing and α ∈ Pω f then Iα ∈ P. In effect, by p-constructibility there is a polynomial p(n) such that f(n) can be computed in p(f(n)) steps for all n ≥ 0. So for any s ∈ Σ∗, to see f whether s ∈ Iα, compute f(0), f(f(0)),... each time allowing p(|s|+1) steps until m is found such that either f m+1(0) > |s| or f m+1(0) does not halt (within the p(|s|+1) steps). This part of the process requires at most |s|·p(|s|+1) steps. Finally check whether m ∈ α.

Note 4.5.5. Any computable function g :Σ∗ → Σ∗ is bounded by a strictly increasing p-constructible function. For example let f be the function, that on input s counts the steps taken by some Turing machine M that computes g on each input t such that t ≤L s (length lexicographically) and outputs the total. Note that we call f the step counting function for M.

Lemma 4.5.6 (Join Lemma. [AS85a]). Let C0,C1 be computable sets and let

C0, C1 be r.p and c.f.v. classes such that C0 ∪ C1 ∈/ C0 and C1 ∈/ C1. Then there is a computable function g0 : ω → ω such that the following holds: if g is a strictly increasing computable function that dominates g0 and α is an infinite g and co-infinite set of natural numbers then (C0 ∩ Iα) ∪ C1 ∈/ C0 ∪ C1 .

Proof. W.l.o.g. suppose that C0 and C1 are non empty. Let U and V be universal sets for C0, C1 respectively. Let

g0(n) = (µm > n)( ∀k ≤ n )(∃x)(∃y)[ n ≤ |x|, |y| < m

& C0 ∪ C1(x) 6= Uk(x)

& C1(y) 6= Vk(y)] .

Observe that g0 is clearly partial computable and strictly increasing. Also since

C0 ∪ C1 ∈/ C0, C1 ∈/ C1, and C0, C1 are closed under finite variants, there are infinitely many strings x, y such that C0 ∪ C1(x) 6= Uk(x) and C1(y) 6= Vk(y).

Therefore g0 is total. 168CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Fix g and α as in the premise of the Theorem. We must show that requirements

g R0 :(C0 ∩ Iα) ∪ C1 ∈/ C0

g R1 :(C0 ∩ Iα) ∪ C1 ∈/ C1 are met.

g (R0) It suffices to show that (C0 ∩ Iα) ∪ C1 ∈/ Uk for all k ≥ 0. Accordingly, fix k. Choose n ≥ k such that n ∈ α. Observe that since n ∈ α,

∗ n n+1 g (∀x ∈ Σ )[ g (0) ≤ |x| < g (0) ⇒ C0 ∪ C1(x) = (C0 ∩ Iα) ∪ C1(x)] . (4.5.1) n n n n+1 Moreover, g (0) > n ≥ k and g (0) < g0(g (0)) ≤ g (0), by choice of n g. Thus, by definition of g0 there exists some string x such that g (0) ≤ |x| < n g g0(g (0)) and C0 ∪C1(x) 6= Uk(x). Hence (C0 ∩Iα)∪C1(x) 6= Uk(x) by (4.5.1).

(R1) The proof that R1 is met is the same as that for R0 with the difference that n ≥ k is chosen such that n∈ / α and thus the condition

∗ n n+1 g (∀x ∈ Σ )[ g (0) ≤ |x| < g (0) ⇒ C1(x) = (C0 ∩ Iα) ∪ C1(x)] . replaces (4.5.1) in the argument.

Lemma 4.5.7 (Meet Lemma. [AS85a]). For any computable set B there is a computable function g1 such that g1(n) > n and the following holds. Let g be a p-constructible and strictly increasing function which dominates g1, let C be a computable set and suppose that α, β ∈ Pω are such that for all n ∈ ω,

(∃i ≤ 1)[ n + i ∈ α & n + (1 − i) ∈ β ] ⇒ ( n ∈ α ∩ β ∨ n + 1 ∈ α ∩ β ) (4.5.2) then

g g g degpe((B ∩ Iα∩β) ⊕ C ) = degpe((B ∩ Iα) ⊕ C ) ∩ degpe( B ∩ Iβ) ⊕ C ) . (4.5.3)

Proof. Given B, let g1 be the stepcounting function of some deterministic Turing machine computing B such that g1(n) > n. Fix g, α, β and C as in the premise 4.5. JOIN AND MEET LEMMAS 169

g g g g g g of the Lemma. Then Iα,Iβ,Iα∩β ∈ P and Iα ∩ Iα = Iα∩β. Thus we know that

g P g (B ∩ Iα∩β) ⊕ C ≤m (B ∩ Iα) ⊕ C and

g P g (B ∩ Iα∩β) ⊕ C ≤m (B ∩ Iβ) ⊕ C.

Therefore we only need to show that

g g g (∀X)[ X ≤pe (B ∩ Iα) ⊕ C & X ≤pe (B ∩ Iβ) ⊕ C ⇒ X ≤pe (B ∩ Iα∩β) ⊕ C ] . (4.5.4)

Claim ([AS85a]). To prove Equation (4.5.4) it suffices to show that, for any 0 0 0 computable set C and α , β ∈ Pω , if

α0 ∩ β0 = ∅ (4.5.5) and

. . (∀n ∈ ω)[( n ∈ α0 ⇒ (n+1), (n−1) ∈/ β0 )&( n ∈ β0 ⇒ (n+1), (n−1) ∈/ α0 )] (4.5.6) then

0 g 0 g 0 degpe(C ) = degpe((B ∩ Iα0 ) ⊕ C ) ∩ degpe( B ∩ Iβ0 ) ⊕ C ) . (4.5.7)

0 0 0 g Proof. Define α = α − β, β = β − α, and C = (B ∩ Iα∩β) ⊕ C. Then clearly

g P g 0 (B ∩ Iα) ⊕ C ≡m (B ∩ Iα0 ) ⊕ C (4.5.8) g P g 0 (B ∩ Iβ) ⊕ C ≡m (B ∩ Iβ0 ) ⊕ C . (4.5.9)

Observe that if n ∈ α0 ∪β0 and n+1 ∈ α0 ∪β0 then {n, n+1} ⊆ α∪β but n∈ / α∩β and n+1 ∈/ α∩β. Thus, by (4.5.2) either {n, n+1} ⊆ α0 or {n, n+1} ⊆ β0. This means that (4.5.6) holds for α0 and β0. On the other hand, (4.5.5) holds for α0 and β0 by definition. Moreover, it follows from (4.5.8)-(4.5.9) and the definition of C0, that if (4.5.7) is true for C0, α0, β0 then (4.5.4) is true for C, α, β. Thus the Claim is proved. 3 170CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

By the Claim, w.l.o.g. it is enough to prove (4.5.7) for α, β and C (in the place of α0, β0 and C0) on the assumption that α, β satisfy (4.5.5) and (4.5.6). Using Theorem 4.3.14 and Definition 4.3.7 this can be done by satisfying re- quirement

q g q g q Rq : ∀X ( X ≤pe0 (B∩Iα)⊕C & X ≤pe0 (B∩IC )⊕C ⇒ X ≤pe0 C ) for all q(n) ∈ P. Accordingly let q(n) be a fixed polynomial and suppose A q g q g to be a set such that A ≤pe0 (B ∩ Iα) ⊕ C and A ≤pe0 (B ∩ Iβ) ⊕ C. Also let 0 0 pe 0 pe 0 Φ =def Ψp,V,q,k and Φ =def Ψp0,V 0,q,k0 (say) be pe -operators witnessing these g 0 g reductions—i.e. A = Φ( (B ∩ Iα) ⊕ C ) and A = Φ ((B ∩ Iβ) ⊕ C ). Define p∗(n) = p(n) + p0(n) (and so |t| ≤ p∗(|s|) if hs, ti ∈ Φ ∪ Φ0) and k∗ = k + k0.

∗ ns ∗ ns+1 Moreover, for any s ∈ Σ define ns such that g (0) ≤ p (|s|) < g (0) (i.e. ∗ 0p (|s|) ∈ Ig ) and note that n can be efficiently computed relative to |s|. Now ns s define the sets

Va := { hs, ti | ( ns ∈ α ∨ ns−1 ∈ α )

0 0 0 + − & ∃t [ hs, t i ∈ Φ & Dt0 ∩ Dt0 = ∅ & + + ∗ − − ∗ 1Dt = Dt0 ∩ 1Σ & 1Dt = Dt0 ∩ 1Σ & + g ∗ − g ∗ Dt0 ⊆ (B ∩ Iβ) ⊕ Σ & Dt0 ⊆ (B ∩ Iβ) ⊕ Σ ] }

Vb := { hs, ti | ( ns ∈/ α & ns−1 ∈/ α )

0 0 + − & ∃t [ hs, t i ∈ Φ& Dt0 ∩ Dt0 = ∅ & + + ∗ − − ∗ 1Dt = Dt0 ∩ 1Σ & 1Dt = Dt0 ∩ 1Σ & + g ∗ − g ∗ Dt0 ⊆ (B ∩ Iα) ⊕ Σ & Dt0 ⊆ (B ∩ Iα) ⊕ Σ ] }

0 0 0 0 Remark. If hs, ti ∈ Va then there exists t such that |t | ≥ |t| and hs, t i ∈ Φ . 0 ∗ Thus |t| ≤ p (|s|) ≤ p (|s|). A similar remark applies to Vb.

Clearly to show that Va,Vb ∈ NP it suffices to prove that in each case the + g ∗ − g ∗ last two conditions (e.g. “Dt0 ⊆ (B ∩ Iβ) ⊕ Σ ?” and “Dt0 ⊆ (B ∩ Iβ) ⊕ Σ ?” 0 0 0 for any t such that hs, t i ∈ Φ in the case of Va) can be computed efficently 0 relative to |s| ≤ |hs, ti|. Consider the set Va and suppose that t is such that 4.5. JOIN AND MEET LEMMAS 171

0 0 hs, t i ∈ Φ . Since ns ∈ α or ns−1 ∈ α we know, by (4.5.6), that

(B ∩ Ig) ∩ Ig = (B ∩ Ig) ∩ Ig = ∅ . β ns β ns−1

+ g − g g Also, if 0x ∈ Dt0 ∩ 0(B ∩ Iβ) or 0x ∈ Dt0 ∩ 0(B ∩ Iβ) then x ∈ Im for some ∗ m ≤ n since |x| + 1 ≤ |t0| ≤ p∗(|s|) and 0p (|s|) ∈ Ig . Hence the only case s ns + g − g when “0x ∈ Dt0 ∩ 0(B ∩ Iβ) ?” or “0x ∈ Dt0 ∩ 0(B ∩ Iβ) ?” is not obviously g computable efficiently in |s| is the case when x ∈ Im and m ≤ ns − 2. However, for any such x, B(x) can be computed in at most

m+1 m+2 ns ∗ g1( g (0) ) ≤ g (0) ≤ g (0) ≤ p (|s|)

+ − 0 ∗ + steps. Also of course, ||Dt0 ||, ||Dt0 || ≤ |t | ≤ p (|s|). It follows that “Dt0 ⊆ g ∗ − g ∗ (B ∩ Iβ) ⊕ Σ ?” and “Dt0 ⊆ (B ∩ Iβ) ⊕ Σ ?” can be efficiently computed relative to |s| ≤ |hs, ti|. Thus Va ∈ NP. Similarly it can be shown that Vb ∈ NP. pe0 Now define Vb := Va ∪ Vb and let Φb =def Ψ . Note that, by definition p∗,Vb ,q,k∗ of p∗(n) and k∗, Φb = Vb. It is thus straightforward to check that s ∈ A iff q s ∈ Φ(b C), i.e. that A≤pe0 C. Therefore Rq holds. g To conclude suppose that the set E satisfies the conditions E ≤pe (B∩Iα)⊕C g q g q g and E ≤pe (B ∩Iβ)⊕C. Then E ≤pe0 (B ∩Iα)⊕C and E ≤pe0 (B ∩Iβ)⊕C for all q(n) ∈ P, by definition. However as Rq holds for each such polynomial it follows q that that E≤pe0 C for all q(n) ∈ P. Hence E≤pe C by Theorem 4.3.14.

Corollary 4.5.8 (Second Meet Lemma. [AS85a]). For any computable set B there is a computable function g1 such that g1(n) > n and the following holds.

Let g be a p-constructible and strictly increasing function which dominates g1, let C be a computable set and suppose that α, β ∈ Pω . Then, for i ∈ {0, 1},

g g g degpe((B∩I2α+i∩2β+i)⊕C ) = degpe((B ∩ I2α+i) ⊕ C ) ∩ degpe( B ∩ I2β+i) ⊕ C ) . (4.5.10)

Proof. There is no n ∈ ω such that n ∈ 2α+i ∩ 2β+i and n+1 ∈ 2α+i ∩ 2β+i. Therefore (4.5.2) holds trivially for 2α+i and 2β+i. 172CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

4.6 Lattice Embeddings in hRECpe, ≤i

Ambos-Spies’ join and meet lemmas provide us with the background tools for the construction of lattice embeddings in the pe-degrees. As the reader will observe, the join lemma is used indirectly in that it relies on the fact that np- T-reductions are effective operator based5 (something we cannot guarantee for pe-reductions), and Corollary 4.3.15, to perform the necessary diagonalisation. In other words it uses what is essentially a corollary of the (non constructive) definition of pe-reducibility. On the other hand, the construction of meets relies heavily on the constructive formulation of pe-reducibility (≤pe0 ) (see the proof of Lemma 4.5.7) in combination with the methods used to construct joins. We begin by presenting the basic construction of joins and meets in the pe-degrees and, in so doing, we prove that the computable pe-degrees are dense. We then go on to show how two of Ambos-Spies’ lattice embedding theorems can be made to apply in the present context.

Theorem 4.6.1. If A and B are computable sets such that A

B1 ≡pe B.

∗ Proof. Fix A, B ⊆ Σ such that A

Note that the following classes of sets C0 and C1 are recursively presentable and closed under finite variants:

NP C0 =def { E | E≤T C }

NP NP C1 =def { E | B≤T E≤T B ⊕ C }

Now without loss of generality suppose that B ⊆ 0Σ∗ and C ⊆ 1Σ∗. There- P P fore (B ∩E)∪C ≡m (B ∩E)⊕C for any set E. For example, B ⊕C ≡m B ∪C.

5As defined on page 125. 4.6. LATTICE EMBEDDINGS IN hRECPE, ≤i 173

NP Then B ∪ C/∈ C0 because B ∪ C ≡pe B ⊕ C and BT C, whereas C/∈ C1 NP (again because B T C). Now, let g0 be the computable function stipulated by Theorem 4.5.6 and let g be a p-constructible strictly increasing function dominating g0 (such functions always exist—see Note 4.5.5). Therefore, by Theorem 4.5.6 we have:

g E0 =def (B ∩ I2ω) ⊕ C/∈ C0 ∪ C1 g E1 =def (B ∩ I2ω+1) ⊕ C/∈ C0 ∪ C1

Now also define:

g B0 =def (B ∩ I2ω) ⊕ A g B1 =def (B ∩ I2ω+1) ⊕ A

g g g P Then since I2ω,I2ω+1 ∈ P (see Note 4.5.4) we know that (B ∩ I2ω)≤m B and g P P (B ∩ I2ω+1) ≤m B so it follows that A ≤pe B0,B1 ≤pe B (since ≤m ⊆ ≤pe and

A≤pe B by hypothesis).

We now show that B0 and B1 lie strictly (pe-) in between A and B. Accordingly fix i ∈ {0, 1}.

NP NP NP • Suppose that B ≤pe Bi. Clearly Bi ≤T Ei (as A≤T C) and so B ≤T Ei

by definition of ≤pe . However this contradicts the fact that Ei ∈/ C1 (since NP obviously Ei ≤T B ⊕ C).

g P • Suppose that Bi ≤pe A. Observe that B ∩ I2ω+i ≤m Bi and it thus follows g that B ∩ I2ω+i ≤pe A. However this implies, by definition of ≤pe that g NP NP g NP B ∩ I2ω+i ≤T C, because A≤T C. Therefore Ei = (B ∩ I2ω+i) ⊕ C ≤T C

in contradiction with the fact that Ei ∈/ C0.

We conclude that A

Corollary 4.6.2 (Density and splitting). For any (computable) pe-degrees a and b such that a < b there exist pe-degrees b0 and b1 such that b = b0 ∪ b1 174CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

and a < b0, b1 < b and b = b0 ∪b1. In other words the (computable) pe-degrees are dense and every non zero pe-degree splits.

Proof. Let a and b be (computable) pe-degrees such that a < b. Take any

A ∈ a and B ∈ b. Then, by Theorem 4.6.1, there exist sets B0 and B1 such that A

Theorem 4.6.3 (Meet reducibility). For any (computable) pe-degrees a and b such that a < b there exist pe-degrees a0 and a1 such that a < a0, a1 < b and a = a0 ∩ a1 . Thus the (computable) pe-degrees are meet reducible.

Proof. Let a,b be (computable) pe-degrees such that a < b and let A ⊆ 1Σ∗ and B ⊆ 0Σ∗ be sets such that A ∈ a and B ∈ b. Also let C ⊆ 1Σ∗ be a NP NP computable set such that A ≤T C whereas B T C (using Corollary 4.3.15). NP Apply Lemma 4.5.6 (the join lemma) to C0 = B, C1 = C, C0 = { X | X ≤T NP NP C } and C1 = { X | B≤T X ≤T B ⊕ C }. Also apply Lemma 4.5.7 (the meet lemma) via Corollary 4.5.8 to B (i.e. as B in the wording of the latter). Let g0, g1 be the respective functions guaranteed by Lemma 4.5.6 and Corollary 4.5.8 and let g be a p-constructible function dominating both g0 and g1. Then we follow the same reasoning as in the proof of Theorem 4.6.1 where now we have

g E0 =def (B ∩ I4ω) ⊕ C/∈ C0 ∪ C1 g E1 =def (B ∩ I4ω+2) ⊕ C/∈ C0 ∪ C1 and we define

g B0 =def (B ∩ I4ω) ⊕ A g B1 =def (B ∩ I4ω+2) ⊕ A

which ensures that A

∅ ⊕ A ≡pe A) by taking

g g a0 = degpe((B ∩ I4ω) ⊕ A ) and a1 = degpe((B ∩ I4ω+2) ⊕ A ) .

Corollary 4.6.4. Any non-zero (computable) pe-degree b bounds a minimal pair.

Proof. Let b be any non-zero (computable) pe-degree and apply Theorem 4.6.3 with a = 0 (i.e. take A = C = ∅ in the proof of Theorem 4.6.3).

Reminder. Notation and basic definitions relating to lattices can be found on page 7.

Ambos-Spies proved in [AS85b] that, for r ∈ {T, m}, any countable distribu- tive lattice can be embedded in any interval of the p-r-degrees (with ) by maps f0 and f1 which preserve 0 and 1 respectively. Moreover these maps can be con- structed so as to “avoid” certain well behaved classes of p-r-degrees. In effect, if we define a class of p-r-degrees Cr to be recursively presentable (r.p.) if there P exists a recursively presentable class D such that Cr = { degr (C) | C ∈ D } P then, since ≤r is effective operator based and therefore satisfies Lemma 4.5.2 P NP applied to ≤r instead of ≤T , we know that for any class of p-r-degrees Er,

Er is r.p. iff { E | (∃e ∈ E)[ E ∈ e ] } is r.p. (4.6.1)

Thus, for example, for any degrees ar < br and r.p. class of degrees Cr ⊆

(ar, br) the maps f0 and f1 as described above can be constructed in such a way that every p-r-degree in the image of either of these maps is incomparable with all the p-r-degrees in Cr (see Corollary 4.5 of [AS85b]). Now, the proof of Ambos-Spies’ result is derived from a simultaneous ap- plication of the Join Lemma and the Meet Lemma in the context of the p- r-degrees (r ∈ {T, m}). Accordingly, since these Lemmas hold in essentially the same manner in the pe-degrees we are able to apply Ambos-Spies’ result in the present context. However note that, due to the “pe0-operator problem” (Note 4.3.17) we are not in a position to assert the veracity of Lemma 4.5.2 (with NP ≤pe in place of ≤T ) in the context of ≤pe. Thus, assuming that we define a 176CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

class of pe-degrees Epe to be recursively presentable as above, we are not able to prove (4.6.1) for Epe. It thus follows that we are unable to apply Ambos-Spies’ result in its full generality (as exemplified in Corollary 4.5 of [AS85b]). We proceed by presenting the basic argument in Ambos-Spies’ proof—applied to the pe-degrees—in its integrity. Accordingly, we firstly give an example of an efficiently computable representation of the countable atomless Boolean lattice. We then exhibit two embeddings of this lattice into a given (arbitrary) interval of the pe-degrees, that preserve 0 an 1 respectively,. The result thus follows from the well known fact that any countable distributive lattice (with at least two elements) can be embedded into the (up to isomorphism unique) countably infinite atomless Boolean lattice by a map which preserves both 0 and 1. We begin with a technical Lemma.

Lemma 4.6.5 ([Bre78]). Let A be an infinite and co-infinite computable set. Then there is a set B ∈ P such that each of the sets A ∩ B, A ∩ B, A ∩ B and A ∩ B is infinite.

Proof. This is basically a double application of the Join Lemma. For details, see Corollary 3.3 and its proof in [AS85b].

∗ ∗ Notation. hPω, ≤ i denotes the quotient lattice of hPω, ⊆i over the ideal of finite ∗ ∗ sets. In other words the elements of Pω are the classes [α] = { β | α = β }, such that α ∈ Pω whereas [α] ≤∗ [β] if α ⊆∗ β.

Lemma 4.6.6 ([AS85b]). (a) hPω, ⊆i is a Boolean lattice. ∗ ∗ (b) hPω, ≤ i is a countable atomless Boolean lattice.

Proof. (a) Being closed under union and intersection, Pω is a field of sets and thus a distributive lattice. hPω, ⊆i has least elment ∅ and greatest element ω and is closed under complementation. It follows that hPω, ⊆i is Boolean.

(b) The class F of finite sets is an ideal of hPω, ⊆i and so the quotient lattice ∗ ∗ hPω, ≤ i of the Boolean lattice hPω, ⊆i over F is also a Boolean lattice. Clearly ∗ ∗ ∗ Pω is countable and so we only need to show that hPω, ≤ i has no atoms or, in 4.6. LATTICE EMBEDDINGS IN hRECPE, ≤i 177

other words, that any infinite set A ∈ Pω has a subset B ∈ Pω such that B and A − B are infinite. However this is an immediate consequence of Breidbart’s splitting Theorem (Lemma 4.6.5).

Theorem 4.6.7 (After the embedding theorem of [AS85b]). Let A and B be computable sets such that B

g f0(α) = ( A ∩ I2α ) ⊕ B (4.6.2) g f1(α) = ( A ∩ I2α∪2ω+1 ) ⊕ B (4.6.3)

∗ fi (α) = degpe( fi(α) ) (4.6.4)

have the properties P1 and P2 below.

P1 : If α ∈ Pω is infinite and β ∈ Pω is coinfinite, then

f0(α), f1(β) ∈/ degpe(A) ∪ degpe(B).

∗ ∗ P2 : The function f0 (f1 ) gives an embedding of the ∗ ∗ atomless Boolean lattice hPω, ≤ i into the inter-

val [degpe(B), degpe(A)] which preserves the least ∗ (greatest) element. Moreover, for any [α] ∈ Pω ∗ P there is a set C ∈ fi ([α]) such that C≤m A ⊕ B.

Remark. We modify the proof of Theorem 4.2 in [AS85b]. For the sake of completeness and readability we present the whole of Ambos-Spies’ argument.

NP NP Proof. Let C be a computable set such that B ≤T C whereas A T C. Let NP NP NP C0 = { E | E ≤T C } and C1 = { E | A≤T E ≤T A ⊕ C } . Now define g0 precisely as in the proof of Theorem 4.6.1. Also apply the Second Meet Lemma (Corollary 4.5.8), with B replaced by A in the wording of the latter, to obtain the function g1. Let g be any strictly increasing p-constructible function which dominates g0, and g1. 178CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Remark. We can also prove this Theorem under the extra clause in P1 that f0(α), f1(β) ∈/ C ∪ D for any r.p. and c.f.v. classes C and D (i.e. just as in Theorem 4.2 of [AS85b]). In effect, this is made possible by the same argument except that the Join Lemma is applied one more time (simultaneously) relative to the classes C and D. However, as explained above, we are unable to exploit this feature of Ambos-Spies’ proof in terms of classes of pe-degrees.

Verification. It is immediate by a similar argument to the proof of Theo- rem 4.6.1 (using g0) that P1 holds. So we only need to prove that P2 holds. Observe firstly, that, for any sets α, β ⊆ ω ,

g g α ⊆ β ⇔ Iα ⊆ Iβ , (4.6.5) g α finite ⇔ Iα finite , (4.6.6) and also that, by Note 4.5.4,

g α ∈ Pω ⇒ Iα ∈ P . (4.6.7)

Note that for any computable set E, and sets F0,F1 ∈ P,

P P P degm( E ∩ (F0 ∪ F1) ) = degm( E ∩ F0 ) ∪ degm( E ∩ F1 )

P whereas F0 ⊆ F1 implies that E ∩ F0 ≤m E ∩ F1 . So, by definition of fi and by (4.6.5),

P P P degm( fi(α ∪ β) ) = degm( fi(α)) ∪ degm( fi(β)) , (4.6.8) and also, by (4.6.7),

P P P α ⊆ β ⇒ B ≤m fi(α) ≤m fi(β) ≤m A ⊕ B (4.6.9) for all α, β ∈ Pω. Moreover, by (4.6.6), and closure of the p-m-degrees under finite variants, ∗ α = β ⇒ fi(α) = fi(β) . (4.6.10)

P ∗ Now, ≤m is of course a subrelation of ≤pe and so, by (4.6.10), fi is well ∗ defined over RECpe. By (4.6.9), we know that the range of fi is contained in 4.6. LATTICE EMBEDDINGS IN hRECPE, ≤i 179

[ degpe(B), degpe(A) ] and also that the last sentence of P2 is true. Furthermore, ∗ ∗ f0(∅) = ∅ ⊕ B and f1(ω) = A ⊕ B and hence f0 (0) = degpe(B) and f1 (0) = ∗ degpe(A) . Thus it only remains to show that each map fi is a lattice embedding ∗ ∗ of hPω, ≤ i into hRECpe, ≤i. To do this it suffices to prove that

∗ ∗ ∗ [α] ≤ [β] ⇔ fi ([α]) ≤ fi ([β]) ,

∗ ∗ ∗ fi ([α ∪ β]) = fi ([α]) ∪ fi ([β]) ,

∗ ∗ ∗ fi ([α ∩ β]) = fi ([α]) ∩ fi ([β]) ,

∗ for all α, β ∈ Pω. Observe that, by definition of f (and using (4.6.10)) we may replace these conditions by

∗ α ⊆ β ⇔ fi(α) ≤pe fi(β) (4.6.11)

degpe( fi(α ∪ β) ) = degpe( fi(α)) ∪ degpe(fi(β) ) (4.6.12)

degpe( fi(α ∩ β) ) = degpe( fi(α)) ∩ degpe(fi(β)) . (4.6.13)

Now, (4.6.12) and the ⇒ direction of (4.6.11) are immediate by (4.6.8) and (4.6.9) respectively. In addition, (4.6.13) holds by the Second Meet Lemma6 P (via g1) and definition of fi (using the fact that, for i = 1, fi(α) ≡m (A ⊕ g g I2α) ⊕ (A ⊕ I2ω+1) ⊕ B ). It thus only remains to prove the ⇐ direction of (4.6.11). Accordingly, fix α, β ∈ Pω such that fi(α) ≤pe fi(β) and, in order to obtain a contradiction, assume that γ = α − β is infinite. Notice P firstly that γ ∈ Pω. So, by (4.6.9), fi(γ) ≤m fi(α) and thus, by choice of

α and β, fi(γ) ≤pe fi(β). However, using (4.6.13) and the fact that trivially fi(γ)≤pe fi(γ), this implies that fi(γ)≤pe fi(β ∩ γ) = fi(∅). Hence, it follows from (4.6.9) that fi(γ) ≡pe fi(∅). Therefore if i = 0, then fi(α) ∈ degpe(B) contrary to P1 (contradiction). On the other hand if i = 1 then, by (4.6.12) and (4.6.9),

degpe( fi(ω) ) = degpe( fi(γ ∪ γ) ) = degpe( fi(γ)) ∪ degpe( fi(γ))

= degpe( fi(∅)) ∪ degpe( fi(γ) ) = degpe( fi(γ))

6In other words Corollary 4.5.8. 180CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

and so (for i = 1), fi(γ) ∈ degpe(A) again contrary to P1.

This completes the proof.

Corollary 4.6.8. Let L = hL, ≤i be any countable distributive lattice. Let a and b be computable pe-degrees such that a < b. Then there exist lattice embeddings f0, f1 : L → [a, b] of L into the interval [a, b] such that f0 maps the least element 0 of L (if any) to a and f1 maps the greatest element 1 of L (if any) to b.

It is also a well known fact that every countable partial order can be em- bedded in the countable atomless Boolean lattice.

Corollary 4.6.9. Let a and b be computable pe-degrees such that a < b. Any countable partially ordered set can be (order) embedded in [a, b].

∗ Corollary 4.6.10. The 1-quantifier theory ∃-ThhRECpe, ≤i is decidable.

Remark. Downey proves in [Dow92] that there exists a degree a > 0 in P hRECT, ≤i which is not the join of a minimal pair. It appears that, by working in the context of appropriate np-T-operators, this proof adapts to the the case of hRECpe, ≤i. The trick needed in modifying Downey’s proof is, at the appro- priate point in the proof, to take the string being computed (y) large enough so that any non trivial queries are always very small (the oracle set being very sparse) thus ensuring that the resulting np-T-reduction is in fact a pe-reduction. 0 00 In particular, in Procedure R(e, i, A ,A , t1) on page 390 of [Dow92] (misstyped 2ti+1 0 00 2 ti+1 as E(e, i, A ,A , t1)) one could choose follower y = 0 (instead of y = 0 ).

Formal verification of this result in the context of hRECpe, ≤i however would entail rewriting Downey’s proof and has not been attempted by the present author.

Corollary 4.6.8 obviously leaves open the question of which lattices are em- beddable into any interval of the pe-degrees by a map which preserves both 0 and P 1. In the context of hRECr , ≤i (r ∈ {m, T }) Ambos-Spies has provided a com- plete answer for this question restricted to the class of finite lattices. Namely on 4.7. EMBEDDING THE SN-T-DEGREES 181 the one hand, Ambos-Spies showed in [AS87b] that all finite non complemented distributive lattices with at least 2 elements can be thus embedded. On the P other hand he showed in [AS86] that hRECT, ≤i contains distributive initial segments. As a result it follows that the class of finite distributive lattices with at least 2 elements can be characterised as the class of finite lattices embeddable P in any interval of hRECr , ≤i (r ∈ {m, T }) by a map which preserves the least and greatest element (see Theorem 4.5 of [AS99]).

In the context of hRECpe, ≤i we can use Ambos-Spies’ methods to show the existence of such embeddings (see below). However the reader should note that hRECpe, ≤i does not appear to display the same types of inhomogeneity as P hRECT, ≤i and hence the author does not know whether a full characterisation of finite lattices—in the sense of the above paragraph—exists with respect to the pe-degrees.

Theorem 4.6.11. Let L = hL, ≤i be any finite distributive lattice which is nowhere complemented (i.e. no a ∈ L − {0, 1} has a complement). Let a and b be computable pe-degrees such that a < b. Then there exists a lattice embedding f : L → [a, b] of L into the interval [a, b] such that f maps the least element 0 of L (if any) to a and the greatest element 1 of L (if any) to b.

Proof. Make the same adjustments to the proof of Theorem 7.1 in [AS87b] as were made above to the proof of Ambos-Spies’ embedding theorem (of [AS85b]) in order to prove Theorem 4.6.7.

4.7 Embedding the sn-T-degrees

SN sn-T-reducibility ( ≤T ) was defined by Selman in [Sel78] Section 4.2 ( ≤s in Selman’s notation) and studied by Long in [Lon82]. In the present context we are SN interested in the relationship between ≤T on the one hand and ≤pe (and later NP ≤c ) on the other. Drawing on the analogy of the two pairs of reducibilities SN (≤T,≤e)and (≤T ,≤pe) we will show that there exists an embedding of the sn- T-degrees into the pe-degrees similar to that of the Turing degrees into the 182CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY e-degrees. We also observe that the same embedding holds with respect to the SN NP pair (≤T , ≤c ). Moreover, in the latter case we show that this analogy can be extended in the sense that, we can construct b-quasiminimal degrees above any given np-c-degree b.

∗ SN NP NP Reminder. For any A, B ⊆ Σ , A≤T B iff A≤T B and A≤T B.

Remark. It follows from Proposition 2.4.7 on page 32 that, for any A, B ⊆ ω, N N A≤T B iff A≤T B and A≤T B. Moreover, by Definition 0.2 and Corollary 1.4 of [Sel71], A≤T B iff

N N (∀X ⊆ ω)[ X ≤T A ⇒ X ≤T B ] . (4.7.1)

∗ SN Lemma 4.7.1 ([Sel78]). For any A, B ⊆ Σ , A≤T B iff

∗ NP NP (∀X ⊆ Σ )[ X ≤T A ⇒ X ≤T B ] . (4.7.2)

Proof. (⇒) Suppose that

NP NP NP X ≤T A & A≤T B & A≤T B (4.7.3)

NP SN (i.e. X ≤T A and A ≤T B ). Then it is straightforward to construct an np-T- NP operator (machine) witnessing X ≤T B from the np-T-operators (machines) witnessing (4.7.3).

NP NP NP (⇐) Obviously A≤T A and A≤T A. Hence (4.7.2) implies that A≤T B NP SN and A≤T B and so A≤T B.

SN Corollary 4.7.2 ([Sel78]). ≤T is reflexive and transitive. NP ∩ co − NP is SN the 0 degree of hRECT , ≤i.

SN Remark. Notice that, by Lemma 4.7.1 and the preceding Remark, ≤T is the polynomial time analogue of ≤T in the same sense that ≤pe is the polynomial time analogue of ≤e (see Definition 4.3.1 and the Remark that precedes it).

∗ SN Lemma 4.7.3 ([Sel78]). For any A, B ⊆ Σ , A≤T B iff

∗ SN NP (∀X ⊆ Σ )[ X ≤T A ⇒ X ≤T B ] . (4.7.4) 4.7. EMBEDDING THE SN-T-DEGREES 183

SN NP Proof. (⇒) This is obvious by Lemma 4.7.1 (since ≤T ⊆≤T )

SN SN NP NP (⇐) Obviously A≤T A and A≤T A . So A≤T B and A≤T B by (4.7.4). SN Thus A≤T B by definition.

The reader will observe the similarity between Note 4.3.16 for ≤pe and SN Lemma 4.7.3 for ≤T .

SN NP Lemma 4.7.4 ([Sel78]). ≤T is a maximal transitive relation of ≤T (over REC).

NP SN Proof. Suppose that there exists a transitive relation R ⊆≤T such that ≤T is properly contained in R. Accordingly there exist sets A and B such that SN SN A R B but A T B. By Lemma 4.7.3 there exists C ≤T A such that NP SN C T B. However this means that C R A (since ≤T ⊆ R ) whereas A R B NP by assumption. Thus C R B by transitivity of R and so C ≤T B (contradic- SN tion). Moreover clearly if A and B are computable then C is also. Hence ≤T is indeed a maximal transitive relation (over REC).

Note 4.7.5. If in the proof of Lemma 4.7.4 we assume that A, B ∈ EXP then SN NP C ∈ EXP also. Thus ≤T is maximal transitive in ≤T over EXP. The SN same can be said for any other classes closed under ≤T (such as the class of elementary time sets).

SN By Proposition 4.3.18 and Lemma 4.7.4 both ≤pe and ≤T are maximal NP transitive relations of ≤T . Compare to this Selman’s result that ≤T and N ≤e are maximal transitive relations of ≤T (Corollary 1.5 and Theorem 2.7 of [Sel71]). With these observations in mind we now turn our attention to the rela- SN tionship between the respective degree structures hRECT , ≤i and hRECpe, ≤i. We begin by reformulating Lemma 3.3.1 in the present context.

Lemma 4.7.6. For any A ⊆ Σ∗ the following equivalences hold: P P P (a) CA ≡m A ⊕ A (b) CA ≡m CA (c) CA ≡m CA.

Definition 4.7.7. Suppose A ⊆ Σ∗. A function f : A → Σ∗ is said to be polynomial bounded if there exists a polynomial p(n) such that |f(x)| ≤ p(|x|) 184CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY for all x ∈ A. If f is also total (i.e. A = Σ∗ ), then it is said to be polynomial bounded total (p-total).

Definition 4.7.8. A pe-degree is said to be p-total if it contains the graph of a p-total function.

Reminder. A set A is said to be characteristic if A = B ⊕ B for some set B.

Lemma 4.7.9. For any pe-degree a, the following are equivalent. (a) a is p-total.

(b) For some set A in a, A≤pe A. (c) a contains a characteristic set A ⊕ A.

Proof. Observe that by Lemma 4.7.6 the implication (c) ⇒ (a) is obvious (since

A ⊕ A ≡pe CA and cA is p-bounded). The implication (b) ⇒ (c) is also obvious. Thus we only need to prove (a) ⇒ (b). Accordingly fix F the graph of a p-total function f in a and suppose that p(n) is a bound for f. Then note that

∗ F = Fb ∪ F where

Fb = { hx, yi | ∃z[ |z| ≤ p(|x|)& z 6= y & hx, zi ∈ F ] } and

∗ F = { hx, yi | |y| > p(|x|) } .

Clearly F∗ ∈ P. Now define V = { hhx, yi, hx, zii | |y|, |z| ≤ p(|x|)& y 6= z }. ˆ NP Then V ∈ NP and F≤m F via the np-m-operator

Ψm = { hhx, yi, hx, zii | |hx, zi| ≤ p (|hx, yi|)& hhx, yi, hx, zii ∈ V } pi,V def i where i ∈ ω is chosen large enough (depending on the definition of h , i and p(n)) so that Ψm = V . Thus ≤NP and so ≤ . pi,V F m F F pe F

∗ NP Lemma 4.7.10. For any A, B ⊆ Σ , A≤T B iff A≤pe B ⊕ B. 4.7. EMBEDDING THE SN-T-DEGREES 185

NP P Proof. If A≤pe B ⊕ B, then A≤T B since B ⊕ B ≤T B. On the other hand NP T suppose that A≤T B and that this is witnessed by np-T-operator Ψp,V . Ac- T ∗ cordingly (by definition of Ψp,V ), for all s ∈ Σ ,

+ − s ∈ A iff ∃t [ |t| ≤ p(|s|)& hs, ti ∈ V & Dt ⊆ B & Dt ⊆ B ] .

+ − Observe also that Dt = {x | 0x ∈ Dt } and Dt = {x | 1x ∈ Dt } by definition. Hence for all s ∈ Σ∗,

s ∈ A iff ∃t [ |t| ≤ p(|s|)& hs, ti ∈ V & Dt ⊆ B ⊕ B ] .

NP c In other words A≤c B via the np-c-operator Ψp,V . Therefore A≤pe B.

∗ SN Corollary 4.7.11. For any A, B ⊆ Σ , A≤T B iff A ⊕ A≤pe B ⊕ B.

Proposition 4.7.12. The embedding ιpe of the sn-T-degrees into the pe-degrees induced by the map X 7→ CX is an order embedding that preserves suprema, and least element.

Proof. Straightforward using Corollary 4.7.11.

Definition 4.7.13. For any given pe-degree b a pe-degree a is said to be b- quasiminimal if a > b and ∀d( d ≤ a & d p-total ⇒ d ≤ b ). If b = 0 we say that a is quasiminimal.

Note 4.7.14. Observe that Lemmas 4.7.9-4.7.10, Corollary 4.7.11. and Propo- NP sition 4.7.12 are all true if we replace ≤pe by ≤c . Moreover, it is also straight- NP forward to show that the map X 7→ CX induces an embedding (ιc ) with the properties spelt out in Proposition 4.7.12. Accordingly we define quasiminimal- ity notions relative to the np-c-degrees as in Definition 4.7.13.

Question. Do there exist b-quasiminimal pe-degrees for any (or some) b. In particular do there exists quasiminimal pe-degrees.

Let us now briefly consider this question and its antecedents. 186CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

Definition 4.7.15 ([Sel82]). Suppose that r ∈ {e, se, pe, np-T,... }. An r- operator is said to be positive if, for all sets A, B and E, if A = Φ(B) and B ⊆ E then A ⊆ Φ(E).

It is easily seen that the e-operators in our standard listing (see Notation on page 22) are positive and that the same can be said for the listing of np-c- operators stipulated in Section 4.2 (page 124). On the other hand, in the case of

≤pe , not only do we have no reason to believe that this reducibility is effective operator based (as defined on page 125), but also we can easily find instances of pe-reductions for which there does exist a single operator but where the only apparent operator available is clearly not positive. For example, let A, B be the sets constructed in Lemma 4.3.23 and let Φ be the pe-operator corresponding to (4.3.29), i.e. such that A≤pe B via Φ. Then Φ is obviously not positive.

Now Medvedev’s proof [Med55] of the existence of relativised quasiminimal e-degrees relies on the positiveness of the operators enumerated during the con- struction. Observe that this is also the case in the proof of Theorem 3.3.11 where we switch attention between e-reductions relative to A and e-reductions relative to A as the construction proceeds. With these observations in mind NP we might expect similar methods to be applicable in the case of ≤c . This is indeed the case as shown below in Proposition 4.7.16. However an answer to the Question above and even to the question of whether there exist non p-total pe-degrees would seem to require new techniques.

Proposition 4.7.16. For any np-c-degree b there exists a b-quasiminimal np- c-degree degree a.

Proof. Once again we apply the iterated look ahead technique due to Ladner ([Lad75]) and Ambos-Spies ([AS87a]).

Choose B ∈ b. Let {Vn | n ∈ ω} and {Φn | n ∈ ω} be the enumeration of NP and np-c-operators stipulated in Section 4.2. In order to prove the Proposition 4.7. EMBEDDING THE SN-T-DEGREES 187

NP it will be enough to construct a set A such that B≤c A and the requirements

R2e : A 6= Φe(B)

NP R2e+1 :Φe(A) characteristic ⇒ Φe(A)≤c B for all e ≥ 0. (Note that we use Lemma 4.7.9 in the formulation of the odd NP requirements.) In order to ensure that B ≤c A we construct A so that, for all x ∈ Σ∗, x ∈ B iff 0x ∈ A (4.7.5) i.e. such that A = B ⊕ Aˆ for some set Aˆ.

Notation. We say that the set E is a length m B-coding extension of An if ∗ m ≥ n, En = An and (E ∩ 0Σ )m = (0B)m and if E is infinite we say that ∗ E is a B-coding extension of An if En = An and E ∩ 0Σ = 0B. A is constructed by stages with a finite priority argument being applied at each stage. The strategy for meeting R2e is a straightforward diagonalisation. On the other hand, R2e+1 is met by searching for an appropriate B-coding extension of the given part (i.e. finite initial segment) of A to ensure that Φe(A) is not characteristic. If this search fails throughout the construction then we are able NP to show that Φe(A)≤c B.

The set A is constructed by finite initial segments. While constructing A we will also construct a uniformly computable sequence of sets {Ae}e∈ω and functions

{fe−1}e∈ω . At the end of any Stage n all the sets Ae are determined on the ∗ set { t : |t| < n } ⊆ Σ and all the functions fe−1 are defined on m < n. Each

Stage is effective and finite and so A is computable (and likewise for Ae, fe−1 for e ∈ ω). Let b(n) be a p-constructible function dominating the step counting function of B so that B(t) is computable in at most b(|t|) steps for all t ∈ Σ∗.

The construction. We proceed by Stages.

Stage 0 ≤ n ≤ 1. A = Ae = ∅ and fe−1(0) = 0 for all e ∈ ω.

Stage n + 1 (n ≥ 1). At this point in the construction Ae(x), A(x) have been 188CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

defined for all x ∈ {t : |t| < n} and fe−1(m) has been defined for all m < n. In particular, f−1(m) is defined to be the least number of steps required to perform the construction up to the end of Stage m + 1 for each such m. During Stage n + 1 we define Ae(x) and A(x) for all x of length n and we also define fe−1(n) (for all e ∈ ω). Namely for e ≥ n + 1, and x of length n we define

Ae(x) = (B ⊕ ∅)(x)& fe(n) = b(n) (4.7.6) whereas for all 0 ≤ e ≤ n , Ae(x), fe(n) and (ultimately) A(x) and f−1(n) are defined by the following n + 1 Substages from n to 0.

Substage e. (0 ≤ e ≤ n) fe(n) is defined to be the least number k > fe+1(n) such that the construction up to this point can be performed in k steps. Ac- cordingly, fe(n) > b(n) (since fn+1(n) = b(n) by (4.7.6)), and if e = n and cn is the number of steps needed to declare (4.7.6), fe(n) = max{ f−1(n − 1) + cn , b(n) } + 1.

Satisfaction. Requirement R2e is said to be satisfied at Stage n+1 if

 ∃s |s| < n & A(s) 6= Φe(B)(s) . (4.7.7)

Requirement R2e+1 is satisfied at Stage n+1 if

 ∃s pe(|s| + 1) < n & & 0s ∈ Φe(A) & 1s ∈ Φe(A) . (4.7.8)

Requiring attention. Requirement R2e is said to require attention at Stage n+1 if it has not yet been satisfied. Requirement R2e+1 requires attention if it has not yet been satisfied and there is a string s, number m and finite set E such that E is an m length A-coding extension of En and

|s| + 1 < fe(n) and m = pe(|s| + 1) + 1 , (4.7.9)

0s ∈ Φe(Em) and 1s ∈ Φe(Em). (4.7.10)

Defining Cases. The construction (at Substage e) falls into three separate cases. 4.7. EMBEDDING THE SN-T-DEGREES 189

Case 1. If R2e requires attention at Stage n + 1 let x0 be the least string of n−1 length n − 1 (i.e. x0 = λ if n = 1 otherwise x0 = 0 ) and define

  (B ⊕ ∅)(x) if x 6= 1x0 Ae(x) =  1 − Φe(B)(x) if x = 1x0

for all x of length n. In this case we say that R2e receives attention at Stage n+1.

Case 2. If R2e+1 requires attention at Stage n+1, and R2e does not require at- tention, then let (x0, m0,E0) be the least triple (with E0 a finite set) satisfying

(4.7.9)-(4.7.10). Define Ae(x) = E0(x) for all x of length n. In this case we say that R2e+1 receives attention at Stage n+1.

Case 3. If neither R2e nor R2e+1 requires attention at Stage n+1 then define

Ae(x) = Ae+1(x) for all x of length n.

In all three cases, if e > 0, proceed to Substage e − 1. At the last Substage (i.e. e = 0), A0 is defined for all x of length n. At this point in the construction, we let A(x) = A0(x) for all x of length n and we set f−1(n) to be the least number pˆ such that the computation up to this point is completed inp ˆ steps. (Observe that f−1(n) ≥ f0(n) > b(n) by definition.)

Analysis of the Construction. Note that each stage indeed entails a finite 0 priority argument in which Rd0 has higher priority than Rd if d < d. Accord- ingly, after Stage n+1, A(x) = (B ⊕ ∅)(x) for all x of length n if no requirement receives attention at Stage n+1, whereas otherewise A(x) is decided by the ac- tion taken relative to the requirement of highest priority that receives attention.

Active. We say that requirement Rd is active at Stage n+1 if Rd receives at- 0 tention but no requirement Rd0 with d < d requires atttention at this Stage.

The construction is clearly effective and so A, Ae and fe−1 are indeed com- putable (for all e ≥ 0). Moreover, fe−1 is a strictly increasing p-constructible function such that Ae(x) (and A(x)) can be computed in fe−1(|x|) steps and 190CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

A(x) can be computed in

f−1(|x|) ≤ fe(|x| + 1) ≤ fe−1(|x| + 1) (4.7.11) steps. To check that A has the right properties it now suffices to prove Claims 1- 5 below.

Claim 1. For any e ≥ 0, if R2e is active at Stage n+1, then R2e is satisfied at Stage n+2 and is met.

0 Proof. If R2e is active at Stage n+1 then Ae0 (x) = Ae(x) for all e < e and x of length n. In particular if x0 is the string chosen according to Case 1, then

A(1x0) = Ae(1x0) = 1 − Φe(B)(1x0) . Thus R2e is satisfied at Stage n+1 and

R2e is met. 3

Claim 2. For any e ≥ 0, if R2e+1 is active at Stage n + 1, and there is no requirement Rd with d < 2e+1 that requires attention after Stage n+1, then

R2e+1 is satisfied at some later stage and so R2e+1 is met.

Proof. Suppose that R2e+1 is active at Stage n+1. Let (x0, m0,E0) be the (least) triple satisfying (4.7.9)-(4.7.10), i.e. the triple chosen according to Case 2. Note that e < n + 1 ≤ m0. Thus if R2e+1 is not satisfied before Stage m0, then R2e+1 will be active at every Stage p such that n+1 ≤ p ≤ m0 , and so A(x) = Ae(x) for all x of length p for each such p. Thus R2e+1 will require attention and hence be active at each one of these stages and this is witnessed each time by the same triple (x0, m0,E0). Therefore E0m0 = Am0 and R2e+1 is satisfied at Stage m0 + 1 by (4.7.8) and so R2e+1 is met. 3

Claim 3. Each requirement Rd requires attention at most finitely often.

Proof. By induction on d. The case d = 0 follows by construction and Claim 1.

So suppose that d > 0. By the induction hypothesis there exists n0 ≥ 1 such 0 that no Rd0 with d < d requires attention after Stage n0. Thus if Rd requires attention after Stage n0 then Rd will be active and will be satisfied at some later Stage m0 by Claim 1 and Claim 2. Clearly Rd will not require attention after Stage m0 and so Rd requires attention at most finitely often. 3 4.7. EMBEDDING THE SN-T-DEGREES 191

Claim 4. Requirement R2e is met for all e ≥ 0.

Proof. If R2e is satisfied at some stage it is met. If not it is clear that R2e requires attention infinitely often in contradiction with Claim 3. 3

Claim 5. R2e+1 is met for every e ≥ 0.

Proof. Suppose the contrary and let R2e+1 be the least such requirement that is not met. Thus, by assumption there exists C ⊆ Σ∗ such that

C ⊕ C = Φe(A) .

By our assumption on e and Claim 3, there exists n0 such that, for any d ≤ 2e+1,

Rd is not active after Stage n0. (In other words Rd has already been satisfied if d < 2e + 1, and moreover R2e+1 remains unsatisfied, i.e. there exists no triple

(x, m, E) satisfying (4.7.9) and (4.7.10) at any later Stage n > n0.) Therefore, by construction,

(∀x)[ |x| ≥ n0 ⇒ A(x) = Ae(x) = Ae+1(x) ] (4.7.12)

Observe that Ae+1(x) is computed in fe(|x|) steps for all x such that |x| ≥ n0.

Thus it follows from (4.7.12) and the definition of fe that

∀x[ |x| ≥ n0 ⇒ A(x) can be computed in fe(|x|) steps ] , (4.7.13)

∀s[ |x| < n0 ⇒ A(x) can be computed in fe(n0) steps ] . (4.7.14)

NP Our objective. We will now show that Φe(A)≤c B in contradiction with our assumption that R2e+1 is not met.

For any string s define

ns = max { m | fe(m − 1) < s } (4.7.15) and set

∗ V = { hs, ti | hs, ti ∈ Φe &(Dt ∩ 1Σ )ns ⊆ A } . (4.7.16) 192CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

We show that V ∈ NP. To see this observe firstly that the set

{ hs, ti | hs, ti ∈ Φe & |s| < fe(n0) } is finite (and in fact of cardinality ≤ 2fe(n0)+1 · 2pe( fe(n0) )+1 ). So, to prove ∗ that V ∈ NP, it suffices to show that (Dt ∩ 1Σ )ns ⊆ A? can be computed efficiently in |hs, ti| for any s of length ≥ fe(n0).

Accordingly fix such an s and consider any string x such that |x| < ns. Then, by (4.7.13) and (4.7.14), A(x) can be computed in max{ fe(|x|), fe(n0) } steps.

But |s| ≥ fe(n0) by choice of s and |s| ≥ fe(|x|) by definition (see (4.7.15)) since

|x| ≤ ns − 1. Thus |s| ≤ |hs, ti| bounds the computation time of A(x) for any x ∈ Dtns. Moreover ||Dt|| ≤ |t| ≤ |hs, ti| and ns can be efficiently computed ∗ in |s| ≤ |hs, ti| since fe is p-constructible. Therefore (Dt ∩ 1Σ )ns ⊆ A? can indeed be efficiently computed in |hs, ti| for all s such that |s| ≥ f(n0) and so V ∈ NP.

Now define the np-c-operator Φ = Ψc . Note that if w ∈ V then w = hs, ti pe,V for some hs, ti ∈ Φe. Thus |t| ≤ pe(|s|) and it follows that

Φ = V ⊆ Φe (4.7.17)

The contradicton. To complete our proof it suffices to show that, for all s of length ≥ f(n0), ∗ s ∈ Φe(A) ⇔ s ∈ Φ(B ⊕ Σ ) (4.7.18)

NP ∗ NP since this implies that A≤c B ⊕ Σ and thus A≤c B in contradiction with our assumption that R2e+1 is not met.

Remark. We can suppose in (4.7.18) that ns > n0, since we could also explicitly only consider s large enough so that fe(|s| − 1) > n0 (i.e. such that ns > n0).

We prove (4.7.18) as follows.

∗ (⇒) Suppose that s ∈ Φe(A). Define Aˆ such that 1Aˆ = A ∩ 1Σ . Then

A = B ⊕ Aˆ by construction. Thus, by definition of Φe, there exists t such that ˆ ∗ ˆ hs, ti ∈ Φe and Dt ⊆ B ⊕ A . But then obviously (Dt ∩ 1Σ )ns ⊆ 1A ⊆ A . Thus s ∈ Φ(B ⊕ Σ∗). P 4.8. SEPARATING ≤T AND ≤PE IN E 193

(⇐) Suppose that s ∈ Φ(B ⊕ Σ∗). In other words there exists t such that ∗ ∗ ˆ hs, ti ∈ Φe and (Dt ∩ 1Σ )ns ⊆ A and Dt ⊆ B ⊕ Σ . Thus, since A = B ⊕ A ˆ (with A defined as above), Dtns ⊆ A.

Suppose (for a contradiction) that s∈ / Φe(A). Suppose also that i is the first bit of s, i.e. that s = isˆ for somes ˆ. (W.l.o.g. s has length ≥ 2.) Then, as 0 Φe(A) is characteristic by assumption, (1 − i)ˆs ∈ Φe(A). Thus there exists t 0 such that h(1 − i)ˆs, t i ∈ Φe and Dt0 ⊆ A. Now define

∗ E0 = Ans ∪ { x | x ∈ B ⊕ Σ & ns ≤ |x| ≤ pe(|s|) } , x0 =s ˆ and m0 = pe(|s|) + 1. Notice that Dt,Dt0 ⊆ E0 and so the triple

(x0, m0,E0) satisfies (4.7.9) and (4.7.10) at Stage ns + 1 (and this is in fact the least such Stage as f(m) < |s| for all m < ns by definition of ns). Also w.l.o.g. ns > m0 (see the Remark above). Hence R2e+1 would be active at (and so satisfied after) Stage ns +1 in contradiction with our original assumption. Thus s ∈ Φe(A).

Therefore R2e+1 is indeed met. 3

This concludes the proof of Proposition 4.7.16.

P 4.8 Separating ≤T and ≤pe in E

We have already observed (see Remark 2 on page 145) that if E ⊆ Σ∗ is p-m- complete for PSPACE or EXP then

P(E) = p-Enum(E) (4.8.1) and that moreover, we can choose such an E in E. On the other hand we noted that if E is either of the sets B or C of Lemma 4.3.19 then

P(E) 6= p-Enum(E) . (4.8.2)

Now, as Ladner et al. pointed out on page 119 of [LLS75], there is no apparent way of tightening the bound enough to ensure that B,C ∈ E. The purpose 194CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY of the present Section is to address this issue with regard to the inequality (4.8.2). Namely we will prove the existence of a set Eb ∈ E such that P(Eb) 6= p-Enum(Eb). Thus we are able to conclude that there exist sets E, Eb ∈ E such that P(E) = p-Enum(E) whereas P(Eb) 6= p-Enum(Eb). Moreover we will observe that we also have the collapse P(E) = NP(E) and the separation P(Eb) 6= NP(Eb).

4 Theorem 4.8.1. There exists a set B ∈ DTIME(2n ) which is np-m-complete for EXP but not p-T-complete for EXP.

Proof. We adapt Buhrman’s proof of the existence of a p-T-complete but not p-tt-complete set for NEXP (see Theorem 3.29 of [Buh93]). We use Buhrman’s notation for the duration of this proof. (See Notation 1,2 and 4 below.)

Notation 1. We assume { Mj | j ≥ 1 } to be a computable enumeration of polynomial time restricted Turing oracle machines such that, for all j ≥ 1, Mj has time restriction nj. For any oracle Turing machine M, Y ⊆ Σ∗ and x ∈ Σ∗, Q(M, x, Y ) denotes the set of queries made by M with oracle Y on input x (written M Y (x)).

Notation 2. We identify string i with its rank, i.e. its place according to the standard length lexicographical ordering (see Notation on page 146). In the construction of the set B below we will be interested in strings of the form hy, ii

2 such that i < 2|y| . For the sake of convenience, and for the duration of this

2 proof, we will suppose (with the help of padding) that, for any y and i < 2|y| ,

|hy, ii| = |y| + |y|2 . (4.8.3)

Notation 3. We use informal pseudocode to describe fragments of programs. Note that we will use the terms query, accept, reject, yes, no, with accept and reject being the return values (states) of a program and yes and no being the return values of the subroutine query.

Remark. The reader should observe the use of t, {tn}n∈ω, {vn}n∈ω as numbers and the use of i (as already mentioned) as a string variable (identified with the number corresponding to its rank). P 4.8. SEPARATING ≤T AND ≤PE IN E 195

We suppose K ∈ E to be a (standard) p-m-complete set for EXP. We will

4 construct B ∈ DTIME(2n ) and W ∈ E such that B will be np-m-complete P for EXP and W T B. B is constructed so as to contain only strings of the form z = hy, ii such

2 that i < 2|y| . According, by (4.8.3), B only contains strings of the form hy, ii such that |hy, ii| = |y| + |y|2. Moreover we will ensure that y ∈ K iff there

2 exists a (unique) string i < 2|y| such that hy, ii ∈ B. At stage n ≥ 1 of the construction we will diagonalise against machine Mn to ensure that Mn does P not witness W ≤T B. This is done by adding or withholding a particular string (0vn as defined below) from W .

Remark. Notice that during this proof we often use nm as shorthand for n · m.

m−1 Thus for example the R.H.S. in (4.8.8) is shorthand for 2m·(b(m−1)) +m.

Notation 4. Define numbers {bm}m≥0 as follows:

b(0) = b(1) = 1 (4.8.4)

m−1 b(m) = 2(b(m−1)) + 1 (4.8.5) for all m ≥ 0. Now note that:

m−1 (b(m))m = ( 2(b(m−1)) + 1 )m (4.8.6)

m−1 < ( 2(b(m−1)) +1 )m (4.8.7)

m−1 = 2m(b(m−1)) +m. (4.8.8)

Now, since the sequence {b(m)}m∈ω increases exponentially, m << b(m−1), and so there exists t∗ such that, for all t ≥ t∗,

t−1 2(t−1) 2t(b(t−1)) +t < 2(b(t−1)) (4.8.9) i.e. such that

2(t−1) (b(t))t < 2(b(t−1)) . (4.8.10)

Accordingly, we define, for all n ≥ 0,

∗ tn : = t + n (4.8.11) 196CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

(and so tn−1 = tn − 1 for all n ≥ 1) and

vn : = b(tn). (4.8.12)

Remark. The set { 0vn | n ≥ 0 } is in P. Also, by definition:

n n tn (vn) = (b(tn)) < (b(tn)) (4.8.13)

Therefore, by Equation 4.8.10, we see that, for all n > 0:

2(tn−1) n (b(tn−1)) (vn) < 2 (4.8.14)

The construction. At each stage n we define initial segments Bn, Wn of B and W such that

|y|2 n Bn ⊆ { hy, ii | i < 2 & |y| ≤ (vn) } and Wn ⊆ { vm | 1 ≤ m ≤ n }. We proceed as follows.

|y|2 0 Stage 0. W0 = ∅ and B0 = { hy, 2 −1i | y ∈ K & |y| < (v0) } ⊆ {hλ, λi}.

n−1 2(n−1) Stage n > 0. At this stage Bn−1 = B  ((vn−1) + (vn−1) + 1) and

Wn−1 = W  (vn−1 + 1). We define B on all strings of the form hy, ii such that 2 i < 2|y| and

n−1 n (vn−1) < |y| ≤ (vn)

Notice that this means that

n−1 2(n−1) n 2n (vn−1) + (vn−1) < |hy, ii| ≤ (vn) + (vn) by definition (see Equation 4.8.3). All other strings in this range are consigned to B. We proceed by steps.

n−1 tn−1 Step 1. For all y such that (vn−1) ≤ |y| < (b(tn−1)) put

1 |y|2 z in Bn iff z = hy, 2 −1i and y ∈ K.

Step 2. Put

1 vn Bn−1∪Bn vn 0 in Wn iff Mn (0 ) = 0 . P 4.8. SEPARATING ≤T AND ≤PE IN E 197

tn−1 n Step 3. For all y such that (b(tn −1)) < |y| ≤ (vn) select the least 2 i < 2|y| such that

vn 1 hy, ii ∈/ Q(Mn, 0 ,Bn−1 ∪ Bn) and put

2 hy, ii in Bn iff y ∈ K

1 2 Step 4. Set Bn := Bn−1 ∪ Bn ∪ Bn.

End of Stage n.

Remark. Step 3 of stage n > 0 is well defined. Indeed we know that

vn 1 n k Q(Mn, 0 ,Bn−1 ∪ Bn) k ≤ (vn) and that, by (4.8.14),

2(tn−1) n (b(tn−1)) (vn) < 2

2 < 2|y| .

2 2 vn 1 |y| |y| So k Q(Mn, 0 ,Bn−1 ∪ Bn) k < 2 . Hence there exists at least one i < 2 2 |y| vn 1 (there are 2 such i) such that hy, ii ∈/ Q(Mn, 0 ,Bn−1 ∪ Bn).

NP Claim 1. K≤m B.

2 Proof. By construction y ∈ K iff there exists i < 2|y| such that hy, ii ∈ B. Moreover, we know that |hy, ii| = |y|+|y|2 for all such strings. Let p(n) = n+n2 and set

2 V = { hy, hy, ii i | i < 2|y| }

NP and observe that V ∈ NP. Then the reduction K ≤m B is witnessed via the m np-m-operator Ψp,V =def { hy, zi : |z| ≤ p(|y|)& hy, zi ∈ V }. 3

P Claim 2. W T B. 198CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

P Proof. Consider the hypothesis that W ≤T B. Then this must be witnessed by some oracle machine Mn such that n ≥ 1. Now note that

1 vn Bn−1∪Bn vn 0 ∈ W iff Mn (0 ) = 0

2 vn 1 by construction at Stage n. Also, Bn ∩ Q(Mn, 0 ,Bn−1 ∪ Bn) = ∅, by definition and so 1 Bn vn Bn−1∪Bn vn Mn (0 ) = Mn (0 )

1 2 since Bn = Bn−1 ∪ Bn ∪ Bn. Also, any hy, ii added to B at a later stage has length n 2n n |hy, ii| > (vn) + (vn) > (vn) and so

B vn Bn vn Mn (0 ) = Mn (0 ) which means that

vn B vn 0 ∈ W iff Mn (0 ) = 0 contradicting the hypothesis. 3

vn P 2m Claim 3. For all n ≥ 1, W (0 ) can be computed in time c · m≤n(vm) for some fixed constant c.

Proof. Using induction on n > 0 we outline a procedure for computing W (0vn ). Note that we can assume the base case n = 1 to be computable in constant time.

Indeed W is obviously computable, so just compute W (0v1 ) in advance and write the result to memory.

B vn (n > 1) Simulate the computation of Mn (0 ) except that query is replaced by a subprocedure that, on input (i.e oracle query) z effects the following two Steps.

2 Step 1. If z = hy, ii for some i < 2|y| go to Step 2. Otherwise return no.

Step 2. There are three cases to consider.

n−1 Case a. If |y| ≤ (vn−1) then firstly compute the relevant m such that P 4.8. SEPARATING ≤T AND ≤PE IN E 199

m−1 m (vm−1) < |y| ≤ (vm) .

tm−1 Subcase a.1 If |y| ≤ (b(tm − 1)) then: 2 ◦ return yes if i = 2|y| − 1 and y ∈ K ◦ return no otherwise.

tm−1 vm Subcase a.2 If |y| > (b(tm − 1)) then compute Q(Mm, 0 ,B) (i.e. com-

vm B vm pute W (0 ) by simulating Mm(0 ) and output the query set). Then 2 ◦ return yes if y ∈ K and i is the least string j < 2|y| such that

vm hy, ji ∈/ Q(Mm, 0 ,B), ◦ return no otherwise.

n−1 tn−1 Case b. If (vn−1) < |y| ≤ (b(tn − 1)) then 2 ◦ return yes if i = 2|y| −1 and y ∈ K ◦ return no otherwise.

tn−1 n 0 Case c. If (b(tn − 1)) < y ≤ (vn) then (since the only hy , ji possibly put

vn into B at stage n of the construction is not in Q(Mn, 0 ,B) ), ◦ return no.

Time analysis. To achieve an upper bound on the time cost of the simulation we assume that, on input 0vn the program that effects the simulation firstly

vm computes Q(Mm, 0 ,B) for all m < n (call this the background computation). Note that this is essentially the same as computing W (0vm ) for all m < n with the additional time cost required in coding the query set (for each input 0vm ) into memory. We therefore assume, by induction that this process requires time

X 2m MemoryTime(n) = c · (vm) m

B vn The progam then goes on to simulate the computation of Mn (0 ) as describe n above. Notice that there are at most (vn) non-query steps in this computation n by definition of Mn. So, bearing in mind that there are also at most (vn) queries to be simulated, we consider the time cost of the simulation of any query z. 200CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

n n • Step 1 can clearly be computed in time O((vn) ) (since |z| ≤ (vn) ). So now suppose that Step 1 passes z = hy, ii to Step 2.

tn−1 • Step 2 Case a and Case b. Since |y| ≤ (b(tn −1)) in both cases, K ∈ DTIME(2n), and

tn−1 (b(tn−1)) 2 < vn

by Equations 4.8.5 and 4.8.12 we know that K(y) can be computed in time n O(vn ). All other steps in Case (a) can be carried out in time O((vn) ) + MemoryTime(n) and all other steps in Case (b) can be carried out in time n O((vn) ).

n • Step 2 Case c. It is obvious that this case can be computed in time O((vn) ).

B vn It follows from the above that the simulation of Mn (0 ) can be carried out in time n n n (vn) + cn · (vn) · (vn) + MemoryTime(n) , (4.8.15) with cn being a fixed constant, since the background computation for which MemoryTime(n) is a time bound need only be carried out once (to be available n for each query call). Note that the first term ((vn) ) in (4.8.15) is the time bound for the computation excluding query simulations, whereas the second two terms n n ( cn · (vn) · (vn) + MemoryTime(n) ) account for the total time needed for the latter (i.e the queries). We know therefore, as a result of (4.8.15), that the

B vn simulation of Mn (0 ) can be computed in time

2n X 2m (cn +1) · (vn) + c · (vm) . (4.8.16) m

Notice however that the constant cn is only dependent on the number of com- parisons (between strings) made at stage n and the encoding used. Hence, as n the number of comparisons is always bounded by (vn) , it is clear that we can ∗ ∗ choose cn to be a fixed constant c (say) and, accordingly we can set c = c + 1 in the definition of MemoryTime(n). We are thus able to surmise that W (0vn ) can be computed in time

2n X 2m X 2m c · (vn) + c · (vm) = c · (vm) . m

Claim 4. W ∈ E.

Proof. Without loss of generality we assume that

n+1 < vn (4.8.17) and

3n < log vn (4.8.18)

Note that, if necessary these two constraints can be taken into account in the ∗ definition of t , tn and vn (see Equations 4.8.11 and 4.8.12). Now, by Claim 3,

vn P 2m W (0 ) can be computed in time c · m≤n(vm) for all n ≥ 1. However

X 2m 2n (vm) < (n+1) · (vn) (4.8.19) m≤n

(for all n ≥ 1) and

2n 3n (n+1) · (vn) < (vn) (4.8.20) by Equation 4.8.17 and

3n log vn (vn) < (vn) (4.8.21) by Equation 4.8.18. However we know that there exists a constant c0 such that for all k > 0,

(k)logk < c0 · 2k. (4.8.22)

Therefore W (0vn ) can be computed in time

X 2m 3n log vn 0 vn c · (vm) < c · (vn) < c · (vn) < c · c · 2 . (4.8.23) m≤n

Also we know that { 0vn | n ≥ 0 } ∈ P and this implies that deciding, for arbitrary z whether z ∈ { 0vn | n ≥ 0 } can (easily) be computed in time c00 · 2|z| for some constant c00. In other words W (z) can be computed in time:

(c · c0 + c00) · 2|z| .

We conclude therefore that W ∈ E. 3 202CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY

4 Claim 5. B ∈ DTIME(2n ).

Proof. To compute B(z) use the following procedure.

2 Step 1. If z = hy, ii for some i < 2|y| then go to Step 2. Otherwise reject.

Step 2. Compute vn (and the tn for which vn = b(tn)) such that:

n−1 n (vn−1) < |y| ≤ (vn) .

There are now 2 cases.

tn−1 Case a. If y ≤ (b(tn−1)) then 2 ◦ accept if i = 2|y| − 1 and y ∈ K ◦ reject otherwise.

tn−1 vn Case b. If y > (b(tn−1)) then compute Q(Mn, 0 ,B) and,

vn ◦ accept if y ∈ K and i is the least j such that hy, ji ∈/ Q(Mn, 0 ,B), ◦ reject otherwise.

Time analysis. Step 1 can be carried out in time linear in input z. So consider Step 2. In both Case a and Case b the computation of K(y) costs time O(2|y|) as K ∈ DTIME(2n). Also notice that, by (4.8.23) (in the proof of Claim

vn logvn 4), W (0 ) can be computed in time O((vn) ) and that this computation

B vn vn involves a full simulation of Mn (0 ). It follows that Q(Mn, 0 ,B) can be

logvn B vn computed in time O((vn) ): just compute Mn (0 ) using an extra string s

vn to encode the contents of Q(Mn, 0 ,B), then output s. Now, bearing in mind (4.8.5) and (4.8.11),

tn−1 (b(tn−1)) vn =def b(tn) =def 2 + 1

(n−1)+t∗ (b(tn−1)) =def 2 + 1

2(n−1) ≤ c · 2(b(tn−1))

2 ≤ c · 2|y| .

2 2 vn |y| |y| for some constant c. Therefore Q(Mn, 0 ,B) can be computed in O((2 ) ) steps. Also all other parts of Step 2 can be computed in time linear in the input

4 |z|. It follows that B(z) can be computed in time O(2|z| ). 3 P 4.8. SEPARATING ≤T AND ≤PE IN E 203

Conclusion of the proof. We have constructed sets B and W such that B is np-m-complete for EXP (Claims 1 and 5), and W witnesses the fact that B is not p-T-complete for EXP (Claims 2 and 4).

Corollary 4.8.2. There exists a set A ∈ E which is np-m-complete but not p-T-complete for both E and EXP.

Proof. Let B and W be the sets constructed in the proof of Theorem 4.8.1 such that B is np-m-complete for EXP and W the witnesses the fact that B is not p-T-complete for EXP. Now define the set

4 A := { x10|x| | x ∈ B }.

P Then A ∈ E and A ≡m B. Therefore A is np-m-complete for E and EXP. P However A is not p-T-complete for either E or EXP since W ∈ E and W T A P (since otherwise W ≤T B).

Proposition 4.8.3. There exist sets C,E ∈ E such that

P(C) = p-Enum(C) = NP(C) (4.8.24) whereas

P(E) 6= p-Enum(E) = NP(E) (4.8.25)

Proof. For (4.8.24) we can choose C to be a p-m-complete set for either PSPACE or EXP (see Remark 2 on page 145). For (4.8.25), let E be the set A de- NP fined in Corollary 4.8.2. Define NPm(E) = {X | X ≤m E}. Then obvi- ously NPm(E) ⊆ p-Enum(E) ⊆ NP(E). However it is also the case that NP(E) ⊆ NPm(E) since E is np-m-complete for EXP (and the latter is NP closed under ≤T ). Thus (4.8.25) follows by Corollary 4.8.2. 204CHAPTER 4. POLYNOMIAL TIME ENUMERATION REDUCIBILITY Appendix A

Additional Proofs and Results

A.1 Proofs in Lambda

We present below proofs of results stated in Section 2.6.

Theorem (Re: 2.6.15). For all k ≥ 1 and any function F : Pωk → Pω, F is continuous iff it is GLambda definable.

k Proof. (⇒). Suppose that F : Pω → Pω is continuous and let G = graphk(F ) and let G be shorthand for the constant representing G (i.e. η(G) = G ). Then the equation

F (X0,X1,...,Xk−1) = [[(G) x0 x1 . . . xk−1 ]]hη(xi)=Xi | i

(⇐) The functions determined by variables and the basic combinators of Defi-

205 206 APPENDIX A. ADDITIONAL PROOFS AND RESULTS nition 2.6.7, i.e.

i(X) = [[ x ]]hη(x)=Xi

s(X) = [[ x+1 ]]hη(x)=Xi =def { n+1 | n ∈ X }

p(X) = [[ x−1 ]]hη(x)=Xi etc...

c(X0,X1,X1) = [[ x0 ⊃ x1, x2 ]]hη(xi)=Xi | i<3}i

are clearly continuous in X,Y,Z. Also the function

app(X0,X1) = [[(x0)x1 ]]hη(xi)=Xi | i<2i

is continuous in X0,X1. So suppose that u and v are terms such that FV (u) ∪

FV (v) ⊆ {x0, . . . , xn−1} and define

h(X0,...,Xn−1) = [[(u)v ]]hη(xi)=Xi | i

= app([[ u ]]hη(xi)=Xi | i

Then, by Lemma 2.6.5 (the substitution Lemma), if u and v define continuous functions in X0,...,Xn−1 then the function h above defined by (u)v is also continuous in X0,...,Xn−1.

Now suppose that u defines a continuous function in k+1 variables. Then if we define g such that

g(X1,...,Xk) := [[ λx.u[x, x1, . . . , xk] ]]hη(xi)=Xi | 1≤i≤ki A.1. PROOFS IN LAMBDA 207 then

g(X1,...,Xk) = { hn, mi | n ∈ [[ u[Dm, x1, . . . , xk] ]]hη(xi)=Xi | 1≤i≤ki }

= { hn, mi | ∃Dm1 ⊆ X1,..., ∃Dmk ⊆ Xk

s.t. n ∈ [[ u[Dm, Dm1 ,..., Dmk ] ]] } [ = { hn, mi | n ∈ [[ u[Dm, Dm1 ,..., Dmk ] ]] }

Dmi ⊆Xi 1≤i≤k [ = [[ λx.u[x, Dm1 ,..., Dmk ] ]]

Dmi ⊆Xi 1≤i≤k [ = g(Dm1 ,...,Dmk )

Dmi ⊆Xi 1≤i≤k In other words λ-abstraction preserves continuity. So the result follows by in- duction on the structure of GLambda terms.

Theorem (Re: 2.6.18). For all closed GLambda terms u, v, λx.t, λx.w:

(a) u 'αβ v implies [[ u ]] = [[ v ]]. (b) (The ξ rule) [[ λx.t ]] = [[ λx.w ]] iff for all A ⊆ ω, [[ t[A/x] ]] = [[ w[A/x] ]].

Proof. (a) Let u and v be any closed GLambda terms. Our argument proceeds in three parts.

1) Transformations. We firstly show that

u *αβ v ⇒ [[ u ]] = [[ v ]] (A.1.1)

• The case u *α v is obvious by the semantics abstraction (see (2.6.11) in Definition 2.6.12 ).

• So suppose that u *β v, i.e. that

u = (λx.t)w and v = t[w/x] (A.1.2) for closed GLambda terms λx.t and w. Note firstly that

[[ u ]] = { n | ∃m ( hn, mi ∈ [[ λx.t ]] & Dm ⊆ [[ w ]] ) } (A.1.3)

= { n | ∃m ( n ∈ [[ t[Dm/x] ]] & Dm ⊆ [[ w ]] ) } (A.1.4) 208 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

There are now two cases.

Case (1) x∈ / FV (t). Then [[ u ]] = [[ t ]] = [[ v ]].

Case (2) x ∈ FV (t) (i.e. {x} = FV (t)). The proof proceeds by induction on the structure of t.

Subcase (a) t = x, then

[[ u ]] = { n | ∃m( n ∈ Dm & Dm ⊆ [[ w ]]) }

= [[ w ]]

= [[ v ]]

Subcase (b) t is a term generated from the combinators + − and ⊃ and terms s, v, v0 (say), having at most one free variable (x). In other words t is

s+1 s−1 s ⊃ v, v0

Then, for example, if t = s ⊃ v, v0 then:

0 [[ u ]] = { n | ∃m( n ∈ [[ s[Dm/x] ⊃ v[Dm/x], v [Dm/x] ]] & Dm ⊆ [[ w ]]) } (A.1.5)

= { n | ∃m( n ∈ [[ s[w/x] ⊃ v[w/x], v0[w/x] ]]) } (A.1.6)

= [[ v ]] (A.1.7) since A.1.5 ⇔ A.1.6 follows by continuity of the functions induced by s[x], v[x], v0[x] and x0 ⊃ y0, z0 and Lemma 2.6.5 (⇒ by monotonicity and ⇐ by compactness).

Subcase (c) t = (t1)t2, then

[[ u ]] = { n | ∃m( n ∈ [[(t1)t2[Dm/x] ]] & Dm ⊆ [[ w ]]) }

0 0 = { n | ∃m∃m ( hn, m i ∈ [[ t1[Dm/x] ]] & Dm0 ⊆ [[ t2[Dm/x] ]] & Dm ⊆ [[ w ]]) } whereas

[[ v ]] = [[(t1)t2[w/x] ]]

0 0 = { n | ∃m ( hn, m i ∈ [[ t1[w/x] ]] & Dm0 ⊆ [[ t2[w/x] ]]) } A.1. PROOFS IN LAMBDA 209

Thus, since F1(X) = [[ t1[x] ]]hη(x)=Xi, F2(X) = [[ t2[x] ]]hη(x)=Xi are both contin- uous in X

[[ u ]] ⊆ [[ v ]] by monotonicity (of F1 and F2 in X)

[[ v ]] ⊆ [[ u ]] by compactness (of F1 and F2 in X)

Subcase (d) t = λy.t0 then,

0 0 [[ u ]] = { n | ∃m∃m ( n ∈ [[ t [Dm/x, Dm0 /y] ]] & Dm ⊆ [[ w ]]) } and

0 [[ v ]] = { n | ∃m( n ∈ [[ t [w/x, Dm0 /y] ]]) }

0 0 Hence, as F (X,Y ) = [[ t [x, y] ]]hη(w)=W | w∈{x,y}i is continuous in X then, as in Subcase (c), [[ u ]] ⊆ [[ v ]] by monotonicity and [[ v ]] ⊆ [[ u ]] by compactness.

2) Reductions. We now need to show that

u →αβ v ⇒ [[ u ]] = [[ v ]] . (A.1.8)

Note that we cannot perform the obvious straightforward induction over terms since a reduction between closed terms u and v might be induced by a transfor- mation between open subterms u0 and v0. However, we know that v = u[v0/u0], i.e. u is only different from v locally at subterm u0 (such that u0 * v0). Thus we only need to show—by semantically unwrapping u and v, performing a reduc- tion between the closed terms that u0 and v0 become (due to this unwrapping) and then rewrapping the terms—that interpretations of the two terms is the same. To see what we mean, consider the following example. Suppose that

λw.λx. (λz.(x)z)w →β λw.λx. (x)w , in other words due to the transformation,

(λz.(x)z)w *β (x)w . 210 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

Then semantically,

[[ λw.λx. (λz.(x)z)w ]] = { hn, pi | n ∈ [[ λx. (λz.(x)z)Dp ]] } (A.1.9)

= { hhn, mi, pi | n ∈ [[ (λz.(Dm)z)Dp ]] } (A.1.10)

= { hhn, mi, pi | n ∈ [[ (Dm)Dp ]] } (A.1.11)

= { hn, pi | n ∈ [[ λx. (x)Dp ]] } (A.1.12)

= [[ λw.λx.(x)w ]] } (A.1.13) where (A.1.9)-(A.1.10) is the unwrapping, (A.1.10)-(A.1.11) is a transformation of closed subterms, and (A.1.11)-(A.1.13) is the rewrapping. It is obvious that the above argument holds for all instances of αβ-reductions— and indeed we can prove (A.1.8) by induction (via the above argument) over the structure of GLambda terms.

3) The general case We now suppose that u 'αβ v and u 6= v. Then there exists n > 0 and (closed) GLambda terms u0, . . . , un such that ui →αβ ui+1 or ui+1 →αβ ui for all 0 ≤ i < n, and u0 = u and un = v. We reason by induction: Case (n = 1) Follows by Equation A.1.8.

Case (n > 1) Then [[ u0 ]] = [[ un−1 ]] by inductive hypothesis and [[ un−1 ]] = [[ un ]] follows by Equation A.1.8.

(b) (The ξ rule) Suppose that u, v are closed GLambda terms such that u = λx.u0 and v = λx.v0 and [[ u ]] = [[ v ]]. Let A ⊆ ω be any set. Then

[[(u)A ]] = { n | ∃m( hn, mi ∈ [[ u ]] & Dm ⊆ A ) }

= { n | ∃m( hn, mi ∈ [[ v ]] & Dm ⊆ A ) }

= [[(v)A ]]

Also, by Part (a), [[ u0[A/x] ]] = [[(u)A ]] and [[ v0[A/x] ]] = [[(v)A ]].

Now suppose that, for all A ⊆ ω, [[ u0[A/x] ]] = [[ v0[A/x] ]]. Then

0 0 [[ λx.u ]] = { hn, mi | n ∈ [[ u [Dm/x] }

0 = { hn, mi | n ∈ [[ v [Dm/x] }

= [[ λx.v0 ]] A.1. PROOFS IN LAMBDA 211

Notation. For any set A ⊆ ω and n ∈ ω we use A+n to denote { m+n | m ∈ A } and A+n as shorthand for (suc)nA. Also to avoid confusion with the notation for application, we write A+n+m instead of (A+n)+m.

Note (Re: 2.6.27 (d)). ∩ is Lambda definable.

Proof. On page 50 we defined

intersect0 := (Y) λs.λz.λx.λy. x ⊃ [y ⊃ z, ⊥], (s) z+1 x−1 y−1

Thus [[ intersect0 ]] is the (graph of the) least fixed point of the function

0 0 F∩ : X 7→ [[ λz.λx.λy. x ⊃ [y ⊃ z, ⊥], (x ) z+1 x−1 y−1 ]]hη(x0)=X0i

Now suppose that S is any fixed point of this function. In other words,

S = [[ λz.λx.λy. x ⊃ [y ⊃ z, ⊥], (S) z+1 x−1 y−1 ]]. (A.1.14)

Claim 1. For all A, B, C ⊆ ω,

[ {C + n | n ∈ A ∩ B } ⊆ [[(S) CAB ]]

Proof. Let A, B, C be any subsets of ω. We proceed by induction on n.

Case (n = 0) Suppose that 0 ∈ A ∩ B. Then

C ⊆ [[ A ⊃ [B ⊃ C, ⊥],... ]].

Therefore,

C + 0 = C

⊆ [[(S) CAB ]]

Case (n + 1) By the Induction Hypothesis we suppose that, for all A0,B0,C0 ⊆ ω, n ∈ A0 ∩ B0 ⇒ C + n ⊆ [[(S) C0 A0 B0 ]]

Now, by definition,

n + 1 ∈ A ∩ B ⇔ n ∈ A − 1 ∩ B − 1 212 APPENDIX A. ADDITIONAL PROOFS AND RESULTS and, by the Induction Hypothesis,

(C + 1) + n ⊆ [[(S) C+1 A−1 B−1 ]]

⊆ [[(S) CAB ]] (A.1.15)

Note that A.1.15 holds because

[[(S) CAB ]] = [[ A ⊃ [B ⊃ C, ⊥], (S) C+1 A−1 B−1 ]]

It follows that

n + 1 ∈ A ∩ B ⇒ C + (n + 1) ⊆ [[(S) CAB ]] since C + (n + 1) = (C + 1) + n. 3

The function [ (X,Y,Z) 7→ { Z + n | n ∈ X ∩ Y } is continuous in X,Y,Z and so there exists a GLambda term

h := λz.λx.λy. S { z + n | n ∈ x ∩ y } which defines it (where S { z +n | n ∈ x∩y } is shorthand for the corresponding subterm with obvious meaning).

Claim 2. [[ h ]] is the least fixed point of F∩.

Proof. By Claim 1 we know that [[ h ]] ⊆ S for any fixed point of F∩. It suffices therefore to show that [[ h ]] is itself a fixed point of F∩. Indeed,

[[(h) CAB ]] = { C + 0 | 0 ∈ A ∩ B } ∪ { C + (n + 1) | n + 1 ∈ A ∩ B }

= { C + 0 | 0 ∈ A ∩ B } ∪ { (C + 1) + n | n ∈ (A − 1) ∩ (B − 1) }

= [[ A ⊃ [B ⊃ C, ⊥], (h) C+1 A−1 B−1 ]]

3 A.1. PROOFS IN LAMBDA 213

Therefore [[ intersect0 ]] = [[ h ]]. It follows, by definition of h, that

[[(intersect0)0 ]] = [[ λx.λy. S { 0 + n | n ∈ x ∩ y } ]]

= [[ λx.λy. { n | n ∈ x ∩ y } ]]

0 and so intersect =def (intersect )0 Lambda defines ∩.

Reminder (Definition 2.6.28). The closed Lambda terms seq0 and seq are defined by the equations

seq0 = (Y) λs.λw.λu.λz. z ⊃ (u)w, (s) w+1 u z−1

seq = (seq0) 0

Note A.1.1. For any closed GLambda term u, the function

[ X 7→ { [[(u)n ]] | n ∈ X } [ =def { Φ[[u]]({n}) | n ∈ X } is continuous in X and therefore GLambda definable. We use

λx. S { (u)n | n ∈ x } as shorthand for the term that defines its graph.

Lemma (Re: 2.6.29). For any closed GLambda term u

[[(seq)u ]] = [[ λx.S{ (u)n | n ∈ x } ]] where S{ (u)n | n ∈ x } is shorthand for the term having obvious meaning (with n ranging over ω).

Remark. See the Reminder and Note A.1.1 before embarking on the proof.

Proof. The function

[ (W, U, Z) 7→ { [[(U) W+n ]] | n ∈ Z } [ =def { ΦU (W+n) | n ∈ Z } 214 APPENDIX A. ADDITIONAL PROOFS AND RESULTS is continuous in X,Y,Z and so is definable in GLambda. We use

seq00 := λw.λu.λz. S { (u) w+n | n ∈ z } to denote the term (using shorthand as per usual on the RHS) whose denotation is the graph of this function.

Claim 1. [[ seq0 ]] ⊆ [[ seq00 ]].

Proof. It suffices to show that [[ seq00 ]] is a fixed point of the function

Fseq : X 7→ [[ λw.λu.λz. z ⊃ (u)w, (x) w+1 u z−1 ]]hη(x)=Xi since [[ seq0 ]] is the least fixed point of this function. Indeed

[[ seq00 ]] = [[ λw.λu.λz. { (u) w | 0 ∈ z } SS{ (u) w+n+1 | n+1 ∈ z } ]]

= [[ λw.λu.λz. z ⊃ (u)w, S{ (u) w+1+n | n ∈ z−1 } ]]

= [[ λw.λu.λz. z ⊃ (u)w, (seq00) w+1 u z−1 ]]

3

Claim 2. [[ seq00 ]] ⊆ [[ seq0 ]].

Proof. Let S be any fixed point of Fseq and let A, B, C be any subsets of ω. We show by induction on n that

n ∈ C ⇒ [[(A) B+n ]] ⊆ [[(S) BAC ]].

Case (n = 0) It is obvious that

0 ∈ C ⇒ [[(A) B+0 ]] ⊆ [[(S) BAC ]]. since [[(S) BAC ]] = [[ C ⊃ (A)B, (S) B+1 AC−1 ]] and B + 0 = B.

Case (n + 1) We suppose as induction hypothesis that, for all A0,B0,C0 ⊆ ω,

n ∈ C0 ⇒ [[(A0) B0+n ]] ⊆ [[(S) B0 A0 C0 ]].

Now, n+1 ∈ C iff n ∈ C−1 and so, by the indution hypothesis,

[[(A) B+1+n ]] ⊆ [[(S) B+1 AC−1 ]] A.2. STRONG DEFINABILITY IN LAMBDA 215 which (using the obvious fact that (B + n) + 1 = (B + 1) + n) means that

[[(A) B+n+1 ]] ⊆ [[ C ⊃ (A)B, (S) B+1 AC−1 ]].

= [[(S) BAC ]].

00 0 Since S is any fixed point of Fseq we conclude that [[ seq ]] ⊆ [[ seq ]]. 3

0 00 0 Claims 1-2 show that [[ seq ]] = [[ seq ]]. Also seq =def (seq )0 and so

[[ seq ]] = [[ λu.λz. S { (u)n | n ∈ z } ]].

A.2 Strong Definability in Lambda

We prove below that the partial computable functions are strongly definable in Lambda (in the sense of Definition 2.6.34). Firstly however we remind the reader of some basic definitions.

Definition A.2.1 (Composition). Suppose that f1, . . . , fk are partial functions from ωn into ω and g a partial function from ωk into ω for some n, k ≥ 1. Then the partial function h from ωn into ω is said to be obtained by composition from f1, . . . , fk and g if

h(m1, . . . , mn) ' g( f1(m1, . . . , mn), . . . , fk(m1, . . . , mn))

if f1(m1, . . . , mn), . . . , fk(m1, . . . , mn) are all defined, and

h(m1, . . . , mn) ↑ otherwise

Definition A.2.2 (The µ operator). Assume that k ≥ 1 and let h be any partial computable function from ωk into ω for some k ∈ ω. Then the notation

g(n1, . . . , nk) = µn{ h(n1, . . . , nk, n) = 0 } (A.2.1) 216 APPENDIX A. ADDITIONAL PROOFS AND RESULTS designates the partial function g such that

  p if h(n , . . . , n , p) = 0  1 k    and h(n1, . . . , nk, m) ↓= 6 0 for all m < p g(n1, . . . , nk) =      ↑ otherwise.

We defined partial computable functions in terms of Turing machines in Section 2.2. (on page 14). The following is a reminder of the standard basic definition of the latter.

Definition A.2.3 (Partial computable functions). The class of partial com- putable functions is defined to be the least class C of partial functions with arguments in ω and values in ω, closed under composition and the µ operator and containing the constant function x 7→ 0, the successor function, addition, multiplication, the characteristic function of the relation n ≤ m and the projec- k k tions Pn defined by Pn (x1, . . . , xn) = xk (for 1 ≤ k ≤ n).

Proposition (Re: 2.6.43). Any partial computable function from ωk into ω (for any k ≥ 1) is strongly Lambda definable.

Proof. We consider in turn, the base functions, closure under composition and closure under the µ operator (see above for the basic definitions of the latter).

The base functions. Strong Lambda terms for each of the base functions are A.2. STRONG DEFINABILITY IN LAMBDA 217 given below.

zero := λn ∈ ω. 0

succ := λn ∈ ω. (suc)n

add := (Y) λs.λm ∈ ω.λn ∈ ω. n ⊃ m, (s)(suc)m (pred)n

multiply := λm ∈ ω.λn ∈ ω. (mult) m m n . . . in which. . .

mult := (Y) λs.λp ∈ ω.λm ∈ ω.λn ∈ ω.

n ⊃ n, [(pred)n ⊃ m, (s)(add)pm m (pred)n ]

lessThan := (Y) λs.λm ∈ ω.λn ∈ ω.

m ⊃ (suc)0, [ n ⊃ 0, (s)(pred)m (pred)n ]

k projn := λm1 ∈ ω . . . λmn ∈ ω. mk

n Closure under composition. Let f1, . . . , fk be partial functions from ω into ω and g a partial function from ωk into ω such that, for each 1 ≤ i ≤ k, strong 0 Lambda term ui := λm1 ∈ ω . . . λmn ∈ ω.ui defines fi and strong Lambda 0 term v := λm1 ∈ ω . . . λmk ∈ ω.v defines g.

Claim 3. The partial function

h(m1, . . . , mn) := g( f1(m1, . . . , mn), . . . , fk(m1, . . . , mn)) is strongly Lambda definable via the term

t := λm1 ∈ ω . . . λmn ∈ ω. (v)(u1)m1 . . . mn ... (uk)m1 . . . mn

Proof. Pick any m1 . . . mn ∈ ω.

Case (a) fi(m1, . . . , mn)↑ for some 1 ≤ i ≤ k. Then [[(ui) m1 ... mn ]] = ∅

(since ui strongly defines fi) and so [[(t) m1 ... mn ]] = ∅ by Lemma 2.6.41 (c) and Note 2.6.42.

Case (b) fi(m1, . . . , mn)↓ = pi for all 1 ≤ i ≤ k. Then there are two sub- cases. 218 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

Subcase (1) g(p1, . . . , pk)↑ and so [[(v) p1 ... pk ]] = ∅ (since v strongly de-

fines g), and this means that [[(t) m1 ... mn ]] = ∅ by definition.

Subcase (2) g(p1, . . . , pk)↓ = p and so [[(v) p1 ... pk ]] = p which means that

[[(t) m1 ... mn ]] = p by definition. 3

0 Closure under the µ operator. Start by defining the term leastk for any k ≥ 0. . .

0 leastk = (Y) λw.λn ∈ ω.λu.λn1 ∈ ω . . . λnk ∈ ω.

(u) n1 . . . nk n ⊃ n, (w)(succ)n u n1 . . . nk . (A.2.2)

Then, by definition, for any closed Lambda term u,

0 [[(leastk) m u n1 ... nk ]] =

{ m + n | n ∈ ω & 0 ∈ [[(u) n1 ... nk m+n ]]

& ∀p < n.∃q( q+1 ∈ [[(u) n1 ... nk m+p ]]) } (A.2.3)

See Note A.2.4, Lemma A.2.5 and Corollary A.2.6 below for the proof of this. Also note that, in consequence, for all n ≥ 0

0 n∈ / [[(leastk) n+1 u n1 ... nk ]] (A.2.4)

Now define, for all k ≥ 0:

0 leastk := (leastk) 0 (A.2.5)

Suppose that h is a partial function from ωk+1 into ω that is strongly Lambda 0 defined by the term v := λm1 ∈ ω . . . λmk ∈ ω.v and that the partial function g from ωk into ω is defined by

g(m1, . . . , mk) = µn{ h(m1, . . . , mk, n) = 0 } . (A.2.6)

Claim 4. g is strongly Lambda definable by the term

t := (leastk)v A.2. STRONG DEFINABILITY IN LAMBDA 219

Proof. Pick any m1, . . . , mk ∈ ω. There are two cases to consider.

Case (a) g(m1, . . . , mk)↓ = p. This means that h(m1, . . . , mk, m)↓ 6= 0 for all m < p and h(m1, . . . , mk, p)↓ = 0. Thus, as v strongly defines h, we have, by Equations A.2.3-A.2.5,

0 [[(t) m1 ... mk ]] = [[(v) m1 ... mk 0 ⊃ 0, (leastk) 1 v m1 ... mk ]]

0 = [[(v) m1 ... mk 1 ⊃ 1, (leastk) 2 v m1 ... mk ]]

0 ... = [[(v) m1 ... mk p ⊃ p, (leastk)(succ)p v m1 ... mk ]] = [[ p ]]

= p

Case (b) g(m1, . . . , mk)↑. Then there are two subcases to consider.

Subcase (1) h(m1, . . . , mk, n) ↓= 6 0 for all m < p whereas h(m1, . . . , mk, n) ↑. In this case, since v strongly defines h, it follows that

0 [[(t) m1 ... mk ]] = [[(v) m1 ... mk 0 ⊃ 0, (leastk) 1 v m1 ... mk ]]

0 ... = [[(v) m1 ... mk p−1 ⊃ p−1, (leastk) p v m1 ... mk ]]

0 = [[(v) m1 ... mk p ⊃ p, (leastk)(succ)p v m1 ... mk ]] = ∅

by Lemma 2.6.41 (b), and the fact that [[(v) m1 ... mk p ]] = ∅ (as v strongly defines h).

Subcase (1) h(m1, . . . , mk, m) ↓ 6= 0 for all m ∈ ω. In this case, it follows that, for any n ∈ ω,

0 [[(t) m1 ... mk ]] = [[(v) m1 ... mk 0 ⊃ 0, (leastk) 1 v m1 ... mk ]]

... = [[(v) m1 ... mk (succ)n ⊃

0 2 (succ)n, (leastk)(succ) n v m1 ... mk ]]

0 = [[(leastk)(succ)n v m1 ... mk ]] ⊆ { m | m ≥ n+1 } 220 APPENDIX A. ADDITIONAL PROOFS AND RESULTS by Equation A.2.3. In other words, for any n ∈ ω,

n∈ / [[(t) m1 ... mk ]] and so

[[(t) m1 ... mk ]] = ∅ .

3

Reminder (Equation A.2.2 on page 218).

0 leastk = (Y) λw.λn ∈ ω.λu.λn1 ∈ ω . . . λnk ∈ ω.

(u) n1 . . . nk n ⊃ n, (w)(succ)n u n1 . . . nk .

Note A.2.4. For any k ≥ 1 the function

Hk :(X,Y,Z1,...,Zk) 7→

{ m + n | n ≥ 0 & m ∈ X  & ∃n1 ∈ Z1 ... ∃nk ∈ Zk 0 ∈ [[(y) n1 ... nk m+n ]]hη(y)=Y i   & ∀p < n.∃q q+1 ∈ [[(y) n1 ... nk m+p ]]hη(y)=Y i } is continuous in X,Y,Z1,...,Zk (and distributive in X,Z1,...,Zk). We know therefore that there exists a GLambda term

00 leastk := λx.λy.λz1 . . .λzk. { m + n | n ≥ 0 & m ∈ x  & ∃n1 ∈ z1 ... ∃nk ∈ zk 0 ∈ (y) n1 ... nk m+n   & ∀p < n.∃q q+1 ∈ (y) n1 ... nk m+p }

00 (using shorthand with obvious meaning) such that leastk defines Hk.

Lemma A.2.5. For all k ≥ 1,

0 00 [[ leastk ]] = [[ leastk ]] A.2. STRONG DEFINABILITY IN LAMBDA 221

Proof. We will prove the case k = 1. The case k > 1 is proved in precisely the 0 00 0 00 same manner. We use the abbreviation least and least for least1 and least1 respectively. Accordingly:

least0 = (Y) λw.λm ∈ ω.λy.λn ∈ ω. (y) n m ⊃ n, (w)(succ)m y n

and,

least00 :=

λx.λy.λz. { m + n | n ≥ 0 & m ∈ x  & ∃n0 ∈ z 0 ∈ (y) n0 m+n  & ∀p < n.∃q q+1 ∈ (y) n0 m+p  }

and we need to prove that [[ least0 ]] = [[ least00 ]].

Claim 1. [[ least0 ]] ⊆ [[ least00 ]]

Proof. It suffices to show that [[ least00 ]] is a fixed point of the equation

Fleast : W 7→ [[ λm ∈ ω.λy.λn ∈ ω. (y) n m ⊃ n, (w)(succ)m y n ]]hη(w)=W i 222 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

Let A, B, C be any subsets of ω. Then

[[(least00) ABC ]]

= { m | m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]]  }

S { m+(n+1) | n ≥ 0 & m ∈ A  & ∃n0 ∈ C 0 ∈ [[(B) n0 m+(n+1) ]]  & ∀p < n+1.∃q. q+1 ∈ [[(B) n0 m+p ]]  }

(A.2.7)

= { m | m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]]  }

S { (m+1)+n | n ≥ 0 & m ∈ A  & ∃n0 ∈ C 0 ∈ [[(B) n0 (m+1)+n ]]

& ∀p < n.∃q. q+1 ∈ [[(B) n0 (m+1)+p ]]   & ∃q0. q0 +1 ∈ [[(B) n0 m ]]  } (A.2.8)

= S { [[(B) n0 m ⊃ m, (least00)(succ)m B n0 ]] | m ∈ A & n0 ∈ C } (A.2.9)

= [[ λm ∈ ω.λy.λn0 ∈ ω. (y) n0 m, (least00) m y n0  ABC ]]. (A.2.10)

00 0 00 Therefore [[ least ]] is a fixed point of Fleast and so [[ least ]] ⊆ [[ least ]].

Remark. The equivalence of parts A.2.8 and A.2.9 in the equation above is easily deduced from the semantics of “⊃”. In effect,

[[(B) n0 m ⊃ m, (least00)(succ)m B n0 ]]  0 ∅ if [[(B) n m ]] = ∅   m if [[(B) n0 m ]] = 0    00 0 0  [[(least )(succ)m B n ]] if ∃q q+1 ∈ [[(B) n m ]] =  & 0 ∈/ [[(B) n0 m ]]    00 0 0  m ∪ [[(least )(succ)m B n ]] if ∃q q+1 ∈ [[(B) n m ]]    & 0 ∈ [[(B) n0 m ]] A.2. STRONG DEFINABILITY IN LAMBDA 223

3

Claim. [[ least00 ]] ⊆ [[ least0 ]]

Proof. Let S be any fixed point of Fleast. We show by induction that, for all n ∈ ω and for all A, B, C ⊆ ω,

  m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m+n ]] & ∀p < n.∃q q+1 ∈ [[(B) n0 m+p ]]  (A.2.11) implies that m+n ∈ [[(S) ABC ]]. (A.2.12)

Case (n = 0) Let A, B, C be any subsets of ω and suppose that

  m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]] (A.2.13) then, m ∈ [[(S) ABC ]] (A.2.14) since

[[(S) ABC ]] =

{ m | m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]]  } S

S{ [[(S)(succ)m B n0 ]] | m ∈ A & n0 ∈ C & ∃q q+1 ∈ [[(B) n0 m ]]  } (A.2.15) and the implication from statement A.2.11 to statement A.2.12 above (for n = 0)is precisely the fact that

{ m | m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]]  } ⊆ [[(S) ABC ]] as shown by Equation A.2.15.

Case (n + 1) We suppose as induction hypothesis that, for all A0,B0,C0 ⊆ ω and m ∈ ω, if

  m ∈ A0 & ∃n0 ∈ C0 0 ∈ [[(B0) n0 m+n ]] & ∀p < n.∃q q+1 ∈ [[(B0) n0 m+p ]]  (A.2.16) 224 APPENDIX A. ADDITIONAL PROOFS AND RESULTS then m+n ∈ [[(S) A0 B0 C0 ]]. (A.2.17)

Again we suppose that A, B, C are any subsets of ω and, to proceed, we suppose that   m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m+(n+1) ]] & ∀p < n+1.∃q q+1 ∈ [[(B) n0 m+p ]]  . (A.2.18) Now we have already seen (in Equation A.2.15) that

[[(S) ABC ]] =

{ m | m ∈ A & ∃n0 ∈ C 0 ∈ [[(B) n0 m ]]  } S

S{ [[(S)(succ)m B n0 ]] | m ∈ A & n0 ∈ C & ∃q q+1 ∈ [[(B) n0 m ]]  }. (A.2.19)

Also, under the assumption that m ∈ A, statement A.2.18 is equivalent to  ∃n0 ∈ C 0 ∈ [[(B) n0 (m+1)+n ]] & ∀p < n.∃q q+1 ∈ [[(B) n0 m+p ]]   & ∃q0 q0 +1 ∈ [[(B) n0 m ]]  . (A.2.20)

If we now write Equation A.2.20 as ∃n0 ∈ C ( Ct(1) & Ct(2) & Ct(3) ) and suppose n0 ∈ C fixed then, by the induction hypothesis (for sets m+1, B and C), the conjunction Ct(1) & Ct(2) implies that

(m+1)+n ∈ [[(S (succ)m BC ]] (A.2.21) whereas Ct(3) in combination with Equation A.2.19, implies that

[[(S)(succ)m B n0 ]] ⊆ [[(S) ABC ]]. (A.2.22)

However the conjunction of Equations A.2.21 and A.2.22 (and commutativ- ity/associativity of addition over ω) obviously implies that

m+(n+1) ∈ [[(S) ABC ]].

We can therefore conclude, that for any fixed point S of Fleast and A, B, C ⊆ ω,

[[(least00) ABC ]] ⊆ [[(S) ABC ]]. A.3. COMPLETE SETS, JUMPS AND LAMBDA 225

This in turn implies that

[[ least00 ]] ⊆ [[ least0 ]]

3

Corollary A.2.6. For any closed Lambda term u,

0 [[(leastk) m u n1 ... nk ]] =

{ m + n | n ≥ 0 & 0 ∈ [[(u) n1 ... nk m+n ]]

& ∀p < n.∃q( q+1 ∈ [[(u) n1 ... nk m+p ]]) } (A.2.23)

Proof. Immediate by the equivalence

[[ least0 ]] = [[ least00 ]] proved in Lemma A.2.5 and the definition of least00 in Note A.2.4.

A.3 Complete sets, jumps and Lambda

For a given reducibility R, an R-complete set for a class A characterises the maximal complexity of the class relative to R. An R-jump on the other hand, is a uniformly defined operator that maps any set to a set of strictly greater complexity relative to R. We present below a way of defining complete sets and jumps for enumeration reducibility using the language GLambda. We hope, in so doing, to give a further indication of the way that the λ-calculus can be applied (via GLambda) with regard to enumeration reducibility and also how proofs formulated in this context bring to the fore the uniformity of the (s-m-n type) constructions involved.

Definition A.3.1. For any closed GLambda term u define

valu := (Y) λs.λn ∈ ω. n ⊃ Gu, ((s)(fst) n−1 ) (s)(snd) n−1 . 226 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

(where n−1 is shorthand for pred n) and note that this means that:

[[ valu ]] = [[ λn ∈ ω. n ⊃ Gu, ((valu)(fst) n−1 ) (valu)(snd) n−1 ]]

Note A.3.2. (Reminder.) G is shorthand for G0 defined (see Definition 2.6.46) so that:

G0 := (cond) hhhsuc, pred, cond, K, S, 0iii 0 whereas

Gu := (cond) hhhsuc, pred, cond, K, S, uiii 0

Lemma A.3.3. For any closed GLambda term u the combinators valu and apply (from Definition A.3.1 and Theorem 2.6.48 respectively) satisfy:

[[(valu) 0 ]] = [[ Gu ]]

[[(valu)(apply) n m ]] = [[( (valu) n )(valu) m ]].

Thus, by Theorem 2.6.53, for any set A ⊆ ω, it follows that valA enumerates all sets Lambda definable in A in the following sense:

↓ Dege(A) = { [[(valA) n ]] | n ∈ ω }.

Proof. Use the same argument as in the proof of Theorem 2.6.48.

Note A.3.4. By Lemma 2.6.49 we also know that, for any set A:

↓ Dege(A) = { [[(val) n A ]] | n ∈ ω } (A.3.1)

Note that the enumerations of Lemma A.3.3 and equation A.3.1 above reflect the two different ways of considering a degree: the first as a subalgebra of Pω and the second as a class generated under the relation ≤e . Notice also that, from the first (subalgebra) point of view1,

Ce = { [[(val0) n ]] | n ∈ ω } =def { [[(val) n ]] | n ∈ ω } .

1Of course 0 can be replaced by any closed Lambda term and in particular >. A.3. COMPLETE SETS, JUMPS AND LAMBDA 227

From the second (≤e ) point of view however, Ce = { [[(val) n > ]] | n ∈ ω }. For completeness of presentation, both perspectives are taken into account in the work below.

Reminder. (t) u v is shorthand for ((t) u) v.

Definition A.3.5. For any set A define:

CA := { hn, mi | n ∈ [[(val) m A ]] } and

∗ CA := { hn, mi | n ∈ [[(valA) m ]] }

∗ ↓ Lemma A.3.6. For any set A both CA and CA are 1-complete for Dege(A).

∗ Proof. We prove the case CA. The case CA is similar.

↓ • Suppose that B is any set in Dege(A). Then B = [[(val) m A ]] for some (fixed) m ∈ ω. Thus, for all n ∈ ω:

n ∈ B iff n ∈ [[(val) m A ]]

iff hn, mi ∈ CA

Therefore B≤1 CA via the function n 7→ hn, mi.

• Now consider the term:

comp := λx.(( λn ∈ ω. [(fst)n ∩ (val)(snd)n x ] ⊃ n, n )> ) .

Then

[[(comp) A ]] = [[( λn ∈ ω. [(fst)n ∩ (val)(snd)n A ] ⊃ n, n )> ]] and so

S [[(comp) A ]] = n∈ω [[ [ (fst)n ∩ (val)(snd)n A ] ⊃ n, n ]] = { n | [[(fst)n ]] ∈ [[(val)(snd)n A ]] }

= { hm, pi | m ∈ [[(val) p A ]] }

= CA 228 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

↓ ↓ It follows that CA ∈ Dege(A) and so CA is 1-complete for Dege(A).

Definition A.3.7. For any set A define:

KA := { n | [[(val) n A ]] 6= ∅ } and

∗ KA := { n | [[(valA) n ]] 6= ∅ }

∗ ∗ Notation. We use K as shorthand for Kω and K as shorthand for K{0}. Note that it is easy to see from their definitions that K = K∗ (given that val =def val0).

Before proceeding we need the following useful result.

Lemma A.3.8 ([Sco75, Sco76]). There is a combinator num such that, for all n ∈ ω we have:

[[(num) n ]] ∈ ω (A.3.2)

[[(num) n ]] > n (A.3.3)

[[(val)(num) n ]] = n (A.3.4)

Proof. Using hn, mi as shorthand for (pair) n m, note that:

[[(val) 1 ]] = [[(val)(suc) h0, 0i ]]

= [[( (val) 0 )(val) 0 ]]

= [[(G) G ]]

= [[ 0 ]] as well as

[[(val) 3 ]] = [[(val)(suc) h0, 1i ]]

= [[( (val) 0 )(val) 1 ]]

= [[(G)(G) G ]]

= [[ hhhsuc, pred, cond, K, S, 0iii ]] A.3. COMPLETE SETS, JUMPS AND LAMBDA 229 and

[[(val) 12 ]] = [[(val)(suc) h3, 1i ]]

= [[( (val) 3 )(val) 1 ]]

= [[( hhhsuc, pred, cond, K, S, 0iii ) 0 ]]

= [[ suc ]].

Now, using Theorem 2.6.25, define num such that

[[ num ]] = [[ λn ∈ ω. n ⊃ 1 , ((apply) 12 )(num) n−1 ]].

In other words define

num := (Y) λs.λn ∈ ω. n ⊃ 1 , ((apply) 12 )(s) n−1 . (A.3.5)

An easy induction then proves Equations A.3.2, A.3.3 and A.3.4.

∗ ↓ Lemma A.3.9. For any set A both KA and KA are 1-complete for Dege(A).

∗ Proof. We prove the case KA. The case KA is similar.

• We firstly show that CA ≤1 KA. Indeed, let c be the G¨odelnumber of the term comp from Lemma A.3.6 (i.e. such that [[(val)c ]] = [[ comp ]] ) and consider the term

Map := λn ∈ ω.λx. [ n ∩ (val) c x ] ⊃ >, > .

Now let d be the G¨odelnumber of the term Map and define

map := λn ∈ ω. (apply) d (num)n .

Then, for any n ∈ ω,

[[(val)(map)n ]] = [[(val) d n ]] by (2.6.44) and (A.3.4),

= [[(Map) n ]] 230 APPENDIX A. ADDITIONAL PROOFS AND RESULTS and this means that  ω if n ∈ [[(val) c A ]] =def CA [[(val)(map)n A ]] = (A.3.6) ∅ otherwise

Thus, by definition of apply and num, Theorem 2.6.45, and (A.3.6), map clearly defines the canonical extension of a total one-one computable function map witnessing CA ≤1 KA.

• Now consider the closed Lambda term:

komp := λx. ( λn ∈ ω. [(val) n x ⊃ n, n ])> .

Then

S [[(komp) A ]] = n∈ω [[ (val) n A ⊃ n, n ]] = { n | [[ (val) n A ]] 6= ∅ }

= KA

↓ ↓ It follows that KA ∈ Dege(A) and so KA is 1-complete for Dege(A).

Notation. Define Komp = (komp)>. Note that this means that

[[ Komp ]] = K.

Lemma A.3.10. There exist closed Lambda terms umap and umap∗ such that, for any set A and n ∈ ω, (umap) n witnesses:

[[ (val) n A ]] ≤1 KA and umap∗ witnesses

∗ [[ (valA) n ]] ≤1 KA .

Proof. We prove the case umap; the case umap∗ is similar. Define

umap := λn ∈ ω.λm ∈ ω. (map)(pair) m n . (A.3.7) A.3. COMPLETE SETS, JUMPS AND LAMBDA 231

Now let n ∈ ω be fixed. Then, for any m ∈ ω:

m ∈ [[(val) n A ]] iff hm, ni ∈ CA

iff [[ (map)(pair) m n ]] ∈ KA

iff [[ (umap) n m ]] ∈ KA

Hence (umap) n witnesses [[(val) n A ]] ≤1 KA.

∗ ↓ Lemma A.3.11. For any set A, KA, K A ∈/ Dege(A).

Proof. We use an argument that Scott applied to K ([Sco76]). We prove the

∗ case KA; the case K A is similar.

Note firstly that

KA =def { n | [[(val) n A ]] = ∅ } and then define the closed Lambda term

t := λn ∈ ω.λx. n ∩ (val) n x .

Then, assuming k to be the G¨odelnumber of t define:

s := λn ∈ ω. (apply) k (num)n .

This means that:

[[(val)(s)n A ]] = [[(t) n A ]] by (2.6.44) and (A.3.4),

= [[ n ∩ (val) n A ]] and hence [[(val)(s)n A ]] = ∅ iff n∈ / [[(val) n A ]] . (A.3.8)

↓ Now define the set B = { n | [[(s)n ]] ∈ KA }. Then, if KA ∈ Dege(A) there would be a closed term u such that KA = [[(u) A ]]. It would then also follow 232 APPENDIX A. ADDITIONAL PROOFS AND RESULTS

↓ that B ∈ Dege(A) since:

B = [[ (λn ∈ ω. [(s)n ∩ KA ⊃ n, n ]) > ]]

= [[ (λn ∈ ω. [(s)n ∩ (u)A ⊃ n, n ]) > ]]

= [[ ( λx. (λn ∈ ω. [(s)n ∩ x ⊃ n, n ]) > ) A ]] (A.3.9)

Let d be the G¨odel number of the closed Lambda term in (A.3.9) above (i.e. such that B = [[(val) d A ]]). Then:

d ∈ [[(val) d A ]] iff [[(s) d ]] ∈ KA by definition of B

iff [[( (val)(s)d ) A ]] = ∅ by definition of KA

iff d∈ / [[(val) d A ]] by (A.3.8) above.

↓ This is a contradiction and so KA ∈/ Dege(A).

Corollary A.3.12. The sets K and K∗ are 1-complete for Ce and K, K∗ ∈/ Ce.

Lemma A.3.13. There exist closed Lambda terms inv and inv∗ such that, for any set A and n ∈ ω:

[[(val) n A ]] = [[( (val)(inv)n ) KA ]] and

∗ [[(valA) n ]] = [[(val ∗ )(inv )n ]] K A and such that both inv and inv∗ define canonical extensions of total one-one computable functions ω → ω .

Proof. We prove the case inv; the case inv∗ is similar.

Let A be any set and pick any n ∈ ω. By Lemma A.3.10 we know that (umap) n witnesses

[[(val) n A ]] ≤1 KA A.3. COMPLETE SETS, JUMPS AND LAMBDA 233 and so also

[[(val) n A ]] ≤1 KA .

Now, define the closed Lambda term:

move := λn ∈ ω.λx. ( λm ∈ ω. [(umap) n m ] ∩ x ⊃ m, m ) > and note that:

[[ (move) n KA ]] = [[( λm ∈ ω. [(umap) n m ] ∩ KA ⊃ m, m ) > ]] (A.3.10) S = m∈ω [[ [ (umap) n m ] ∩ KA ⊃ m, m ]] (A.3.11)

= { m | [[ (umap) n m ]] ∈ KA } (A.3.12)

= [[(val) n A ]] . (A.3.13)

Now let e be the G¨odelnumber of move and define the closed Lambda term

inv := λn ∈ ω. (apply)e (num)n .

Then:

[[(val)(inv)n ]] = [[(val) e n ]] by (2.6.44) and (A.3.4),

= [[(move) n ]] and thus by (A.3.10)-(A.3.13) it follows that

[[(val) n A ]] = [[( (val)(inv)n ) KA ]] .

Also, by definition of apply and num (and Theorem 2.6.45) inv clearly defines the canonical extension of a total one-one computable function ω → ω.

Definition A.3.14. For any set A define:

JA := [[ hhhKA, KAiii ]] 234 APPENDIX A. ADDITIONAL PROOFS AND RESULTS and

∗ ∗ ∗ JA := [[ hhhKA, K Aiii ]]

∗ ∗ We also use the shorthand J = Jω and J = J{0}. We call JA the (GLambda) e-jump of A and J simply the (GLambda) e-jump.

Note A.3.15. From the above results it is seen that if A≤e B then KA ≤e B and it follows easily that JA ≤e JB. Also it is obvious that A≤e JA. Therefore the induced jump operator over the enumeration degrees is well defined.

↓ Definition A.3.16. For any downward enumeration degree a = Dege(A) the 0 ↓ jump of a (a ) is defined to be Dege(JA). The iterated jump is defined by 0 n+1 n 0 0 ↓ a = a, a = (a ) . For the unrelativised case 0 = Dege(J) etc. Bibliography

[AKC03] M.M. Arslanov, I.Sh. Kalimullin, and S.B. Copper. Splitting prop- erties of total enumeration degrees. Algebra and Logic, 42(1):1–13, 2003.

[AS80] K. Ambos-Spies. On the Structure of the Recursively Enumerable De- grees. PhD thesis, The University of Munich, West Germany, January 1980.

[AS84] K. Ambos-Spies. On the structure of polynomial time degrees. In Proceedings STACS 84, volume 166 of Springer Lecture Notes in Com- puter Science, pages 198–208. 1984.

[AS85a] K. Ambos-Spies. On the structure of the polynomial time degrees of recursive sets. Habilitationsschrift 206, Lehrstuhl f¨urInformatik II, Universit¨atDortmund, 1985.

[AS85b] K. Ambos-Spies. Sublattices of the polynomial time degrees. Infor- mation and Control, 65(1):63–84, 1985.

[AS86] K. Ambos-Spies. Inhomogeneities in the polnomial time degrees: the degrees of sparse sets. Information Processing Letters, 22:113–117, 1986.

[AS87a] K. Ambos-Spies. Minimal pairs for polynomial time reducibilities. In Computation Theory and Logic, volume 270 of Lecture Notes in Computer Science, pages 1–13. Springer, 1987.

235 236 BIBLIOGRAPHY

[AS87b] K. Ambos-Spies. Polynomial time degrees of NP-sets. In E. B¨orger, editor, Current Trends in Theoretical Computer Science, pages 95– 142. Computer Science Press, Maryland, 1987.

[AS99] K. Ambos-Spies. Polynomial time reducibilities and degrees. In E. R. Griffor, editor, Handbook of , pages 683–705. Elsevier Science B.V., 1999.

[Bar84] H. Barendregt. The Lambda Calculus: its Syntax and Semantics. North Holland, 1984.

[BGS75] T. Baker, J. Gill, and R. Solovay. Relativisations of the P =? NP question. SIAM Journal on Computing, 4(4):431–442, 1975.

[Bre78] S. Breidbart. On splitting recursive sets. Journal of Computing and System Sciences, 17:56–64, 1978.

[Buh93] H.M. Buhrman. Resource Bounded Reductions. PhD thesis, University of Amsterdam, 1993.

[Cas71] J. Case. Enumeration reducibility and partial degrees. Annals of Mathematical Logic, 2:419–439, 1971.

[CM81] P. Chew and M. Machtey. A note on the structure and looking back applied to the relative complexity of computable functions. J. Comput. System Sci., 22:53–59, 1981.

[CM85] S.B. Cooper and K. McEvoy. On minimal pairs of enumeration de- grees. Journal of Symbolic Logic, 50(4):983–1001, 1985.

[Coo71] S. A. Cook. The complexity of theorem-proving procedures. In Pro- ceedings of the Third ACM Symposium on the Theory of Computing, pages 151–158, Shaker Heights, Ohio, 1971.

[Coo90] S.B. Cooper. Enumeration reducibility, nondeterministic computa- tions and relative computability of partial functions. In K. Ambos- Spies, G. M¨uller, and G.E. Sacks, editors, Recursion Theory Week, BIBLIOGRAPHY 237

Oberwolfach 1989, volume 1432 of Lecture Notes in Mathematics, pages 57–110. Springer Verlag, Heidelberg, 1990.

[Cop97] K. Copestake. On nondeterminism, enumeration reducibility and polynomial bounds. Mathematical Logic Quarterly, 43:287–310, 1997.

[Dow92] R. Downey. Nondiamond theorems for polynomial time reducibility. Journal of Computing and System Sciences, 45:385–395, 1992.

[Ers70] Y.L. Ershov. A hierarchy of sets III. Algebra and Logic, 9:34–51, 1970.

[FR59] R.M. Friedberg and H. Rogers. Reducibilities and completeness for sets of integers. Zeit. Math. Log. Grund. Math., 5:117–125, 1959.

[Joc68] Jr. Jockusch, C.G. Semirecursive sets and positive reducibility. Trans. Amer. Math. Soc., 131:420–436, 1968.

[Kal03] I. Sh. Kalimullin. Definability of the jump operator in the enumeration degrees. Journal of Mathematical Logic, 3(2):257–267, 2003.

[Kar72] R.M. Karp. Reducibility among Combinatorial Problems, pages 85– 104. Plenum Press, New York, 1972.

[KP54] S.C. Kleene and E.L. Post. The upper semi-lattice of degrees of un- solvability. Annals of Mathematics, 59:379–407, 1954.

[Kri90] J.L. Krivine. Lambda-calcul, Types et Mod`eles. Masson, Paris, 1990.

[Lac54] D. Lacombe. Sur le semi-r´eseau constitu´epar le degr´es d’ind´ecidabilit´e r´ecursive. Comptes Rendus Hebdomadaires des S´eances de l’Acad´emie des Sciences (Paris), Ser. A-B 239:1108–1109, 1954.

[Lac66] A.H. Lachlan. Lower bounds for pairs of recursively enumerable de- grees. In Proceedings of the London Mathematical Society, volume 16 of Lecture Notes in Computer Science, pages 537–569, 1966. 238 BIBLIOGRAPHY

[Lac72] A.H. Lachlan. Embedding nondistributive lattices in the recursively enumerable degrees. In W Hodges, editor, Conference in Mathemat- ical Logic, London, 1970, volume 255 of Springer Lecture Notes in Mathematics, pages 149–177. 1972.

[Lad75] R. Ladner. On the structure of polynomial time reducibility. Journal of the ACM, 22:155–171, 1975.

[Ler72] M Lerman. On suborderings of the α-recursively enumerable α- degrees. Annals of Mathematical Logic, 4:369–392, 1972.

[LLR81] L. H. Landweber, R. J. Lipton, and E. L. Robertson. On the structure of sets in NP and other complexity classes. Theoretical Computer Science, 15:103–123, 1981.

[LLS75] R. Ladner, N. A. Lynch, and A. L. Selman. A comparison of poly- nomial time reducibilities. Theoretical Computer Science, 1:103–123, 1975.

[Lon82] T. J. Long. Strong nondeterministic polynomial time reducitilities. Theoretical Computer Science, 21:1–25, 1982.

[McE84] K. McEvoy. The Structure of the Enumeration Degrees. PhD thesis, The University of Leeds, UK, October 1984.

[McE85] K. McEvoy. Jumps of quasi-minimal enumeration degrees. Journal of Symbolic Logic, 50(3):839–848, 1985.

[Med55] Y. T. Medvedev. On non-isomorphic recursively enumerable sets. Dok- lady Academii Nauk, 102:211–214, 1955.

[Meh74] K Mehlhorn. The Almost All theory of subrecursive degrees is decid- able. In J. Loeckx, editor, Automata, Languages and Programming, 2nd Colloquium, Saarbr¨ucken, volume 15 of Springer Lecture Notes in Computer Science, pages 317–325. 1974. BIBLIOGRAPHY 239

[Meh76] K. Mehlhorn. Polynomial and abstract subrecursive classes. J. Com- put. System Sci., 12:147–178, 1976.

[MS72] A. R. Meyer and L. J. Stockmeyer. The equivalence problem for reg- ular expressions with squaring requires exponential space. In 13th Annual IEEE Symposium of Switching and Automata Theory, pages 125–129, 1972.

[Odi89] P. G. Odifreddi. Classical Recursion Theory. Elsevier Science B.V., Amsterdam, 1989.

[Odi99] P. G. Odifreddi. Classical Recursion Theory,Volume 2. Elsevier Sci- ence B.V., Amsterdam, 1999.

[Plo72] G.D. Plotkin. A set theoretical definition of application. Memo MIP- R-95, School of Artificial Intelligence, University of Edinburgh, 1972.

[Pos36] E.L. Post. Finite combinatory processes—formulation I. Journal of Symbolic Logic, 1:103–105, 1936.

[Reg83] K. W. Regan. On diagonalization methods and the structure of lan- guage classes. In M. Karpinski, editor, Foundations of Computation Theory, Proceedings, 1983, volume 158 of Springer Lecture Notes in Computer Science, pages 368–380. 1983.

[Rog67] H. Jr. Rogers. Theory of Recursive Functions and Effective Com- putability. McGraw-Hill, New York, 1967.

[Roz78] M.G. Rozinas. The semilattice of e-degrees. Ivanov. Gos. Univ., pages 71–84, 1978.

[Sac63] G.E. Sacks. Degrees of Unsolvability. Princeton University Press, Princeton, 1963.

[Sac64] G.E. Sacks. The recursively enumerable degrees are dense. Annals of Mathematics, (2)80:300–312, 1964. 240 BIBLIOGRAPHY

[Sch82a] U. Sch¨oning. On NP-decomposable sets. SIGACT Newsletter, 14(1):18–20, 1982.

[Sch82b] U. Sch¨oning. A uniform approach to obtain diagonal sets in complexity classes. Theoretical Computer Science, 18:95–103, 1982.

[Sch84] D. Schmidt. On the complement of one complexity class in another. In E. et al. B¨orger,editor, Logic and Machines: Decision Problems and Complexity, volume 171 of Springer Lecture Notes in Computer Science, pages 77–87. 1984.

[Sco75] D. Scott. Lambda calculus and recursion theory. In S. Kanger, editor, Proceedings of The Third Scandinavian Logic Symposium, pages 154– 193, Amsterdam, 1975. North Holland.

[Sco76] D. Scott. Data types as lattices. SIAM Journal on Computing, 5:522– 587, 1976.

[Sel71] A. L. Selman. Arithmetical reducibilities I. Zeitshrift Math. Logik Grundlagen Math., 17:335–360, 1971.

[Sel72] A. L. Selman. Arithmetical reducibilities II. Zeitshrift Math. Logik Grundlagen Math., 18:83–92, 1972.

[Sel78] A. L. Selman. Polynomial time enumeration reducibility. SIAM Jour- nal on Computing, 7:440–457, 1978.

[Sel82] A. L. Selman. Reductions on NP and p-selective sets. Theoretical Computer Science, 19:287–304, 1982.

[Sim77] S.G. Simpson. First-order theory of the degrees of recursive unsolv- ability. Ann. Math., 105:121–139, 1977.

[Soa87] R.I. Soare. Recursively Enumerable Sets and Degrees. Springer, Berlin, 1987. BIBLIOGRAPHY 241

[Sor96] A. Sorbi. The medvedev lattice of degrees of difficulty. In S.B. Cooper, T.A. Slaman, and S.S. Wainer, editors, Computability, Enumerability, Unsolvability: Directions in Recursion Theory, volume 224 of London Mathematical Society Lecture Notes, pages 289–312. Cambridge Uni- versity Press, 1996.

[Sor98] A. Sorbi. Sets of generators and automorphism bases for the enumer- ation degrees. Annals of Pure and Applied Logic, 94:263–272, 1998.

[Sos00] I. Soskov. A jump inversion theorem for the enumeration jump. Archive for Mathematical Logic, 39:417–437, 2000.

[Spe56] C. Spector. On degrees of recursive usolvability. Ann. Math., 64:581– 592, 1956.

[Tur36] A.M. Turing. On computable numbers with an application to the Entscheidungs problem. Proceedings of the London Mathematical So- ciety, 42:230–265, 1936.

[Yat66] C.E.M. Yates. A minimal pair of recursively enumerable degrees. Jour- nal of Symbolic Logic, 31:309–168, 1966.

[Zhe93] X. Zheng. On the maximality of some pairs of p-t degrees. Notre Dame Journal of Formal Logic, 34(1):29–35, 1993.