+ All Categories
Home > Documents > Program Self-Reference in Constructive Scott Subdomains

Program Self-Reference in Constructive Scott Subdomains

Date post: 25-Aug-2016
Category:
Upload: john-case
View: 213 times
Download: 0 times
Share this document with a friend
28
Theory Comput Syst (2012) 51:22–49 DOI 10.1007/s00224-011-9372-1 Program Self-Reference in Constructive Scott Subdomains John Case · Samuel E. Moelius III Published online: 7 December 2011 © Springer Science+Business Media, LLC 2011 Abstract Intuitively, a recursion theorem asserts the existence of self-referential pro- grams. Two well-known recursion theorems are Kleene’s Recursion Theorem (krt) and Rogers’ Fixpoint Recursion Theorem (fprt). Does one of these two theorems bet- ter capture the notion of program self-reference than the other? In the context of the partial computable functions over the natural numbers (PC ), fprt is strictly weaker than krt, in that fprt holds in any effective numbering of PC in which krt holds, but not vice versa. It is shown that, in this context, the existence of self-reproducing pro- grams (a.k.a. quines) is assured by krt, but not by fprt. Most would surely agree that a self-reproducing program is self-referential. Thus, this result suggests that krt is better than fprt at capturing the notion of program self-reference in PC . A generalization of krt to arbitrary constructive Scott subdomains is then given. (For fprt, a similar generalization was already known.) Surprisingly, for some such subdomains, the two theorems turn out to be equivalent. A precise characteriza- tion is given of those constructive Scott subdomains in which this occurs. For such subdomains, the two theorems capture the notion of program self-reference equally well. Keywords Numberings · Recursion theorems · Scott domains · Self-reference · Self-reproducing programs This is an expanded version of [7]. J. Case Department of Computer & Information Sciences, University of Delaware, 101 Smith Hall, Newark, DE 19716, USA e-mail: [email protected] S.E. Moelius III ( ) IDA Center for Computing Sciences, 17100 Science Drive, Bowie, MD 20715-4300, USA e-mail: [email protected]
Transcript
Page 1: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49DOI 10.1007/s00224-011-9372-1

Program Self-Reference in Constructive ScottSubdomains

John Case · Samuel E. Moelius III

Published online: 7 December 2011© Springer Science+Business Media, LLC 2011

Abstract Intuitively, a recursion theorem asserts the existence of self-referential pro-grams. Two well-known recursion theorems are Kleene’s Recursion Theorem (krt)and Rogers’ Fixpoint Recursion Theorem (fprt). Does one of these two theorems bet-ter capture the notion of program self-reference than the other? In the context of thepartial computable functions over the natural numbers (P C), fprt is strictly weakerthan krt, in that fprt holds in any effective numbering of P C in which krt holds, butnot vice versa. It is shown that, in this context, the existence of self-reproducing pro-grams (a.k.a. quines) is assured by krt, but not by fprt. Most would surely agree thata self-reproducing program is self-referential. Thus, this result suggests that krt isbetter than fprt at capturing the notion of program self-reference in P C.

A generalization of krt to arbitrary constructive Scott subdomains is then given.(For fprt, a similar generalization was already known.) Surprisingly, for some suchsubdomains, the two theorems turn out to be equivalent. A precise characteriza-tion is given of those constructive Scott subdomains in which this occurs. For suchsubdomains, the two theorems capture the notion of program self-reference equallywell.

Keywords Numberings · Recursion theorems · Scott domains · Self-reference ·Self-reproducing programs

This is an expanded version of [7].

J. CaseDepartment of Computer & Information Sciences, University of Delaware, 101 Smith Hall, Newark,DE 19716, USAe-mail: [email protected]

S.E. Moelius III (�)IDA Center for Computing Sciences, 17100 Science Drive, Bowie, MD 20715-4300, USAe-mail: [email protected]

Page 2: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 23

1 Introduction: krt and fprt

Intuitively, a recursion theorem asserts the existence of self-referential programs. Twowell-known recursion theorems are Kleene’s Recursion Theorem (krt) and Rogers’Fixpoint Recursion Theorem (fprt). Does one of these two theorems better capturethe notion of program self-reference than the other?

The two theorems are normally stated in the context of the partial computablefunctions over the natural numbers (P C ). We give the formal statements of the twotheorems following some necessary definitions.

Let N be the set of natural numbers, {0,1,2, . . .}. Let ⊥ denote the divergent

computation.1 N⊥def= N ∪ {⊥}. Let 〈·, ·〉 be any fixed pairing function.2 A function

f : N → N⊥ is effectivedef⇔ it is partial computable [20]. A function ψ : N → P C

is effectivedef⇔ λp,x � ψ(p)(x) is partial computable.3 For any set X, a function ψ :

N → X is a numbering of X [1, 18, 19, 21, 22]def⇔ ψ is onto.4 We will often write

ψp as shorthand for ψ(p).An effective numbering of type N → P C can be thought of as a programming lan-

guage, in the following sense. If one were to take the programs in some programminglanguage for P C , and number those programs, e.g., length-lexicographically, then thefunction that sends p to the semantics of the pth program would be an effective num-bering of type N → P C .

The following are the formal statements of Kleene’s Recursion Theorem (krt) andRogers’ Fixpoint Recursion Theorem (fprt).

Definition 1 For each effective numbering ψ : N → P C , (a) and (b) below.

(a) (Kleene [20, p. 214, Problem 11-4]) krt holds in ψ ⇔(∀g ∈ P C)(∃e)[ψe = g(〈e, ·〉)]. (1)

(b) (Rogers [20, Theorem 11-I]) fprt holds in ψ ⇔(∀ computable t : N → N)(∃e)[ψe = ψt(e)]. (2)

krt can be interpreted as follows. The partial computable function g in (1) is an ar-bitrary, algorithmic task to perform with a self-copy; the program e is one that createsa copy of itself (external to itself) and then performs that task using this self-copy.In an important sense, this self-copy provides e complete, low-level self-knowledge.Thus, e can reflect upon its own intensional (synonym: connotational) characteris-tics, e.g., its size, runtime, memory usage, etc. Of course, e can run its self-copy,

1Thus, ⊥ may be thought of as the value of an infinite loop.2A pairing function is computable, 1-1, onto, and of type N

2 → N [20, p. 64].3In Sect. 2, the notion of effective is generalized to other types of functions.4In this paper, we shall generally use lowercase Greek letters (e.g., γ , ψ ) for numberings, and lowercaseRoman letters (e.g., f , g, h) for other functions.

Page 3: Program Self-Reference in Constructive Scott Subdomains

24 Theory Comput Syst (2012) 51:22–49

and thereby reflect upon its extensional (synonym: denotational) characteristics aswell [21].

fprt can be interpreted as follows. The function t in (2) is a transformation onprograms; the program e is one whose semantics remain fixed under this transforma-tion [21].

The following constructive variant of fprt is also sometimes considered.5

Definition 2 (Riccardi [18, Definition 2.1]) For each effective numbering ψ : N →P C , FPRT holds in ψ ⇔ there exists a computable function n : N → N such that, foreach p,

[(ψp ◦ n)(p) �= ⊥ ⇒ ψn(p) = ψ(ψp◦n)(p)]∧ [(ψp ◦ n)(p) = ⊥ ⇒ ψn(p) = λx � ⊥]. (3)

In (3), ψp and n(p) play the roles played by t and e, respectively, in (2). In thissense, the function n finds a program n(p) whose semantics remain fixed under thetransformation ψp . Such an n is called an effective instance of FPRT in ψ .

fprt was popularized by Rogers’ classic textbook [20]. Therein, he writes [20,p. 182]: “Kleene’s formulation differs slightly, and inessentially, from ours.” It istrue that, in any standard numbering of P C , both theorems will hold.6 More broadly,in any effective numbering (standard or otherwise) in which krt holds, fprt holds aswell [18, Theorem 5.1]. However, there do exist nonstandard, effective numberingsof P C in which fprt holds, but in which krt does not hold [18, Theorem 5.3].7 In thissense, krt is strictly stronger than fprt.

Given that krt is stronger in this sense, are there programs (for P C ) that one wouldreasonably call self-referential, and whose existence is assured by krt, but not by fprt?

Consider the three C-programs in Fig. 1. Figure 1(Top) is a program that outputs itsown source code (such a self-reproducing program is sometimes called a quine [28]);8

Fig. 1(BL) is a program that outputs the length of its source code (in bytes); andFig. 1(BR) is a program that outputs the first character of its source code.

Most would surely agree that a self-reproducing program, like that of Fig. 1(Top),is self-referential. For the programs in Figs. 1(BL) and 1(BR), however, it is less clear.For example, many C-programs begin with the character ‘#’. Thus, one could arguethat the program in Fig. 1(BR) is more opportunistic than self-referential.

Common among these three C-programs is that each computes a function of theform λx � f (e), for some effective function f : N → N⊥; that is, each outputs the re-sult of applying a (partial) computable function to its source code e, whilst ignoring

5krt similarly has constructive variants, which are considered, e.g., in [6, 21].6By standard we mean acceptable as defined just prior to Lemma 4 below. Given that krt holds in anysuch standard numbering, one might consider an effective numbering in which krt does not hold to bepathological. However, independence proofs (e.g., in set theory and herein) often require the constructionof pathological models.7The effective numbering of P C used in the proof of [18, Theorem 5.3] is the same as that used in theproof of [13, Theorem 3.6].8Early examples of such programs are due to Lee [11] and Thatcher [27]. The term “quine” appears tohave been inspired by Hofstadter [9]. Therein, Hofstadter refers to the operation of preceding a phrase byits own quotation as “quining”, in honor of Willard Van Orman Quine [17].

Page 4: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 25

Fig. 1 Top: A C-program that outputs its own source code. Bottom-Left (BL): A C-program that outputsthe length of its source code (in bytes). Bottom-Right (BR): A C-program that outputs the first characterof its source code. Also depicted are functions of type N → N⊥ corresponding to each C-program

any possible input x.9 These functions are also depicted in Fig. 1.10 For example,for the self-reproducing program in Fig. 1(Top), the corresponding function f is sim-ply λe � e.11

Clearly, for each effective numbering ψ : N → P C in which krt holds, and for eacheffective f : N → N⊥, there exists an e such that

ψe = λx � f (e). (4)

But what if merely fprt holds in ψ? Then, can the same still be said for each f ?The answer is “no”. Our first main result, Theorem 3, says that fprt assures the

existence of a program e as in (4) for precisely those effective f : N → N⊥ withfinite range.12

9In the terminology of [3], f (e) is the computable distortion of e wrought by f .10ISO-8859-1 is a character encoding commonly used on the Internet (see, for example, [16]). This en-coding associates a character with each value in {0, . . . ,255}. One can treat each program in Fig. 1 asa base-256 number, e.g., where each character is a digit whose value is determined by the ISO-8859-1encoding, and where the leading character is least significant. In this way, “#include . . . ” mod 256 =“#”.11Thus, ψe = λx � f (e) = λx � (λe � e)(e) = λx � e.12The proof of Theorem 3 employs, among other things, techniques of Machtey, Winklmann, andYoung [13, proof of Theorem 3.6].

Page 5: Program Self-Reference in Constructive Scott Subdomains

26 Theory Comput Syst (2012) 51:22–49

Theorem 3 Suppose that f : N → N⊥ is effective. Then, (a)–(c) below are equiva-lent.

(a) For every effective numbering ψ : N → P C in which fprt holds, there exists an e

such that ψe = λx � f (e).(b) For every effective numbering ψ : N → P C in which FPRT holds, there exists an

e such that ψe = λx � f (e).(c) The range of f is finite.

Thus, fprt does not assure the existence of a program like that of Fig. 1(Top),nor even like that of Fig. 1(BL) (though fprt does assure the existence of a programlike that of Fig. 1(BR)). Given that most would call the program of Fig. 1(Top) self-referential, Theorem 3 suggests that krt is better than fprt at capturing the notion ofprogram self-reference in P C .

The proof of Theorem 3 makes use of Lemma 4 below. For the purposes ofLemma 4 and of some subsequent results, some additional notation is necessary.

For each f : X → Y , rng(f )def= {y ∈ Y | (∃x ∈ X)[f (x) = y]}. Note that, if

f : N → N⊥ and (∃x)[f (x) = ⊥], then ⊥ ∈ rng(f ), which some might considerunconventional. For such an f , should we wish to work with rng(f ) − {⊥}, we shallsay so explicitly.

An effective numbering ψ : N → P C is acceptabledef⇔ for every effective number-

ing ξ : N → P C , there exists a computable function t : N → N such that (∀p)[ψt(p) =ξp] [12, 13, 18–21].13 Let ϕ : N → P C be a fixed acceptable effective numbering. Foreach p, let Wp = {x | ϕp(x) �= ⊥}.

Lemma 4 Suppose that h : N → N is computable, and that rng(h) is infinite. Then,there exist effective numberings θ, ξ : N → P C satisfying (a) and (b) below.

(a) (∀i,p)[[rng(θi) ⊆ {⊥, h(p)} ∧ ξp(0) = i] ⇒ θi is finite].(b) ξ is acceptable.

Proof Let h be as stated. For each q and x, and each j ∈ {0,1}, let θ and ξ be asfollows. (In (5), treat “ξx

p(0) = . . .” as shorthand for “ξp(0) converges in fewer thanx steps and is equal to . . . ”.)

θ2q+j (x) ={

ϕq(x), if (∀p < x)[ξxp(0) = 2q + j ⇒ rng(ϕq) �⊆ {⊥, h(p)}];

⊥, otherwise.(5)

ξq(x) ={

ϕn(x), if (∀p < q)[h(p) �= h(q)], where n = |{h(p) | p < q}|;⊥, otherwise.

(6)

Claim 4.1 ξ is an acceptable numbering of P C .

13Thus, the acceptable effective numberings of P C are exactly those into which every effective numberingof P C can be compiled. Any effective numbering based on a real-world, general purpose programminglanguage (e.g., C, Java, Haskell) is acceptable.

Page 6: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 27

Proof of Claim Let t be such that, for each n,

t (n) = q, where q is least such that (∀p < q)[h(p) �= h(q)]and n = |{h(p) | p < q}|. (7)

Clearly, t is partial computable. Furthermore, since rng(h) is infinite, t is total.Clearly, for each n, ξt (n) = ϕn. �

Claim 4.2 For each p, if ξp �= λx � ⊥, then, for each q > p such that h(q) = h(p),ξq = λx � ⊥.

Proof of Claim Clear by the construction of ξ . �

Claim 4.3 θ is an effective numbering of P C .

Proof of Claim To show the claim, it suffices to show that, for each q , there exists ani such that θi = ϕq . Let q be fixed. The only interesting case is when there exists a p

such that

{⊥} �= rng(ϕq) ⊆ {⊥, h(p)} ∧ ξp(0) ∈ {2q,2q + 1}. (8)

By Claim 4.2, there can exist at most one such p. Suppose that ξp(0) = 2q +j , wherej ∈ {0,1}. Then, clearly, by the construction of θ , θ2q+(1−j) = ϕq . �

Claim 4.4 (∀i,p)[[rng(θi) ⊆ {⊥, h(p)} ∧ ξp(0) = i] ⇒ θi is finite], i.e., θ and ξ

satisfy (a) in the statement of the theorem.

Proof of Claim Let i and p be such that

rng(θi) ⊆ {⊥, h(p)} ∧ ξp(0) = i. (9)

Let x0 be such that p < x0 and ξx0p (0) = i. Clearly, for each x ≥ x0, θi(x) = ⊥. �

This completes the proof of Lemma 4. �

Proof of Theorem 3 (a) ⇒ (b): Immediate. (b) ⇒ (c): (By contrapositive.) Supposethat rng(f ) is infinite. Let g : N → N be a monotone increasing computable functionsuch that, for each p,

(f ◦ g)(p) �∈ ({⊥} ∪ {g(0), . . . , g(p − 1)}). (10)

Since rng(f ) is infinite, such a g clearly exists. Note that f ◦ g is computable, andrng(f ◦ g) is infinite. Thus, there exist effective numberings θ , ξ : N → P C as inLemma 4 for h = f ◦ g. Let i0 be such that θi0 = λx � x. For each q , let ξ ′ be asfollows.

ξ ′q =

{λx � i0, if q �∈ rng(g);ξg−1(q), otherwise.

(11)

Page 7: Program Self-Reference in Constructive Scott Subdomains

28 Theory Comput Syst (2012) 51:22–49

Clearly, ξ ′ is an acceptable numbering of P C . For each p, let ψ be as follows.

ψp ={

θξ ′p(0), if ξ ′

p(0) �= ⊥;λx � ⊥, otherwise.

(12)

Claim 3.1 ψ is an effective numbering of P C .

Proof of Claim To show the claim, it suffices to show that, for each i, there exists ap such that ψp = θi . Let i be fixed, and let p be such that ξ ′

p = λx � i. Then,

ψp = θξ ′p(0) = θ(λx�i)(0) = θi . (13)

Claim 3.2 For each p and q , if ξ ′p = ξ ′

q , then ψp = ψq .

Proof of Claim Easily verifiable from (12). �

Claim 3.3 FPRT holds in ψ .

Proof of Claim Since ξ ′ is an acceptable numbering of P C , there exist computablefunctions n, t : N → N such that

– n witnesses FPRT in ξ ′, and– for each p, ξ ′

t (p) = ψp .

The remainder of the proof of the claim is to show that n ◦ t witnesses FPRT in ψ .Let ψ -program p be fixed, and consider the following cases.

CASE (ξ ′t (p) ◦ n ◦ t)(p) �= ⊥. Then,

ξ ′(n◦t)(p) = ξ ′

(ξ ′t (p)

◦n◦t)(p). (14)

Furthermore, by the case and the choice of t ,

(ψp ◦ n ◦ t)(p) �= ⊥. (15)

Thus,

ψ(n◦t)(p) = ψ(ξ ′t (p)

◦n◦t)(p) {by Claim 3.2 and (14)}= ψ(ψp◦n◦t)(p) {by the choice of t}.

CASE (ξ ′t (p) ◦ n ◦ t)(p) = ⊥. Then,

ξ ′(n◦t)(p) = λx � ⊥. (16)

Furthermore, by the case and the choice of t ,

(ψp ◦ n ◦ t)(p) = ⊥. (17)

By (16), ξ ′(n◦t)(p)(0) = ⊥. Thus, by (12), ψ(n◦t)(p) = λx � ⊥. �

Page 8: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 29

Claim 3.4 (∀q)[ψq �= λx � f (q)].

Proof of Claim By way of contradiction, let q be such that ψq = λx � f (q). Considerthe following cases.

CASE q �∈ rng(g). Then, ξ ′q = λx � i0. (Recall: θi0 = λx � x.) Thus,

ψq = θξ ′q (0) = θ(λx�i0)(0) = θi0 = λx � x (18)

—a contradiction.

CASE q ∈ rng(g). Let p = g−1(q). Thus, ψq = λx � (f ◦ g)(p) and ξ ′q = ξp . By

the case, f (q) �= ⊥, and, thus, ψq �= λx � ⊥. It follows that, ξp(0) = ξ ′q(0) �= ⊥. Let

i = ξp(0). (Thus, ψq = θi .) Then,

rng(θi) ⊆ {⊥, (f ◦ g)(p)} ∧ ξp(0) = i ∧ {x | θi(x) �= ⊥} is infinite. (19)

But this contradicts (a) of Lemma 4 for θ and ξ . �

(c) ⇒ (a): Let ψ be any effective numbering of P C in which fprt holds, and let f :N → N⊥ be an effective function such that rng(f ) is finite. If there exists a p such thatf (p) = ⊥ and ψp = λx � ⊥, then we are done. So, suppose otherwise, i.e., supposethat

(∀p)[f (p) = ⊥ ⇒ ψp �= λx � ⊥]. (20)

Let q0 be such that ψq0 = λx �⊥. Let {y1 < y2 < · · · < yn} = rng(f )−{⊥}. For eachi ∈ {1, . . . , n}, let qi be such that ψqi

= λx � yi . Let t : N → N be such that, for eachp, t (p) is determined as follows.

Dovetail between the following two steps until one applies. (By (20), one musteventually apply.)

(i) If f (p) �= ⊥, output qi , where i ∈ {1, . . . , n} is such that yi = f (p).(ii) If ψp �= λx � ⊥, output q0.

Clearly, t is computable. Thus, by fprt in ψ , there exists an e such that ψe = ψt(e).

Claim 3.5 Step (i) applies first in the computation of t (e).

Proof of Claim By way of contradiction, suppose that step (ii) applies first in thecomputation of t (e). Then,

ψe �= λx � ⊥ = ψq0 = ψt(e) (21)

—a contradiction. �

By Claim 3.5, there exists an i ∈ {1, . . . , n} such that t (e) = qi and yi = f (e).Thus,

ψe = ψt(e) = ψqi= λx � yi = λx � f (e). (22)

This completes the proof of Theorem 3. �

Page 9: Program Self-Reference in Constructive Scott Subdomains

30 Theory Comput Syst (2012) 51:22–49

One can consider self-reproducing programs in effective numberings other thanthose of type N → P C . For example, consider an effective numbering ψ : N → N⊥.(Thus, programs in this ψ code elements of N⊥, instead of P C .) In such a numbering,one could reasonably call a program e self-reproducing iff ψ(e) = e. Then, one couldask the following. Does fprt assure the existence of a self-reproducing program in aneffective numbering of this type? More generally, is fprt still weaker than krt in aneffective numbering of this type?

To state such questions formally, one must first make precise what one means bykrt and fprt in such numberings. To do so, we first introduce the notion of a construc-tive Scott subdomain. Then, in Sect. 3 we generalize krt to effective numberings ofarbitrary constructive Scott subdomains. (For fprt, a similar generalization was al-ready known [8].) Finally, in Sect. 4, we revisit the aforementioned questions, as wellas answer a recent question of Serikzhan Badaev.

2 Constructive Scott Subdomains

In this section, we introduce constructive Scott subdomains. Intuitively, a constructiveScott subdomain is a collection of objects with the property that: each object can bebroken up into pieces. P C is an example of such a collection, in which case the piecesare the finite functions over N.

Having such a collection can be useful, as it can often be easier to work with eachobject in pieces, than to work with each object as a whole. For example, considerthe effective numberings of type N → P C . In such a numbering ψ , the predicateλp,q � [ψp ⊆ ψq ] is never computable [10, Proposition 14]. However, if λi � Fi isa canonical enumeration of the finite functions over N [12, 20], then the predicateλi, j � [Fi ⊆ Fj ] is computable.

As the reader will be able to see following the formal definitions, many collectionsof objects can be viewed in this way. Unless otherwise noted, concepts not explainedbelow can be found in [26].

As is customary, we use � to denote the ordering relation of any given partial

order. A partial order X is flatdef⇔ X has a least element ⊥, and X is ordered such

that, for each x, y ∈ X, x � y ⇔ [x = ⊥ ∨ x = y].14 Such is the standard orderingof N⊥. Thus, N⊥ is an example of a flat partial order.

For a subset A of a partial order X,⊔

A denotes the least-upper-bound of A,

which may or may not exist in X. For the special case of a two element set: x � ydef=⊔{x, y}. A subset A of a partial order is directed

def⇔ A is non-empty and, for eachx, y ∈ A, {x, y} has some (not necessarily least) upper-bound in A. For each partial

order X, and each x ∈ X, x is compact in Xdef⇔

(∀directed A ⊆ X)[[⊔

A exists in X ∧ x �⊔

A]

⇒ (∃y ∈ A)[x � y]]. (23)

14An anonymous referee of the conference version of this paper attributes this notion to Scott. Flat partialorders are also considered in [23, 26].

Page 10: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 31

For each partial order X, K(X)def= {x ∈ X | x is compact in X}. For example,

K(N⊥) = N⊥. Similarly, if one lets P be the set of all functions of type N → N⊥ordered pointwise (i.e., for each f,g ∈ P , f � g ⇔ (∀x)[f (x) � g(x)]), then K(P )

is exactly the set of finite functions over N.A Scott domain is a partial order D satisfying (a)–(d) below.

(a) D has a least element (denoted by ⊥).(b) D is complete: for every directed A ⊆ D,

⊔A exists in D.

(c) D is algebraic: for each y ∈ D, the set A = {x ∈ K(D) | x � y} is directed andy = ⊔

A.(d) D is a conditional upper semi-lattice: for each x, y ∈ D, if {x, y} has an upper-

bound in D, then x � y exists in D.

It can be shown that, for each Scott domain D, and each x, y ∈ K(D), {x, y} hasan upper-bound in K(D) ⇔ {x, y} has an upper-bound in D. (See, for example, [26,p. 57, Lemma 1.9].)

Suppose that D is a Scott domain, γ is a numbering of K(D), and S is such that

K(D) ⊆ S ⊆ D. A function ψ : N → S is effective via γdef⇔ the set {〈i,p〉 | γ (i) �

ψ(p)} is computably enumerable (ce) [20].15 Recall that Sect. 1 defined effectivefor functions of type N → N⊥ and N → P C . In the former case, the definition isequivalent to effective via pred : N → K(N⊥), where, for each x,

pred(x) ={⊥, if x = 0;

x − 1, otherwise.(24)

In the latter case, the definition is equivalent to effective via λi � Fi : N → K(P ).16

A constructive Scott subdomain [23, 25, 26] is a tuple (D,γ,S) satisfying (a)–(g)below.

(a) D is a Scott domain.(b) γ is a numbering of K(D).(c) The predicate λi, j � [γ (i) � γ (j)] is computable.(d) The predicate λi, j � [{γ (i), γ (j)} has an upper-bound in D] is computable.(e) There exists a computable function u : N

2 → N such that, if {γ (i), γ (j)} has anupper-bound in D, then (γ ◦ u)(i, j) = γ (i) � γ (j).

(f) K(D) ⊆ S ⊆ D.(g) There exists an effective numbering ψ : N → S via γ .

We shall sometimes refer to a ψ as in (g) just above as an effective numbering of(D,γ,S).

15A function ψ : N → S can be effective via γ , but not via γ ′ . The following is an example. Let K be the

diagonal halting problem [20, p. 62]. Let {k0 < k1 < · · · } = K and {k̄0 < k̄1 < · · · } = K̄def= N − K . Let

f : N → N be such that, for each i, f (2i) = ki and f (2i + 1) = k̄i . Let ℘(N) be the set of all subsets ofN ordered by ⊆, and let λi � Di : N → K(℘(N)) be a canonical enumeration of the finite subsets of N [12,20]. Note that, for each i, f (Di) ⊆ K̄ ⇔ Di ⊆ 2N + 1. Thus, λp � K̄ is effective via λi � f (Di). However,λp � K̄ is not effective via λi � Di , as this would imply {i | Di ⊆ K̄} is computably enumerable.16In neither case is the choice of γ unique.

Page 11: Program Self-Reference in Constructive Scott Subdomains

32 Theory Comput Syst (2012) 51:22–49

A constructive Scott subdomain (D,γ,S) is recursively complete [26, p. 270, Def-

inition 4.8]def⇔

(∀ ce A ⊆ N)[γ (A) is directed ⇒

⊔γ (A) ∈ S

]. (25)

For example, of the two constructive Scott subdomains (P , λi � Fi, P C) and (P , λi �Fi,K(P )), the former is recursively complete, while the latter is not.

3 krt in Constructive Scott Subdomains

In this section, we generalize krt to arbitrary constructive Scott subdomains. In orderto give some intuition for the generalized definition, let us first return attention toeffective numberings of type N → P C . Note that, for such numberings, the followingdefinition of krt is equivalent to Definition 1(a). For each effective numbering ψ :N → P C , krt holds in ψ ⇔

(∀ effective f : N → P C)(∃e)[ψe = f (e)]. (26)

To see that this is equivalent, note that, for each g ∈ P C , there exists an effectivef : N → P C such that (∀p,x)[f (p)(x) = g(〈p,x〉)], and vice versa.

Taking a cue from (26), we define krt for arbitrary constructive Scott subdomainsas follows.

Definition 5 Suppose that (D,γ,S) is a constructive Scott subdomain. Then, foreach effective numbering ψ : N → S via γ , krt holds in ψ ⇔

(∀ effective f : N → S via γ )(∃e)[ψ(e) = f (e)]. (27)

This definition preserves many of the intuitive properties held by krt in effectivenumberings of type N → P C . For example, as will be seen in Sect. 4, the fact thatkrt entails fprt in such numberings carries over to effective numberings of arbitraryconstructive Scott subdomains.

Suppose that (D,γ,S) is a constructive Scott subdomain. Natural questions toask are the following. Do there exist effective numberings of (D,γ,S) in which krtholds? Do there exist such numberings in which krt does not hold? Our next mainresult, Theorem 6, gives conditions for the existence of each kind of numbering.

Theorem 6 Suppose that (D,γ,S) is a constructive Scott subdomain. Then, (a) and(b) below.

(a) (i) and (ii) below are equivalent.(i) There exists an effective numbering ψ : N → S via γ in which krt holds.

(ii) (D,γ,S) is recursively complete.(b) (i)–(iii) below are equivalent.

(i) There exists an effective numbering ψ : N → S via γ in which krt does nothold.

Page 12: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 33

(ii) D �= {⊥}.(iii) S �= {⊥}.

The proofs of Theorem 6 and of some subsequent results make use of the followingproposition.

Proposition 7 Suppose that (D,γ,S) is a constructive Scott subdomain. Then, foreach f : N → S, f is effective via γ ⇔ there exists a computable function λs,p �f s(p) : N

2 → N such that, for each p,

f (p) =⊔

{(γ ◦ f s)(p) | s ∈ N}. (28)

Proof Straightforward. �

Proof of Theorem 6 Let (D,γ,S) be fixed.

(a) [(i) ⇒ (ii)]: (By contrapositive.) Suppose that (D,γ,S) is not recursively com-plete. Thus, there exists a computably enumerable A ⊆ N such that γ (A) is directedand ⊔

γ (A) �∈ S. (29)

Let f : N → N be a computable function such that, for each s,

(γ ◦ f )(s) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of A listed in fewer than s steps.

(30)

Clearly, γ ◦ f is monotone non-decreasing and⊔

γ (A) = ⊔{(γ ◦ f )(s) | s ∈ N}.Now, by way of contradiction, let ψ : N → S be an effective numbering via γ inwhich krt holds. Let λs,p � ψs(p) : N

2 → N be a computable function such that, foreach s and p,

(γ ◦ ψs)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � ψ(p)} listed infewer than s steps.

(31)

Clearly, for each p, the function λs � (γ ◦ ψs)(p) is monotone non-decreasing andψ(p) = ⊔{(γ ◦ ψs)(p) | s ∈ N}. Let λs,p � gs(p) : N

2 → N be such that, for each s

and p,

g0(p) = f (0); (32)

gs+1(p) ={f (s + 1), if (γ ◦ ψs)(p) = (γ ◦ gs)(p);

gs(p), otherwise.(33)

Clearly, λs,p � gs(p) is computable. Furthermore, since f is monotone non-decreasing, for each p, the function λs � (γ ◦ gs)(p) is monotone non-decreasing.Consider the following cases.

Page 13: Program Self-Reference in Constructive Scott Subdomains

34 Theory Comput Syst (2012) 51:22–49

CASE (∀p)[the set {s | (γ ◦ ψs)(p) = (γ ◦ gs)(p)} is finite]. By Proposition 7,

gdef= λp �

⊔{(γ ◦ gs)(p) | s ∈ N} (34)

is effective via γ . Furthermore, by the case and (33), rng(g) ⊆ rng(γ ) ⊆ S. Thus, bykrt in ψ , there exists an e such that ψ(e) = g(e). Let s0 be such that

(∀s ≥ s0)[(γ ◦ ψs)(e) �= (γ ◦ gs)(e)]. (35)

Clearly, by (33),

(∀s ≥ s0)[gs(e) = gs0(e)]. (36)

Thus,

g(e) = (γ ◦ gs0)(e). (37)

Next, note that the set B = {(γ ◦ψs)(e) | s ≥ s0} is directed, ψ(e) = ⊔B , and g(e) �⊔

B . Thus, since g(e) is compact in D (by (37)), there exists an s1 ≥ s0 such that

g(e) � (γ ◦ ψs1)(e). (38)

Furthermore,

(γ ◦ ψs1)(e) � ψ(e) � g(e). (39)

Thus,

(γ ◦ ψs1)(e) = g(e) {by (38) and (39)}= (γ ◦ gs0)(e) {by (37)}= (γ ◦ gs1)(e) {by (36) and s1 ≥ s0},

which contradicts (35).

CASE (∃p)[the set {s | (γ ◦ ψs)(p) = (γ ◦ gs)(p)} is infinite]. Then, since λs � (γ ◦ψs)(p) and λs � (γ ◦ gs)(p) are monotone non-decreasing,

ψ(p) =⊔

{(γ ◦ gs)(p) | s ∈ N}. (40)

Furthermore, from the case, it follows that {s | gs(p) = f (s)} is infinite. Thus, sinceλs � (γ ◦ gs)(p) and γ ◦ f are monotone non-decreasing,

⊔{(γ ◦ gs)(p) | s ∈ N} =

⊔{(γ ◦ f )(s) | s ∈ N}. (41)

Finally,

ψ(p) =⊔

{(γ ◦ gs)(p) | s ∈ N} {by (40)}=

⊔{(γ ◦ f )(s) | s ∈ N} {by (41)}

=⊔

γ (A) {by the choice of f }�∈ S {by (29)}

—a contradiction.

Page 14: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 35

(a) [(ii) ⇒ (i)]: Suppose that (D,γ,S) is recursively complete. Let λs,p � ψs(p) :N

2 → N be such that, for each s and p, ψs(p) is determined as follows.

– Let i0, . . . , in−1 be the elements of {i | 〈i,p〉 ∈ Wp} listed in fewer than s steps.Let m ≤ n be greatest such that {γ (i0), . . . , γ (im−1)} has an upper-bound in D.Output the least j such that γ (j) = ⊔{γ (i0), . . . , γ (im−1)}.

Clearly, λs,p � ψs(p) is computable, and, for each p, the function λs � (γ ◦ ψs)(p)

is monotone non-decreasing. Thus, by Proposition 7,

ψdef= λp �

⊔{(γ ◦ ψs)(p) | s ∈ N} (42)

is effective via γ . It is straightforward to show that S ⊆ rng(ψ). Furthermore, since(D,γ,S) is recursively complete, rng(ψ) ⊆ S. Thus, ψ is an effective numbering of(D,γ,S). To show that krt holds in ψ , let effective f : N → S via γ be fixed. Let e

be such that

We = {〈i,p〉 | γ (i) � f (p)}. (43)

Clearly, such an e exists. Furthermore,

ψ(e) =⊔

{γ (i) | 〈i, e〉 ∈ We} =⊔

{γ (i) | γ (i) � f (e)} = f (e). (44)

(b) [(i) ⇒ (ii)]: (By contrapositive). Suppose that D = {⊥}. Then, clearly, there is

only one effective f : N → S via γ , namely, λp �⊥. Thus, for any effective numberingψ : N → S via γ , and any e, ψ(e) = ⊥ = f (e).

(b) [(ii) ⇒ (iii)]: Suppose that D �= {⊥}. Then, it is straightforward to show that{⊥} ⊂ K(D). (The proof is similar to that of Proposition 14(⇐) below.) Thus, sinceK(D) ⊆ S, S �= {⊥}.(b) [(iii) ⇒ (i)]: Suppose that S �= {⊥}. It is straightforward to construct an effectivenumbering ψ : N → S via γ so that, for each p,

ψ(p) = ⊥ ⇔ p = 0. (45)

Let x0 ∈ S be such that x0 �= ⊥. Let f : N → S be such that

f (p) ={

x0, if p = 0;⊥, otherwise.

(46)

Clearly, f is effective via γ , and, for each p, ψ(p) �= f (p). �

Definition 8 just below introduces the notion of a regular partial order.

Definition 8 (Spreen [24]) A partial order D is regular ⇔ for each x, y ∈ K(D),

y �� x ⇒ (∃z ∈ K(D))[x � z ∧ {y, z} has no upper-bound in K(D)]. (47)

Page 15: Program Self-Reference in Constructive Scott Subdomains

36 Theory Comput Syst (2012) 51:22–49

We shall generally be interested in regular Scott domains. Recall from Sect. 2that, for each Scott domain D, and each x, y ∈ K(D), {x, y} has an upper-bound inK(D) ⇔ {x, y} has an upper-bound in D. Thus, if D is a Scott domain, then D isregular ⇔ for each x, y ∈ K(D),

y �� x ⇒ (∃z ∈ K(D))[x � z ∧ {y, z} has no upper-bound in D]. (48)

An example of a regular partial order is P .17 To see this, let f and g be finitefunctions over N such that g �⊆ f . If f ∪ g is not single valued, then already {f,g}has no upper-bound in P . On the other hand, if there exists an x0 ∈ N such thatf (x0) = ⊥ �= g(x0), then f ⊆ h and {g,h} has no upper-bound in P , where, foreach x,

h(x) ={

g(x0) + 1, if x = x0;f (x), otherwise.

(49)

An example of a non-regular partial order is ℘(N), the set of all subsets of N orderedby ⊆.

Our next main result, Theorem 9, characterizes the effective numberings in whichkrt holds, for the constructive Scott subdomains (D,γ,S) for which D is regular.Note that, in the definition of krt for arbitrary constructive Scott subdomains (Defini-tion 5), one could write (27) as

(∀ effective f : N → S via γ )(∃e)[ψ(e) � f (e) ∧ f (e) � ψ(e)]. (50)

Theorem 9 says that, if (D,γ,S) is a constructive Scott subdomain and D is regular,then having just the latter half of (50) suffices to have full krt.18

Theorem 9 Suppose that (D,γ,S) is a constructive Scott subdomain and that D isregular. Then, for each effective numbering ψ : N → S via γ , (a) and (b) below areequivalent.

(a) krt holds in ψ .(b) (∀ effective f : N → S via γ )(∃e)[f (e) � ψ(e)].

P is an example of a regular Scott domain. Thus, Theorem 9’s characterizationholds in the effective numberings of (P , λi �Fi, P C). (In some sense, (P , λi �Fi, P C)

represents the standard way of formulating P C as a constructive Scott subdomain.)

Proof of Theorem 9 Let (D,γ,S) and ψ be as stated. Without loss of generality,suppose that γ (0) = ⊥.

(a) ⇒ (b): Immediate.

17Recall that P is the set of all functions of type N → N⊥ ordered pointwise.18The proof of Theorem 9 bears some resemblance to Royer’s proof of [21, Theorem 4.2.15].

Page 16: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 37

(b) ⇒ (a): Let λs,p � ψs(p) : N2 → N be a computable function such that, for each

s and p,

(γ ◦ ψs)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � ψ(p)} listed in

fewer than s steps.(51)

Clearly, for each p, the function λs � (γ ◦ ψs)(p) is monotone non-decreasing andψ(p) = ⊔{(γ ◦ ψs)(p) | s ∈ N}. Let effective f : N → S via γ be fixed. Let λs,p �f s(p) : N

2 → N be a computable function such that, for each s and p,

(γ ◦ f s)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � f (p)} listed in

fewer than s steps.(52)

Clearly, for each p, the function λs � (γ ◦ f s)(p) is monotone non-decreasing andf (p) = ⊔{(γ ◦ f s)(p) | s ∈ N}. Let λs,p � gs(p) : N

2 → N be such that, for each s

and p,

g0(p) = 0 (thus, (γ ◦ g0)(p) = ⊥); (53)

gs+1(p) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

i, if (∗)[(γ ◦ ψs)(p) �� (γ ◦ gs)(p)], where i is

first found such that (γ ◦ gs)(p) � γ (i) and

{(γ ◦ ψs)(p), γ (i)} has no upper-bound in D;f s+1(p), if ¬(∗) ∧ (γ ◦ gs)(p) � (γ ◦ f s+1)(p);gs(p), otherwise.

(54)

Clearly, λs,p � gs(p) is computable, and, for each p, λs � (γ ◦ gs)(p) is monotonenon-decreasing. Thus, by Proposition 7,

gdef= λp �

⊔{(γ ◦ gs)(p) | s ∈ N} (55)

is effective via γ . It is easily seen that, for each p,

g(p) �= f (p) ⇒ (∃s)[(γ ◦ ψs)(p) �� (γ ◦ gs)(p)]. (56)

By (b) in the statement of the theorem, there exists a p be such that

g(p) � ψ(p). (57)

Consider the following cases.

CASE (∃s)[(γ ◦ ψs)(p) �� (γ ◦ gs)(p)]. Then, clearly, gs+1(p) = i for some i suchthat {(γ ◦ ψs)(p), γ (i)} has no upper-bound in D. Thus {ψ(p), g(p)} has no upper-bound in D, contradicting (57).

CASE (∀s)[(γ ◦ ψs)(p) � (γ ◦ gs)(p)]. Then, clearly,

ψ(p) =⊔

{(γ ◦ ψs)(p) | s ∈ N} �⊔

{(γ ◦ gs)(p) | s ∈ N} = g(p). (58)

Page 17: Program Self-Reference in Constructive Scott Subdomains

38 Theory Comput Syst (2012) 51:22–49

Thus, by (57), ψ(p) = g(p). Furthermore, by the case and (56), g(p) = f (p). Thus,ψ(p) = g(p) = f (p). �

Our next main result, Theorem 10, says that, if (D,γ,S) is a constructive Scottsubdomain and D is not regular, then there exists an effective numbering of (D,γ,S)

in which Theorem 9’s characterization fails. Theorems 9 and 10 together say thatTheorem 9’s characterization holds in the effective numberings of a constructive Scottsubdomain (D,γ,S) iff D is regular.

Theorem 10 Suppose that (D,γ,S) is a constructive Scott subdomain and that D isnot regular. Then, there exists an effective numbering ψ : N → S via γ satisfying (a)and (b) below.

(a) (∀ effective f : N → S via γ )(∃e)[f (e) � ψ(e)].(b) krt does not hold in ψ .

℘(N) is an example of a non-regular Scott domain. Thus, if one lets λi � Di : N →K(℘(N)) be a canonical enumeration of the finite subsets of N [12, 20], and if onelets C E be the collection of all computably enumerable sets, then Theorem 9’s char-acterization fails in the effective numberings of (℘(N), λi � Di, C E ). (In some sense,(℘(N), λi � Di, C E ) represents the standard way of formulating C E as a constructiveScott subdomain.)

Proof of Theorem 10 Let (D,γ,S) be as stated. Since D is not regular, there existx0, y0 ∈ K(D) such that

y0 �� x0 ∧ (∀z ∈ K(D))[x0 � z ⇒ {y0, z} has an upper-bound in D]. (59)

For now, suppose that ⊥ � x0. Following the proof of Claim 10.4 below, we handlethe case when x0 = ⊥.

Without loss of generality, suppose that γ (0) = ⊥ and γ (1) = x0. If krt does nothold in any effective numbering of (D,γ,S), then we are done. So, suppose that ξ iseffective numbering of (D,γ,S) in which krt holds. Let λs,p � ξ s(p) : N

2 → N be acomputable function such that, for each s and p,

(γ ◦ ξ s)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � ξ(p)} listed infewer than s steps.

(60)

Clearly, for each p, the function λs � (γ ◦ ξ s)(p) is monotone non-decreasing andξ(p) = ⊔{(γ ◦ ξ s)(p) | s ∈ N}. Let λs,p � ψs(p) : N

2 → N be such that, for each s

and i,

ψs(0) = 1 (thus, (γ ◦ ψs)(0) = x0); (61)

ψs(2i + 1) =

⎧⎪⎨⎪⎩

i, if x0 � (γ ◦ ξ s)(i), where i is such

that γ (i) = y0 � (γ ◦ ξ s)(i);ξ s(i), otherwise;

(62)

Page 18: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 39

ψ0(2i + 2) = 0 (thus, (γ ◦ ψ0)(2i + 2) = ⊥); (63)

ψs+1(2i + 2) ={

ξ s+1(i), if x0 �� (γ ◦ ξ s+1)(i) ∨ x0 � (γ ◦ ξ s+1)(i);ψs(2i + 2), otherwise (i.e., (γ ◦ ξ s+1)(i) = x0).

(64)

Clearly, λs,p � ψs(p) is computable. Furthermore, it is straightforward to show that,for each p, the function λs �(γ ◦ψs)(p) is monotone non-decreasing. Thus, by Propo-sition 7,

ψdef= λp �

⊔{(γ ◦ ψs)(p) | s ∈ N} (65)

is effective via γ .It is also straightforward to show that, for each z ∈ S, there exists a p ∈ 2N such

that ψ(p) = z. (More specifically: if z = x0, then p = 0; if z �= x0, then p ∈ 2N + 2.)Thus, ψ is an effective numbering of (D,γ,S).

Claim 10.1 (∀ effective f : N → S via γ )(∃e)[f (e) � ψ(e)], i.e., ψ satisfies (a) inthe statement of the theorem.

Proof of Claim Let effective f : N → S via γ be fixed. Let g : N → S be such that,for each i,

g(i) = f (2i + 1). (66)

Clearly, g is effective via γ . Thus, by krt in ξ , there exists an i such that ξ(i) = g(i).Clearly, ξ(i) � ψ(2i + 1). Thus,

f (2i + 1) = g(i) = ξ(i) � ψ(2i + 1). (67)

Claim 10.2 (∀i)[ψ(2i + 1) �= x0].Proof of Claim By way of contradiction, let i be such that ψ(2i + 1) = x0. Then,clearly, ψ(2i + 1) = y0 � ξ(i). But then,

y0 � y0 � ξ(i) = ψ(2i + 1) = x0, (68)

contradicting (59). �

Claim 10.3 (∀i)[ψ(2i + 2) �= x0].Proof of Claim By way of contradiction, suppose otherwise, i.e., suppose that thereexists an i such that x0 = ⊔

A, where

A = {(γ ◦ ψs)(2i + 2) | s ∈ N}. (69)

It follows from (60), (63), and (64) that A is directed. Thus, since x0 is compact in D,there exists a least s0 such that

x0 � (γ ◦ ψs0)(2i + 2). (70)

Page 19: Program Self-Reference in Constructive Scott Subdomains

40 Theory Comput Syst (2012) 51:22–49

Recall that ⊥ � x0. Thus, by (63) and (64), it must be the case that s0 > 0, and that

ψs0(2i + 2) = ξ s0(i), (71)

where

x0 �� (γ ◦ ξ s0)(i) ∨ x0 � (γ ◦ ξ s0)(i). (72)

By (70)–(72), it is clearly the case that

x0 � (γ ◦ ψs0)(2i + 2). (73)

But then, by (69), x0 �⊔

A—a contradiction. �

Claim 10.4 krt does not hold in ψ .

Proof of Claim Let f : N → S be such that, for each p,

f (p) ={

y0, if p = 0;x0, otherwise.

(74)

Clearly, f is effective via γ . By Claims 10.2 and 10.3, (∀p)[ψ(p) �= f (p)]. �

Suppose that x0 = ⊥. Then, change (63) and (64) so that

{ψ(2i + 2) | i ∈ N} = S − {⊥}. (75)

With the exception of the proof of Claim 10.3, all of the preceding reasoning remainsessentially unchanged. Claim 10.3, on the other hand, becomes immediate.

This completes the proof of Theorem 10. �

4 krt and fprt in Constructive Scott Subdomains

In this section, we compare krt and fprt in arbitrary constructive Scott subdomains.The generalization of fprt to arbitrary constructive Scott subdomains is essentiallydue to Ershov.19

Definition 11 (Ershov [8]) Suppose that (D,γ,S) is a constructive Scott subdomain.Then, for each effective numbering ψ : N → S via γ , fprt holds in ψ ⇔

(∀ computable t : N → N)(∃e)[ψ(e) = (ψ ◦ t)(e)]. (76)

Recall from Sect. 1 that krt entails fprt in effective numberings of type N → P C .Does this entailment relationship carry over to effective numberings of arbitrary con-structive Scott subdomains? Proposition 12 just below says that the answer is “yes”.20

19See, for example, [1, Theorem 2.1].20Proposition 12 generalizes Riccardi’s [18, Theorem 5.1].

Page 20: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 41

Proposition 12 Suppose that (D,γ,S) is a constructive Scott subdomain. Then, foreach effective numbering ψ : N → S via γ , if krt holds in ψ , then fprt holds in ψ aswell.

Proof Let (D,γ,S) be as stated, and suppose that ψ is an effective numbering of(D,γ,S) in which krt holds. Let computable t : N → N be fixed. Since ψ is effec-tive via γ (i.e., {〈i,p〉 | γ (i) � ψ(p)} is computably enumerable), clearly, ψ ◦ t iseffective via γ as well (i.e., {〈i,p〉 | γ (i) � (ψ ◦ t)(p)} is computably enumerable).Thus, by krt in ψ , there exists an e such that ψ(e) = (ψ ◦ t)(e). (Intuitively, one canimagine that e computes t (e) using a self-copy, and then simulates t (e) by treating itas a ψ -program.) �

Also recall from Sect. 1 that there exist effective numberings of P C in whichfprt holds, but in which krt does not hold [18, Theorem 5.3]. Do there exist suchnumberings for arbitrary constructive Scott subdomains?

The answer, as it turns out, is that such numberings exist for some constructiveScott subdomains, but not for others. Note that, for subdomains of the latter kind, krtand fprt are equivalent, by Proposition 12. Our next main result, Theorem 13, saysthat, for a constructive Scott subdomain (D,γ,S), this equivalence occurs preciselywhen D is flat. In such a subdomain, krt and fprt capture the notion of program self-reference equally well.

Theorem 13 Suppose that (D,γ,S) is a constructive Scott subdomain. Then, (a) and(b) below are equivalent.

(a) (∀ effective ψ : N → S via γ )[krt holds in ψ ⇔ fprt holds in ψ ].(b) D is flat.

N⊥ is an example of a flat Scott domain.21 Thus, this equivalence occurs in anyconstructive subdomain of N⊥. Recall from Sect. 3 that, in an effective numberingψ : N → N⊥, one could reasonably call a program e self-reproducing iff ψ(e) = e.Clearly, in such a numbering, krt suffices to assure the existence of such a program.Furthermore, by Theorem 13, fprt is equally sufficient.

The proof of Theorem 13 makes use of the following proposition.

Proposition 14 Suppose that D is a Scott domain. Then, D is flat ⇔ K(D) is flat.

Proof (⇒) Immediate. (⇐) Suppose that K(D) is flat. To show the proposition, itsuffices to show that D ⊆ K(D). Let y ∈ D be fixed. Since D is algebraic, the setA = {x ∈ K(D) | x � y} is directed and y = ⊔

A. Since A is directed and A ⊆ K(D),A must be of the form: {⊥}, {x}, or {⊥, x}, for some x ∈ K(D). Clearly, for eachpossibility,

⊔A ∈ K(D). Thus, y ∈ K(D). �

Proof of Theorem 13 (a) ⇒ (b): (By contrapositive.) Let (D,γ,S) be a constructiveScott subdomain such that D is not flat. To show this part of the theorem, it suffices

21Of course, P C and C E are not flat. Thus, neither are P nor ℘(N).

Page 21: Program Self-Reference in Constructive Scott Subdomains

42 Theory Comput Syst (2012) 51:22–49

to exhibit an effective numbering ψ : N → S via γ in which fprt holds, and in whichkrt does not hold. By Proposition 14, K(D) is not flat. Thus, there exist x0, y0 ∈K(D) such that ⊥ � x0 � y0. Without loss of generality, suppose that γ (0) = ⊥ andγ (1) = x0. Let ξ be any effective numbering of (D,γ,S). Let λs,p � ξ s(p) : N

2 → N

be a computable function such that, for each s and p,

(γ ◦ ξ s)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � ξ(p)} listed infewer than s steps.

(77)

Clearly, for each p, the function λs � (γ ◦ ξ s)(p) is monotone non-decreasing andξ(p) = ⊔{(γ ◦ ξ s)(p) | s ∈ N}. Let λs,p, x �ϕs

p(x) be such that, for each s, p, and x,

ϕsp(x) =

{ϕp(x), if ϕp(x) converges in fewer than s steps;⊥, otherwise.

(78)

Let λs,p � ψs(p) : N2 → N be such that, for each s and i,

ψs(0) = 1 (thus, (γ ◦ ψs)(0) = x0); (79)

ψ0(2i + 1) = 0 (thus, (γ ◦ ψ0)(2i + 1) = ⊥); (80)

ψs+1(2i + 1) ={

(ψs ◦ ϕsi )(2i + 1), if ϕs

i (2i + 1) �= ⊥;0, otherwise; (81)

ψ0(2i + 2) = 0 (thus, (γ ◦ ψ0)(2i + 2) = ⊥); (82)

ψs+1(2i + 2) ={

ξ s+1(i), if x0 �� (γ ◦ ξ s+1)(i) ∨ x0 � (γ ◦ ξ s+1)(i);ψs(2i + 2), otherwise (i.e., (γ ◦ ξ s+1)(i) = x0).

(83)

Clearly, λs,p � ψs(p) is computable. Furthermore, it is straightforward to show that,for each p, the function λs �(γ ◦ψs)(p) is monotone non-decreasing. Thus, by Propo-sition 7,

ψdef= λp �

⊔{(γ ◦ ψs)(p) | s ∈ N} (84)

is effective via γ .It is also straightforward to show that, for each z ∈ S, there exists a p ∈ 2N such

that ψ(p) = z. (More specifically: if z = x0, then p = 0; if z �= x0, then p ∈ 2N + 2.)Thus, ψ is an effective numbering of (D,γ,S). That fprt holds in ψ is shown byClaim 13.1 below. That krt does not hold in ψ is shown by Claim 13.6 below.

Claim 13.1 fprt holds in ψ .

Proof of Claim Let computable t : N → N be fixed. Let i be such that ϕi = t . Sincet is computable, ϕi(2i + 1) �= ⊥. Clearly, by the construction of ψ , ψ(2i + 1) =(ψ ◦ ϕi)(2i + 1). Thus, ψ(2i + 1) = (ψ ◦ t)(2i + 1). �

Claim 13.2 (∀i)[ψ(2i + 2) �= x0].Proof of Claim The proof is essentially the same as that of Claim 10.3. �

Page 22: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 43

For the purposes of Claims 13.3–13.5 below, let λi0 � [P(i0)] be such that, for eachi0, P(i0) ⇔ there exists a finite sequence i1, . . . , in such that

(∀j < n)[ϕij (2ij + 1) = 2ij+1 + 1] ∧ ϕin(2in + 1) /∈ 2N + 1. (85)

Claim 13.3 Suppose that i0 is such that P(i0), and that in is as in (85) for i0. Then,(a)–(c) below.

(a) If ϕin(2in + 1) = ⊥, then ψ(2i0 + 1) = ⊥.(b) If ϕin(2in + 1) = 0, then ψ(2i0 + 1) = x0.(c) If ϕin(2in + 1) ∈ 2N + 2, then ψ(2i0 + 1) �= x0.

Proof of Claim (a) and (b) are clear by the construction of ψ . (c) follows from theconstruction of ψ and Claim 13.2. �

Claim 13.4 Suppose that i0 is such that ¬P(i0). Then, ψ(2i0 + 1) = ⊥.

Proof of Claim To show the claim, it suffices to show that

(∀s, i0)[¬P(i0) ⇒ ψs(2i0 + 1) = 0]. (86)

The proof of (86) is by induction on s. The case when s = 0 is immediate. So, supposethat (86) holds for s, and let i0 be such that ¬P(i0). If ϕs

i0(2i0 +1) = ⊥, then again the

proof is immediate. So, suppose that ϕsi0(2i0 + 1) �= ⊥. Since ¬P(i0), there exists an

i1 such that ϕsi0(2i0 +1) = 2i1 +1 and ¬P(i1). By (86) for s and i1, ψs(2i1 +1) = 0.

Thus, by (81),

ψs+1(2i0 + 1) = (ψs ◦ ϕsi0)(2i0 + 1) = ψs(2i1 + 1) = 0. (87)

Claim 13.5 The predicate λi0 � [ψ(2i0 + 1) = x0] is partial computable.

Proof of Claim Let i0 be fixed. By Claims 13.3 and 13.4, ψ(2i0 + 1) = x0 ⇔ P(i0)

and the corresponding in satisfies the condition of Claim 13.3(b). Since the conjunc-tion of these two conditions is partial computable, the claim follows. �

Claim 13.6 krt does not hold in ψ .

Proof of Claim Let f : N → S be such that, for each p,

f (0) = y0; (88)

f (2i + 1) ={

y0, if ψ(2i + 1) = x0;x0, otherwise; (89)

f (2i + 2) = x0. (90)

By Claim 13.5, f is effective via γ . Clearly, (∀p)[ψ(p) �= f (p)]. �

Page 23: Program Self-Reference in Constructive Scott Subdomains

44 Theory Comput Syst (2012) 51:22–49

(b) ⇒ (a): Let (D,γ,S) be a constructive Scott subdomain such that D is flat. Then,clearly, S is flat. Furthermore,

(∀x, y ∈ S)[⊥ � x � y ⇒ x = y]. (91)

By Proposition 12, it suffices to show that: for every effective numbering of (D,γ,S)

in which krt does not hold, fprt also does not hold. If krt holds in every effective num-bering of (D,γ,S), then we are done. So, suppose that ψ is an effective numberingof (D,γ,S) in which krt does not hold. Let λs,p � ψs(p) : N

2 → N be a computablefunction such that, for each s and p,

(γ ◦ ψs)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � ψ(p)} listed infewer than s steps.

(92)

Clearly, for each p, the function λs � (γ ◦ ψs)(p) is monotone non-decreasing andψ(p) = ⊔{(γ ◦ψs)(p) | s ∈ N}. Since krt does not hold in ψ , there exists an effectivef : N → S via γ such that

(∀p)[ψ(p) �= f (p)]. (93)

Let λs,p � f s(p) : N2 → N be a computable function such that, for each s and p,

(γ ◦ f s)(p) = ⊔{γ (i0), . . . , γ (in−1)},where i0, . . . , in−1 are the elements of {i | γ (i) � f (p)} listed infewer than s steps.

(94)

Clearly, for each p, the function λs � (γ ◦ f s)(p) is monotone non-decreasing andf (p) = ⊔{(γ ◦ f s)(p) | s ∈ N}. Let p0 be such that ψ(p0) = ⊥. Let t : N → N besuch that, for each p, t (p) is determined as follows.

Dovetail between the following two steps until one applies. (By (93), one musteventually apply.)

(i) If, for some s, (γ ◦ f s)(p) �= ⊥, output q , where q is first found such that (γ ◦f s)(p) � ψ(q).

(ii) If, for some s, (γ ◦ ψs)(p) �= ⊥, output p0.

Clearly, t is computable. It remains to show that (∀p)[ψ(p) �= (ψ ◦ t)(p)]. Let p befixed, and consider the following cases.

CASE [Step (i) applies first in the computation of t (p)]. Let s and q be as in thecomputation of t (p). By (91), f (p) = (γ ◦ f s)(p) and ψ(q) = (γ ◦ f s)(p). Thus,

ψ(p) �= f (p) = (γ ◦ f s)(p) = ψ(q) = (ψ ◦ t)(p). (95)

CASE [Step (ii) applies first in the computation of t (p)]. Then, clearly,

ψ(p) �= ⊥ = ψ(p0) = (ψ ◦ t)(p). (96)

This completes the proof of Theorem 13. �

Page 24: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 45

A beautiful question posed to us at CiE’09 by Serikzhan Badaev was the fol-lowing. Might the equivalence of krt and fprt in flat Scott domains be somehowconnected to the notion of a complete effective numbering22 (reviewed just be-low)?

Definition 15 (Mal’tsev [15]) Suppose that (D,γ,S) is a constructive Scott sub-domain. Then, for each effective numbering ψ : N → S via γ , ψ is complete ⇔for each effective g : N → N⊥, there exists a computable h : N → N such that, foreach x,

(ψ ◦ h)(x) ={

(ψ ◦ g)(x), if g(x) �= ⊥;⊥, otherwise.

(97)

Thus, an effective numbering ψ is complete iff, for each partial computable g,there exists a total computable h with the property that: for each x, ψ -programs h(x)

and g(x) compute the same element when g(x) �= ⊥, and ψ -program h(x) computes⊥ when g(x) = ⊥.

The following is a slight relaxation of the notion of completeness.

Definition 16 (Mal’tsev [14], Ershov [8]) Suppose that (D,γ,S) is a constructiveScott subdomain. Then, for each effective numbering ψ : N → S via γ , ψ is precom-plete ⇔ for each effective g : N → N⊥, there exists a computable h : N → N suchthat, for each x,

g(x) �= ⊥ ⇒ (ψ ◦ h)(x) = (ψ ◦ g)(x). (98)

Clearly, every complete numbering is precomplete.We interpret Badaev’s question as follows. Suppose that (D,γ,S) is a constructive

Scott subdomain, that D is flat, and that ψ is an effective numbering of (D,γ,S).Then, might it be the case that

krt holds in ψ ⇔ fprt holds in ψ ⇔ ψ is complete? (99)

Our final main result, Theorem 17, says that the answer to Badaev’s question, as weinterpret it, is “no”.

Theorem 17 There exists an effective numbering ψ : N → N⊥ satisfying (a) and (b)

below.

(a) krt holds in ψ .(b) ψ is not precomplete.

The proof of Theorem 17 makes use of the following result, due to Ershov.

22The reader may recall that the notion of a complete partial order was introduced in Sect. 2. The twonotions are altogether different, and should not be confused.

Page 25: Program Self-Reference in Constructive Scott Subdomains

46 Theory Comput Syst (2012) 51:22–49

Theorem 18 (Ershov [8])23 Suppose that (D,γ,S) is a constructive Scott subdo-main. Then, for each effective numbering ψ : N → S via γ , (a) and (b) below areequivalent.

(a) ψ is precomplete.(b) There exists a computable n : N → N such that, for each e,

(ϕe ◦ n)(e) �= ⊥ ⇒ (ψ ◦ ϕe ◦ n)(e) = (ψ ◦ n)(e). (100)

Proof of Theorem 17 ψ is constructed in conjunction with an infinite sequence ofdistinct ϕ-programs e0, e1, . . . using the 1-1 Operator Recursion Theorem [4, 5].24

Two functions lo,hi : N → N are defined recursively as follows.

lo(0) = 0; (101)

lo(p + 1) = 2 · lo(p) + 3. (102)

hi(p) = lo(p + 1) − 1. (103)

The sequence lo(0), lo(1), . . . begins

0, 3, 9, 21, 45, 93, . . . . (104)

Claim 17.1 For each p, (a) and (b) below.

(a) |{lo(p), . . . ,hi(p)}| = lo(p) + 3.(b) p ≤ lo(p).

Proof of Claim Straightforward. �

Let be a fixed Blum complexity measure for ϕ [2].25 Let λs,p, x � ϕsp(x) be

such that, for each s, p, and x,

ϕsp(x) =

{ϕp(x), if p(x) ≤ s;⊥, otherwise.

(105)

Construct ψ and ϕ-programs e0, e1, . . . by executing stages s = −1,0,1, . . . succes-sively as follows.

23See [1, Theorem 2.1].24Intuitively, the 1-1 Operator Recursion Theorem allows one to construct an infinite sequence of distinctϕ-programs e0, e1, . . . such that each program ei knows all programs in the sequence and its own index i.25For any partial computable function, many such measures exist. For example, if ϕ is based on a standardenumeration of all Turing machines [20], then one possible Blum complexity measure for ϕ is

λp,x �

⎧⎨⎩

the number of steps taken before the pth if the pth Turing machineTuring machine halts on input x, halts on input x;

⊥, otherwise.

Page 26: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 47

– STAGE s = −1. Set ψ0(0) = 0, set ψ0(1) = 1, and go to stage s + 1.Hint: (∀x ∈ {0,1})[ψ(x) = x]. This fact will be of use in subsequent stages.

– STAGE s = 2〈p,−〉. For each i ∈ {lo(p), . . . ,hi(p)}, if ψs(i + 2) = ⊥ andϕs

p(i + 2) �= ⊥, then set ψs+1(i + 2) = ϕsp(i + 2). Either way, go to stage s + 1.

Hint: For each such i, try to make it that ψ(i + 2) = ϕp(i + 2).– STAGE s = 2〈p, t〉 + 1. Determine whether (106) just below holds.

t = max{p(ei) | i ∈ {lo(p), . . . ,hi(p)}}. (106)

If (106) does not hold, then go to stage s + 1. Otherwise, let n = ϕp , and act ac-cording to the following three conditions, which are exhaustive. (Note that if (106)holds, then (∀i ∈ {lo(p), . . . ,hi(p)})[n(ei) �= ⊥].)– COND. (i) (∃i ∈ {lo(p), . . . ,hi(p)})[(ψs ◦ n)(ei) �= ⊥]. Choose an i as in the

condition. Let x ∈ {0,1} be least such that x �= (ψs ◦n)(ei). Set (ϕei◦n)(ei) = x,

and go to stage s + 1.Hint: (ϕei

◦ n)(ei) �= ⊥ but

(ψ ◦ ϕei◦ n)(ei) = ψ(x) = x �= (ψ ◦ n)(ei). (107)

– COND. (ii) [¬(i) ∧ (∃i ∈ {lo(p), . . . ,hi(p)})[n(ei) ≥ lo(p)+2]]. Choose an i asin the condition. Note that because ¬(i), (ψs ◦n)(ei) = ⊥. Set (ϕei

◦n)(ei) = 0,set (ψs ◦ n)(ei) = 1, and go to stage s + 1.

Hint: (ϕei◦ n)(ei) �= ⊥ but

(ψ ◦ ϕei◦ n)(ei) = ψ(0) = 0 �= 1 = (ψ ◦ n)(ei). (108)

– COND. (iii) [¬(i) ∧ ¬(ii)]. The case implies

(∀i ∈ {lo(p), . . . ,hi(p)})[n(ei) < lo(p) + 2]. (109)

Thus, by Claim 17.1(a), there exist distinct i, j ∈ {lo(p), . . . ,hi(p)} such thatn(ei) = n(ej ). Set (ϕei

◦ n)(ei) = 0, set (ϕej◦ n)(ej ) = 1, and go to stage s + 1.

Hint: (ϕei◦ n)(ei) �= ⊥ and (ϕej

◦ n)(ej ) �= ⊥. Thus, for n to satisfy (100), itwould have to be the case that

(ψ ◦ ϕei◦ n)(ei) = (ψ ◦ n)(ei)

∧ (ψ ◦ ϕej◦ n)(ej ) = (ψ ◦ n)(ej ).

(110)

But this is impossible since (ψ ◦ n)(ei) = (ψ ◦ n)(ej ) and

(ψ ◦ ϕei◦ n)(ei) = ψ(0) = 0 �= 1 = ψ(1) = (ψ ◦ ϕej

◦ n)(ej ). (111)

End of construction of ψ and e0, e1, . . ..

Claim 17.2 krt holds in ψ .

Proof of Claim To show that krt holds in ψ , it suffices to show that, for each q , thereexists an i such that ψ(i + 2) = ϕq(i + 2) (i.e., in (27), one can take e = i + 2 whenϕq = f ). So, let q be fixed. An examination of the construction of ψ reveals that,

Page 27: Program Self-Reference in Constructive Scott Subdomains

48 Theory Comput Syst (2012) 51:22–49

for each i ∈ {lo(q), . . . ,hi(q)}, there are three ways by which ψ(i + 2) can obtain itsvalue.

(a) ψ(i + 2) is set to ϕq(i + 2) in a stage of the form 2〈q,−〉.(b) ψ(i + 2) is set to 1 by COND. (ii) of a stage of the form 2〈p, t〉 + 1, for some p

and t .(c) ψ(i + 2) is never set, and, thus, ψ(i + 2) = ⊥. (Note that this implies that

ϕq(i + 2) = ⊥.)

In cases (a) and (c), ψ(i + 2) = ϕq(i + 2). Thus, by Claim 17.1(a), it suffices to showthat: for at most lo(q) + 2 many of the i ∈ {lo(q), . . . ,hi(q)}, ψ(i + 2) is set as aresult of case (b).

Note that if COND. (ii) of stage 2〈p, t〉 + 1 sets ψ(i + 2), where i ∈ {lo(q), . . . ,

hi(q)}, then it must be the case that i +2 ≥ lo(p)+2. Furthermore, since lo is clearlymonotone increasing, it must also be the case that p ≤ q . Note that there are onlyq + 1 many p ≤ q . Furthermore, for each such p, COND. (ii) can apply in at mostone stage of the form 2〈p, t〉+ 1, namely, that with t as in (106). Thus, at most q + 1many of the i ∈ {lo(q), . . . ,hi(q)} can be set as a result of case (b). Finally, it followsfrom Claim 17.1(b) that q + 1 ≤ lo(q) + 2. �

Claim 17.3 There is no computable n : N → N satisfying (100).

Proof of Claim By way of contradiction, let n witness otherwise. Let p be such thatϕp = n. Note that since n is total, (∀i ∈ {lo(p), . . . ,hi(p)})[n(ei) �= ⊥]. Thus, thereexists a t as in (106) for p. But then, clearly, the actions performed in stage 2〈p, t〉+1prevent n from satisfying (100). �

By Claim 17.3 and Theorem 18, ψ is not precomplete.This completes the proof of Theorem 17. �

Acknowledgements We would like to thank the anonymous reviewers for their meticulous reading ofour manuscript, and for their many helpful suggestions.

References

1. Badaev, S., Goncharov, S., Sorbi, A.: Completeness and universality of arithmetical numberings. In:Computability and Models, pp. 11–44. Springer, Berlin (2003)

2. Blum, M.: A machine independent theory of the complexity of recursive functions. J. ACM 14(2),322–336 (1967)

3. Case, J.: A note on the degrees of self-describing Turing machines. J. ACM 18(3), 329–338 (1971)4. Case, J.: Periodicity in generations of automata. Math. Syst. Theory 8(1), 15–32 (1974)5. Case, J.: Infinitary self-reference in learning theory. J. Exp. Theor. Artif. Intell. 6(1), 3–16 (1994)6. Case, J., Moelius, S.: Independence results for n-ary recursion theorems. In: FCT’09: Proc. of 17th

International Symposium on Fundamentals of Computation Theory. Lecture Notes in Computer Sci-ence, vol. 5699, pp. 38–49 (2009)

7. Case, J., Moelius, S.: Program self-reference in constructive Scott subdomains. In: CiE’09: Proc. ofFifth Conference of Computability in Europe. Lecture Notes in Computer Science, vol. 5635, pp.89–98 (2009)

8. Ershov, Y.L.: Theory of Numberings. Nauka, Moscow (1977). In Russian9. Hofstadter, D.R.: Gödel, Escher, Bach: An Eternal Golden Braid (1979). Basic Books

Page 28: Program Self-Reference in Constructive Scott Subdomains

Theory Comput Syst (2012) 51:22–49 49

10. Jain, S., Stephan, F., Teutsch, J.: Index sets and universal numberings. In: CiE’09: Proc. of FifthConference of Computability in Europe. Lecture Notes in Computer Science, vol. 5635, pp. 270–279(2009)

11. Lee, C.Y.: A Turing machine which prints its own code script. In: Proc. of the Symposium on Mathe-matical Theory of Automata, pp. 155–164 (1963)

12. Machtey, M., Young, P.: An Introduction to the General Theory of Algorithms. North Holland, Ams-terdam (1978)

13. Machtey, M., Winklmann, K., Young, P.: Simple Gödel numberings, isomorphisms, and programmingproperties. SIAM J. Comput. 7(1), 39–60 (1978)

14. Mal’tsev, A.I.: Constructive algebras. Usp. Mat. Nauk 16(3), 3–60 (1961). In Russian15. Mal’tsev, A.I.: Sets with complete numberings. Algebra Log. 2(2), 4–29 (1963). In Russian16. Moore, K.: MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions

for Non-ASCII Text (1996). RFC204717. Quine, W.V.: The Ways of Paradox and Other Essays (1966). Random House. Reprinted, Harvard

University Press (1976)18. Riccardi, G.: The independence of control structures in abstract programming systems. PhD thesis,

SUNY Buffalo (1980)19. Rogers, H.: Gödel numberings of partial recursive functions. J. Symb. Log. 23(3), 331–341 (1958)20. Rogers, H.: Theory of Recursive Functions and Effective Computability. McGraw Hill, New York

(1967). Reprinted, MIT Press, 198721. Royer, J.: A Connotational Theory of Program Structure. Lecture Notes in Computer Science,

vol. 273. Springer, Berlin (1987)22. Spreen, D.: Computable one-to-one enumerations of effective domains. Inf. Comput. 84(1), 26–46

(1990)23. Spreen, D.: On effective topological spaces. J. Symb. Log. 63(1), 185–221 (1998)24. Spreen, D.: On domains witnessing increase in information. Applied General Topology 1(1) (2000)25. Spreen, D.: On some problems in computable topology. In: Logic Colloquium 2005, pp. 221–254.

Cambridge University Press, Cambridge (2007)26. Stoltenberg-Hansen, V., Lindström, I., Griffor, E.R.: Mathematical Theory of Domains. Cambridge

University Press, Cambridge (1994)27. Thatcher, J.M.: The construction of a self-describing Turing machine. In: Proc. of the Symposium on

Mathematical Theory of Automata, pp. 165–171 (1963)28. Thompson, G.P.: The Quine Page (1999). http://www.nyx.net/~gthompso/quine.htm


Recommended