Notes on Recursion Theory by Yurii Khomskii

Total Page:16

File Type:pdf, Size:1020Kb

Notes on Recursion Theory by Yurii Khomskii Notes on Recursion Theory by Yurii Khomskii This is a concise set of notes for the course Recursion Theory. It's not meant to replace any textbook, but rather as an additional guide for a better orientation in the material. {Yurii 1. Models of Computation. 1.1. Introduction. We are looking at the collection of natural numbers, denoted by N := f0; 1; 2; 3; : : : g. Consider all f : N −! N, or in general f : Nn −! N, i.e., all functions that take some natural numbers as input and likewise output a natural number. Intuitively, some of these functions are computable, that is, for a given input (x0; : : : ; xn) there is a mechanical, algorithmic process for com- puting f(x0; : : : ; xn). For example, the function f defined by f(x) := x · 2 + 5 is computable, because the following algorithm computes it: \take the input x, multiply it by 2 and then add 5, and output the result." In general, there is a huge amount of functions from Nn to N (uncountably many) and not all of them can be computable. The essential point of Recur- sion Theory is to study this notion of computability, e.g. which functions are computable, \how" computable they are etc. So far, the concept of \computability" was intuitive and, even though most of us have a good intuition about what qualifies as an algorithm, we still need to make the notion precise if we want to develop a mathematical theory about it. In other words, we need to give a formal definition capturing the intuitive notion of \algorithmically computable". As it turns out, there are many equivalent definitions of this concept, the so-called models of computation, and we shall present the main candidates in the following sections. All of these define precisely the same class of computable functions, which we will denote by Comp. Comp := ff : Nn −! N j f is computableg The postulation that the class defined by one of those mathematical for- malisms is indeed the class of functions we would intuitively call \computable", is usually called the Church-Turing Thesis. 1 Note that the class Comp may also contains partial functions, i.e., functions whose value is not defined for every x 2 N. This is an essential feature of Recursion Theory, and it is not possible to give a satisfactory definition of computability which would avoid it (otherwise one could produce a contradiction by a diagonal argument.) 1.1. Definitions and Notation. Let f be a function from Nn to N. 1. We denote a sequence (x0; : : : ; xn) by ~x. 2. If f(~x) is defined then we write f(~x) #. Otherwise we write f(~x) ". 3. The domain of f is dom(f) := f~x 2 Nn j f(~x) #g. 4. The range of f is ran(f) := fy 2 N j y = f(~x) for some ~x 2 Ng. 5. If f and g are two functions then f◦g is the function defined by (f◦g)(x) := f(g(x)). 6. A function f is total if dom(f) = N and partial otherwise. 7. If A ⊆ Nn is a set then we use the notation A for the complement of A, i.e., Nn n A. C 1.2. The Recursive Model. Our first model of computability, namely the \recursive functions"-model, is based on the mathematical notion of definitions by recursion. We divide the definition into two steps: first, we define the simpler class of primitive recursive functions, denoted by PrimRec, and later we will extend it to the class of recursive functions, denoted by Rec. 1.2. Definition. The class PrimRec of primitive recursive functions is defined by induction as follows: 1. The constant zero function f : ~x 7! 0 is primitive recursive. We will denote this function by 0. 2. The successor function S : x 7! x + 1 is primitive recursive. 3. The i-th projection function ei : (x0; : : : ; xn) 7! xi is primitive recur- sive. 4. If g; h0; : : : ; hn are primitive recursion then the substitution function f defined by f(~x) := g(h0(~x); : : : ; hn(~x)) is primitive recursive. 2 5. If g and h are primitive recursive, then f defined as follows is primitive recursive: f(~x; 0) := g(~x) f(~x; y + 1) := h(y; f(~x; y); ~x)1 In this case, f is a definition by primitive recursion based on initial function g and recursion function h. C Examples: • Suppose we want to prove that the identity function id defined by id(x) := x is primitive recursive. Simply write id = e1 and we are done. • Suppose we want to prove that the function f defined by f(x) := 3 is primitive recursive. Then we can write f = S ◦ S ◦ S ◦ 0 The equality clearly holds because for all x we have S(S(S(0)))(x) = S(S(S(0))) = S(S(1)) = S(2) = 3. And, by the inductive definition, this function is primitive recursive. • Suppose we want to prove that addition, i.e. the function mapping (x; y) to x + y, is primitive recursive. First, note that the intuitive recursion involved is the following: x + 0 = x x + (y + 1) = (x + y) + 1 Formally, then, we need the initial function g := id, and the recursion function h = S ◦ e2. Clearly, g and h are primitive recursive. But then, so is f defined by f(x; 0) := g(x) = x f(x; y + 1) := h(y; f(x; y); x) = S(f(x; y)) = f(x; y) + 1 Clearly, f is the addition function, since the formal definition corresponds precisely to the intuitive one. Note that all functions in PrimRec are total. Although many simple arith- metical functions are primitive recursive, this notion is not sufficient to formalize the intuitive concept of computability. Therefore, we expand the class of primi- tive recursive functions to the class of recursive (sometimes called µ-recursive) functions, denoted by Rec, by adding the µ-operator. 1.3. Definition. If P (x) is any predicate (relation), then µi (P (i)) is defined to be the least i 2 N such that P (i) holds. Now the class Rec is defined by induction: 1To avoid confusion, note that different textbooks use a different order here. This will be important when using projection functions: e1, e2 or e3. 3 1. If g is primitive recursive then it is recursive. 2. If g is recursive then so is f defined by f(~x) := µi[g(~x; i) = 0 ^ 8j < i [g(~x; j) #6= 0] C Essentially, the idea of point 2. above is the mathematical simulation of the following algorithm: \If g is a recursive function, compute the value of g(~x; i) for incre- menting i (i.e. i = 0, then i = 1, then i = 2 etc.) As soon as you find g(~x; i) = 0, output i." N.B. f(x) is only defined if there exists a i such that g(~x; i) = 0 and for all j < i, g(~x; j) is defined and 6= 0. This corresponds to the intuition of µ being an algorithmic process computing the value of g(~x; i) for incrementing i, which may get stuck while trying to compute an undefined value of g(~x; j). 1.3. The Turing Machine Model. Another model of computation is the Turing Machine. This is a formalism based not on an arithmetical notion like the recursive functions, but rather on the notion of an actual algorithmic process. Abstracting itself from a real computer on one hand, and a real mathematician with pen and paper on the other, it is arguably the strongest model of computation. 1.4. Definition. A Turing Machine is a device with a two-way infinite tape divided into cells, a reading and writing head and an internal finite set of states Q := fq0; q1; : : : ; qng. On the tape can be written two symbols: 0 (for \blank") or 1. The head can read one symbol at a time, write a new symbol on its place, and move left, right, or stay where it is. The actions of this machine are controlled by a Turing program, which is a finite sequence of quintuples of the following kind: (q; s; q0; s0; X) 2 Q × f0; 1g × Q × f0; 1g × fL; R; Cg Such a quintuple is interpreted as the following instruction to the Turing ma- chine: \If you are in state q and you read an s, go to state q0, write an s0, and move the head left, right, or nowhere, depending on whether X = L; R or C respectively."2 2Note that many texts give slightly different versions of the Turing machine. For example, in some cases the alphabet for the tape can consist not only of f0; 1g but all natural numbers etc. In some cases (Soares) X = C is prohibited, while in yet other presentations (Cooper) the machine can either print a new symbol or move to the right or left, in each step. These details, however, are irrelevant and it is easy to translate a program from one style to another. 4 By convention, every Turing machine starts in state q1 (the initial state) and halts if and only if it reaches state q0 (the halting state). C By convention, an input x 2 N is represented by x + 1 consecutive 1's and the output is the total number of 1's on the tape. 1.5. Definition. If T is a Turing machine then the corresponding function fT is defined as follows: N −! N f : y if on input x, T halts with output y T x 7−! " if T never halts on input x A function f is Turing computable if f = fT for a Turing machine T .
Recommended publications
  • “The Church-Turing “Thesis” As a Special Corollary of Gödel's
    “The Church-Turing “Thesis” as a Special Corollary of Gödel’s Completeness Theorem,” in Computability: Turing, Gödel, Church, and Beyond, B. J. Copeland, C. Posy, and O. Shagrir (eds.), MIT Press (Cambridge), 2013, pp. 77-104. Saul A. Kripke This is the published version of the book chapter indicated above, which can be obtained from the publisher at https://mitpress.mit.edu/books/computability. It is reproduced here by permission of the publisher who holds the copyright. © The MIT Press The Church-Turing “ Thesis ” as a Special Corollary of G ö del ’ s 4 Completeness Theorem 1 Saul A. Kripke Traditionally, many writers, following Kleene (1952) , thought of the Church-Turing thesis as unprovable by its nature but having various strong arguments in its favor, including Turing ’ s analysis of human computation. More recently, the beauty, power, and obvious fundamental importance of this analysis — what Turing (1936) calls “ argument I ” — has led some writers to give an almost exclusive emphasis on this argument as the unique justification for the Church-Turing thesis. In this chapter I advocate an alternative justification, essentially presupposed by Turing himself in what he calls “ argument II. ” The idea is that computation is a special form of math- ematical deduction. Assuming the steps of the deduction can be stated in a first- order language, the Church-Turing thesis follows as a special case of G ö del ’ s completeness theorem (first-order algorithm theorem). I propose this idea as an alternative foundation for the Church-Turing thesis, both for human and machine computation. Clearly the relevant assumptions are justified for computations pres- ently known.
    [Show full text]
  • Church's Thesis and the Conceptual Analysis of Computability
    Church’s Thesis and the Conceptual Analysis of Computability Michael Rescorla Abstract: Church’s thesis asserts that a number-theoretic function is intuitively computable if and only if it is recursive. A related thesis asserts that Turing’s work yields a conceptual analysis of the intuitive notion of numerical computability. I endorse Church’s thesis, but I argue against the related thesis. I argue that purported conceptual analyses based upon Turing’s work involve a subtle but persistent circularity. Turing machines manipulate syntactic entities. To specify which number-theoretic function a Turing machine computes, we must correlate these syntactic entities with numbers. I argue that, in providing this correlation, we must demand that the correlation itself be computable. Otherwise, the Turing machine will compute uncomputable functions. But if we presuppose the intuitive notion of a computable relation between syntactic entities and numbers, then our analysis of computability is circular.1 §1. Turing machines and number-theoretic functions A Turing machine manipulates syntactic entities: strings consisting of strokes and blanks. I restrict attention to Turing machines that possess two key properties. First, the machine eventually halts when supplied with an input of finitely many adjacent strokes. Second, when the 1 I am greatly indebted to helpful feedback from two anonymous referees from this journal, as well as from: C. Anthony Anderson, Adam Elga, Kevin Falvey, Warren Goldfarb, Richard Heck, Peter Koellner, Oystein Linnebo, Charles Parsons, Gualtiero Piccinini, and Stewart Shapiro. I received extremely helpful comments when I presented earlier versions of this paper at the UCLA Philosophy of Mathematics Workshop, especially from Joseph Almog, D.
    [Show full text]
  • 6.5 the Recursion Theorem
    6.5. THE RECURSION THEOREM 417 6.5 The Recursion Theorem The recursion Theorem, due to Kleene, is a fundamental result in recursion theory. Theorem 6.5.1 (Recursion Theorem, Version 1 )Letϕ0,ϕ1,... be any ac- ceptable indexing of the partial recursive functions. For every total recursive function f, there is some n such that ϕn = ϕf(n). The recursion Theorem can be strengthened as follows. Theorem 6.5.2 (Recursion Theorem, Version 2 )Letϕ0,ϕ1,... be any ac- ceptable indexing of the partial recursive functions. There is a total recursive function h such that for all x ∈ N,ifϕx is total, then ϕϕx(h(x)) = ϕh(x). 418 CHAPTER 6. ELEMENTARY RECURSIVE FUNCTION THEORY A third version of the recursion Theorem is given below. Theorem 6.5.3 (Recursion Theorem, Version 3 ) For all n ≥ 1, there is a total recursive function h of n +1 arguments, such that for all x ∈ N,ifϕx is a total recursive function of n +1arguments, then ϕϕx(h(x,x1,...,xn),x1,...,xn) = ϕh(x,x1,...,xn), for all x1,...,xn ∈ N. As a first application of the recursion theorem, we can show that there is an index n such that ϕn is the constant function with output n. Loosely speaking, ϕn prints its own name. Let f be the recursive function such that f(x, y)=x for all x, y ∈ N. 6.5. THE RECURSION THEOREM 419 By the s-m-n Theorem, there is a recursive function g such that ϕg(x)(y)=f(x, y)=x for all x, y ∈ N.
    [Show full text]
  • April 22 7.1 Recursion Theorem
    CSE 431 Theory of Computation Spring 2014 Lecture 7: April 22 Lecturer: James R. Lee Scribe: Eric Lei Disclaimer: These notes have not been subjected to the usual scrutiny reserved for formal publications. They may be distributed outside this class only with the permission of the Instructor. An interesting question about Turing machines is whether they can reproduce themselves. A Turing machine cannot be be defined in terms of itself, but can it still somehow print its own source code? The answer to this question is yes, as we will see in the recursion theorem. Afterward we will see some applications of this result. 7.1 Recursion Theorem Our end goal is to have a Turing machine that prints its own source code and operates on it. Last lecture we proved the existence of a Turing machine called SELF that ignores its input and prints its source code. We construct a similar proof for the recursion theorem. We will also need the following lemma proved last lecture. ∗ ∗ Lemma 7.1 There exists a computable function q :Σ ! Σ such that q(w) = hPwi, where Pw is a Turing machine that prints w and hats. Theorem 7.2 (Recursion theorem) Let T be a Turing machine that computes a function t :Σ∗ × Σ∗ ! Σ∗. There exists a Turing machine R that computes a function r :Σ∗ ! Σ∗, where for every w, r(w) = t(hRi; w): The theorem says that for an arbitrary computable function t, there is a Turing machine R that computes t on hRi and some input. Proof: We construct a Turing Machine R in three parts, A, B, and T , where T is given by the statement of the theorem.
    [Show full text]
  • Enumerations of the Kolmogorov Function
    Enumerations of the Kolmogorov Function Richard Beigela Harry Buhrmanb Peter Fejerc Lance Fortnowd Piotr Grabowskie Luc Longpr´ef Andrej Muchnikg Frank Stephanh Leen Torenvlieti Abstract A recursive enumerator for a function h is an algorithm f which enu- merates for an input x finitely many elements including h(x). f is a aEmail: [email protected]. Department of Computer and Information Sciences, Temple University, 1805 North Broad Street, Philadelphia PA 19122, USA. Research per- formed in part at NEC and the Institute for Advanced Study. Supported in part by a State of New Jersey grant and by the National Science Foundation under grants CCR-0049019 and CCR-9877150. bEmail: [email protected]. CWI, Kruislaan 413, 1098SJ Amsterdam, The Netherlands. Partially supported by the EU through the 5th framework program FET. cEmail: [email protected]. Department of Computer Science, University of Mas- sachusetts Boston, Boston, MA 02125, USA. dEmail: [email protected]. Department of Computer Science, University of Chicago, 1100 East 58th Street, Chicago, IL 60637, USA. Research performed in part at NEC Research Institute. eEmail: [email protected]. Institut f¨ur Informatik, Im Neuenheimer Feld 294, 69120 Heidelberg, Germany. fEmail: [email protected]. Computer Science Department, UTEP, El Paso, TX 79968, USA. gEmail: [email protected]. Institute of New Techologies, Nizhnyaya Radi- shevskaya, 10, Moscow, 109004, Russia. The work was partially supported by Russian Foundation for Basic Research (grants N 04-01-00427, N 02-01-22001) and Council on Grants for Scientific Schools. hEmail: [email protected]. School of Computing and Department of Mathe- matics, National University of Singapore, 3 Science Drive 2, Singapore 117543, Republic of Singapore.
    [Show full text]
  • The Logic of Recursive Equations Author(S): A
    The Logic of Recursive Equations Author(s): A. J. C. Hurkens, Monica McArthur, Yiannis N. Moschovakis, Lawrence S. Moss, Glen T. Whitney Source: The Journal of Symbolic Logic, Vol. 63, No. 2 (Jun., 1998), pp. 451-478 Published by: Association for Symbolic Logic Stable URL: http://www.jstor.org/stable/2586843 . Accessed: 19/09/2011 22:53 Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at . http://www.jstor.org/page/info/about/policies/terms.jsp JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected]. Association for Symbolic Logic is collaborating with JSTOR to digitize, preserve and extend access to The Journal of Symbolic Logic. http://www.jstor.org THE JOURNAL OF SYMBOLIC LOGIC Volume 63, Number 2, June 1998 THE LOGIC OF RECURSIVE EQUATIONS A. J. C. HURKENS, MONICA McARTHUR, YIANNIS N. MOSCHOVAKIS, LAWRENCE S. MOSS, AND GLEN T. WHITNEY Abstract. We study logical systems for reasoning about equations involving recursive definitions. In particular, we are interested in "propositional" fragments of the functional language of recursion FLR [18, 17], i.e., without the value passing or abstraction allowed in FLR. The 'pure," propositional fragment FLRo turns out to coincide with the iteration theories of [1]. Our main focus here concerns the sharp contrast between the simple class of valid identities and the very complex consequence relation over several natural classes of models.
    [Show full text]
  • Fractal Curves and Complexity
    Perception & Psychophysics 1987, 42 (4), 365-370 Fractal curves and complexity JAMES E. CUTI'ING and JEFFREY J. GARVIN Cornell University, Ithaca, New York Fractal curves were generated on square initiators and rated in terms of complexity by eight viewers. The stimuli differed in fractional dimension, recursion, and number of segments in their generators. Across six stimulus sets, recursion accounted for most of the variance in complexity judgments, but among stimuli with the most recursive depth, fractal dimension was a respect­ able predictor. Six variables from previous psychophysical literature known to effect complexity judgments were compared with these fractal variables: symmetry, moments of spatial distribu­ tion, angular variance, number of sides, P2/A, and Leeuwenberg codes. The latter three provided reliable predictive value and were highly correlated with recursive depth, fractal dimension, and number of segments in the generator, respectively. Thus, the measures from the previous litera­ ture and those of fractal parameters provide equal predictive value in judgments of these stimuli. Fractals are mathematicalobjectsthat have recently cap­ determine the fractional dimension by dividing the loga­ tured the imaginations of artists, computer graphics en­ rithm of the number of unit lengths in the generator by gineers, and psychologists. Synthesized and popularized the logarithm of the number of unit lengths across the ini­ by Mandelbrot (1977, 1983), with ever-widening appeal tiator. Since there are five segments in this generator and (e.g., Peitgen & Richter, 1986), fractals have many curi­ three unit lengths across the initiator, the fractionaldimen­ ous and fascinating properties. Consider four. sion is log(5)/log(3), or about 1.47.
    [Show full text]
  • Theory of Computation
    A Universal Program (4) Theory of Computation Prof. Michael Mascagni Florida State University Department of Computer Science 1 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) Enumeration Theorem Definition. We write Wn = fx 2 N j Φ(x; n) #g: Then we have Theorem 4.6. A set B is r.e. if and only if there is an n for which B = Wn. Proof. This is simply by the definition ofΦ( x; n). 2 Note that W0; W1; W2;::: is an enumeration of all r.e. sets. 2 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) The Set K Let K = fn 2 N j n 2 Wng: Now n 2 K , Φ(n; n) #, HALT(n; n) This, K is the set of all numbers n such that program number n eventually halts on input n. 3 / 33 Recursively Enumerable Sets (4.4) A Universal Program (4) The Parameter Theorem (4.5) Diagonalization, Reducibility, and Rice's Theorem (4.6, 4.7) K Is r.e. but Not Recursive Theorem 4.7. K is r.e. but not recursive. Proof. By the universality theorem, Φ(n; n) is partially computable, hence K is r.e. If K¯ were also r.e., then by the enumeration theorem, K¯ = Wi for some i. We then arrive at i 2 K , i 2 Wi , i 2 K¯ which is a contradiction.
    [Show full text]
  • I Want to Start My Story in Germany, in 1877, with a Mathematician Named Georg Cantor
    LISTENING - Ron Eglash is talking about his project http://www.ted.com/talks/ 1) Do you understand these words? iteration mission scale altar mound recursion crinkle 2) Listen and answer the questions. 1. What did Georg Cantor discover? What were the consequences for him? 2. What did von Koch do? 3. What did Benoit Mandelbrot realize? 4. Why should we look at our hand? 5. What did Ron get a scholarship for? 6. In what situation did Ron use the phrase “I am a mathematician and I would like to stand on your roof.” ? 7. What is special about the royal palace? 8. What do the rings in a village in southern Zambia represent? 3)Listen for the second time and decide whether the statements are true or false. 1. Cantor realized that he had a set whose number of elements was equal to infinity. 2. When he was released from a hospital, he lost his faith in God. 3. We can use whatever seed shape we like to start with. 4. Mathematicians of the 19th century did not understand the concept of iteration and infinity. 5. Ron mentions lungs, kidney, ferns, and acacia trees to demonstrate fractals in nature. 6. The chief was very surprised when Ron wanted to see his village. 7. Termites do not create conscious fractals when building their mounds. 8. The tiny village inside the larger village is for very old people. I want to start my story in Germany, in 1877, with a mathematician named Georg Cantor. And Cantor decided he was going to take a line and erase the middle third of the line, and take those two resulting lines and bring them back into the same process, a recursive process.
    [Show full text]
  • Lab 8: Recursion and Fractals
    Lab 8: Recursion and Fractals In this lab you’ll get practice creating fractals with recursion. You will create a class that has will draw (at least) two types of fractals. Once completed, submit your .java file via Moodle. To make grading easier, please set up your class so that both fractals are drawn automatically when the constructor is executed. Create a Sierpinski triangle Step 1: In your class’s constructor, ask the user how large a canvas s/he wants. Step 2: Write a method drawTriangle that draws a triangle on the screen. This method will take the x,y coordinates of three points as well as the color of the triangle. For now, start with Step 3: In a method createSierpinski, determine the largest triangle that can fit on the canvas (given the canvas’s dimensions supplied by the user). Step 4: Create a method findMiddlePoints. This is the recursive method. It will take three sets of x,y coordinates for the outer triangle. (The first time the method is called, it will be called with the coordinates determined by the createSierpinski method.) The base case of the method will be determined by the minimum size triangle that can be displayed. The recursive case will be to calculate the three midpoints, defined by the three inputs. Then, by using the six coordinates (3 passed in and 3 calculated), the method will recur on the three interior triangles. Once these recursive calls have finished, use drawTriangle to draw the triangle defined by the three original inputs to the method.
    [Show full text]
  • The Interplay Between Computability and Incomputability Draft 619.Tex
    The Interplay Between Computability and Incomputability Draft 619.tex Robert I. Soare∗ January 7, 2008 Contents 1 Calculus, Continuity, and Computability 3 1.1 When to Introduce Relative Computability? . 4 1.2 Between Computability and Relative Computability? . 5 1.3 The Development of Relative Computability . 5 1.4 Turing Introduces Relative Computability . 6 1.5 Post Develops Relative Computability . 6 1.6 Relative Computability in Real World Computing . 6 2 Origins of Computability and Incomputability 6 2.1 G¨odel’s Incompleteness Theorem . 8 2.2 Incomputability and Undecidability . 9 2.3 Alonzo Church . 9 2.4 Herbrand-G¨odel Recursive Functions . 10 2.5 Stalemate at Princeton Over Church’s Thesis . 11 2.6 G¨odel’s Thoughts on Church’s Thesis . 11 ∗Parts of this paper were delivered in an address to the conference, Computation and Logic in the Real World, at Siena, Italy, June 18–23, 2007. Keywords: Turing ma- chine, automatic machine, a-machine, Turing oracle machine, o-machine, Alonzo Church, Stephen C. Kleene,klee Alan Turing, Kurt G¨odel, Emil Post, computability, incomputabil- ity, undecidability, Church-Turing Thesis (CTT), Post-Church Second Thesis on relative computability, computable approximations, Limit Lemma, effectively continuous func- tions, computability in analysis, strong reducibilities. 1 3 Turing Breaks the Stalemate 12 3.1 Turing’s Machines and Turing’s Thesis . 12 3.2 G¨odel’s Opinion of Turing’s Work . 13 3.3 Kleene Said About Turing . 14 3.4 Church Said About Turing . 15 3.5 Naming the Church-Turing Thesis . 15 4 Turing Defines Relative Computability 17 4.1 Turing’s Oracle Machines .
    [Show full text]
  • Abstract Recursion and Intrinsic Complexity
    ABSTRACT RECURSION AND INTRINSIC COMPLEXITY Yiannis N. Moschovakis Department of Mathematics University of California, Los Angeles [email protected] October 2018 iv Abstract recursion and intrinsic complexity was first published by Cambridge University Press as Volume 48 in the Lecture Notes in Logic, c Association for Symbolic Logic, 2019. The Cambridge University Press catalog entry for the work can be found at https://www.cambridge.org/us/academic/subjects/mathematics /logic-categories-and-sets /abstract-recursion-and-intrinsic-complexity. The published version can be purchased through Cambridge University Press and other standard distribution channels. This copy is made available for personal use only and must not be sold or redistributed. This final prepublication draft of ARIC was compiled on November 30, 2018, 22:50 CONTENTS Introduction ................................................... .... 1 Chapter 1. Preliminaries .......................................... 7 1A.Standardnotations................................ ............. 7 Partial functions, 9. Monotone and continuous functionals, 10. Trees, 12. Problems, 14. 1B. Continuous, call-by-value recursion . ..................... 15 The where -notation for mutual recursion, 17. Recursion rules, 17. Problems, 19. 1C.Somebasicalgorithms............................. .................... 21 The merge-sort algorithm, 21. The Euclidean algorithm, 23. The binary (Stein) algorithm, 24. Horner’s rule, 25. Problems, 25. 1D.Partialstructures............................... ......................
    [Show full text]