COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS

Similar documents
Elementary Recursive Function Theory

Elementary Recursive Function Theory

CS 275 Automata and Formal Language Theory. First Problem of URMs. (a) Definition of the Turing Machine. III.3 (a) Definition of the Turing Machine

2 A topological interlude

Universal RAM Programs and Undecidability of the Halting Problem

Computability Theory

1.3 Primitive Recursive Predicates and Bounded Minimalization

p x i 1 i n x, y, z = 2 x 3 y 5 z

(a) Give inductive definitions of the relations M N and M N of single-step and many-step β-reduction between λ-terms M and N. (You may assume the

Lecture 5: The Halting Problem. Michael Beeson

Lecture 17: Continuous Functions

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

MATH Iris Loeb.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

9.5 Equivalence Relations

Does this program exist? Limits of computability. Does this program exist? A helper function. For example, if the string program is

Recursively Enumerable Languages, Turing Machines, and Decidability

CHAPTER 4. COMPUTABILITY AND DECIDABILITY

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3.

Reducibilities relations with applications to symbolic dynamics

05. Turing Machines and Spacetime. I. Turing Machines and Classical Computability.

The Turing Machine. Unsolvable Problems. Undecidability. The Church-Turing Thesis (1936) Decision Problem. Decision Problems

Comparing sizes of sets

Phil 320 Chapter 7: Recursive sets and relations Note: 0. Introduction Significance of and main objectives for chapter 7:

Inverse and Implicit functions

Material from Recitation 1

Presented By : Abhinav Aggarwal CSI-IDD, V th yr Indian Institute of Technology Roorkee. Joint work with: Prof. Padam Kumar

751 Problem Set I JWR. Due Sep 28, 2004

Computability Theory XI

Infinite locally random graphs

MATH 54 - LECTURE 10

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

6. Advanced Topics in Computability

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Programs with infinite loops: from primitive recursive predicates to the arithmetic hierarchy

MA651 Topology. Lecture 4. Topological spaces 2

TAFL 1 (ECS-403) Unit- V. 5.1 Turing Machine. 5.2 TM as computer of Integer Function

Cardinality Lectures

INTRODUCTION TO TOPOLOGY

Lecture 1. 1 Notation

In this chapter, we define limits of functions and describe some of their properties.

Module 11. Directed Graphs. Contents

Safe Stratified Datalog With Integer Order Does not Have Syntax

CONNECTED SPACES AND HOW TO USE THEM

On the computability of graph Turing machines

Lecture 7: Primitive Recursion is Turing Computable. Michael Beeson

Course notes for Data Compression - 2 Kolmogorov complexity Fall 2005

Computer Sciences Department

Tutorial: Computable Model Theory and Differential Algebra

A Cantor-Bernstein theorem for paths in graphs

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

TURING S ORACLE : FROM ABSOLUTE TO RELATIVE COMPUTABILITY--AND BACK. Solomon Feferman Logic Seminar, Stanford, April 10, 2012

Announcements. Problem Set 3 due Friday, October 21. Alternate Midterm Times. Drop by office hours! Ask questions at

Lambda Calculus and Computation

CS3110 Spring 2016 Lecture 21: Elements of Type Theory

CS 3512, Spring Instructor: Doug Dunham. Textbook: James L. Hein, Discrete Structures, Logic, and Computability, 3rd Ed. Jones and Barlett, 2010

6c Lecture 3 & 4: April 8 & 10, 2014

Prim Rec, Decidable, Undecidable, and Beyond. William Gasarch-U of MD

Reflection in the Chomsky Hierarchy

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

Functional Languages. Hwansoo Han

2. Functions, sets, countability and uncountability. Let A, B be sets (often, in this module, subsets of R).

On the Finiteness of the Recursive Chromatic Number

Computable Sets. KR Chowdhary Professor & Head.

Math 443/543 Graph Theory Notes 5: Planar graphs and coloring

THE UNIFORMIZATION THEOREM AND UNIVERSAL COVERS

T. Background material: Topology

Treewidth and graph minors

γ(ɛ) (a, b) (a, d) (d, a) (a, b) (c, d) (d, d) (e, e) (e, a) (e, e) (a) Draw a picture of G.

CAS 701 Presentation. Ackermann's Function. Qinglei Zhang, Nov. 20, 2008.

Recursive Functions. 6.1 Primitive Recursive Functions

Point-Set Topology II

Recursive Functions. Recursive functions are built up from basic functions by some operations.

Diagonalization. The cardinality of a finite set is easy to grasp: {1,3,4} = 3. But what about infinite sets?

Functions. How is this definition written in symbolic logic notation?

SAT-CNF Is N P-complete

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

Bounded subsets of topological vector spaces

Safe Recursion and Calculus over an Arbitrary Structure

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

The Diagonal Method and Hypercomputation

CS21 Decidability and Tractability

Theory of Computation, Homework 3 Sample Solution

We can create PDAs with multiple stacks. At each step we look at the current state, the current input symbol, and the top of each stack.

A greedy, partially optimal proof of the Heine-Borel Theorem

Lecture 15: The subspace topology, Closed sets

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example).

Topology Homework 3. Section Section 3.3. Samuel Otten

Non-Standard Models of Arithmetic

Topology and Topological Spaces

function at the given point. Thus, for our previous example we would find that lim f(x) = 0

HW Graph Theory SOLUTIONS (hbovik)

Computability, Cantor s diagonalization, Russell s Paradox, Gödel s s Incompleteness, Turing Halting Problem.

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

CS61A Lecture 38. Robert Huang UC Berkeley April 17, 2013

Lemma (x, y, z) is a Pythagorean triple iff (y, x, z) is a Pythagorean triple.

Introduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy!

EXTREME POINTS AND AFFINE EQUIVALENCE

Math 170- Graph Theory Notes

The Farey Tessellation

Transcription:

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS JOSHUA LENERS Abstract. An algorithm is function from ω to ω defined by a finite set of instructions to transform a given input x to the desired output y. However, simply using a finite number of instructions does not guarantee that a given algorithm will take a finite amount of time. An algorithm is intuitively computable if input x halts, and yields correct output y in a finite amount of time. We introduce the concepts of recursive functions, Turing machines, and partial recursive functions to formally define a computable function. We then introduce (partial) recursive functions and show some basic results about partial recursive functions. We introduce the idea of unsolvable problems, and the reducibility of problems. Contents 1. Basic Definitions 1 2. Basic Results about Partial Recursive Functions 3 3. Recursively Enumerable Sets and Unsolvable problems 4 4. Reducibility 4 References 5 1. Basic Definitions Definition 1.1. A function is called primitive recursive if it is one of (I-III) or is the application of (IV-V) to primitive recursive functions: (I) The successor function, x x + 1. (II) The constant functions, (x 1,, x n ) m where m, n 0. (III) The identity functions also called projections, (x 1,, x n ) x i with 1 i n. (IV) The composition operation, If g 1,, g m, h are primitive recursive, then f(x 1,, x n ) = h(g 1 (x 1,, x n ),, g m (x 1,, x n ) is also primitive recursive. (V) The primitive recursion operation, if g, h are primitive recursive with n 1 with f(0, x 2,, x n ) = g(x 2,, x n ) and f(x 1 + 1, x 2,, x n ) = h(x 1, f(x 1,, x n ),, x n ) is also primitive recursive Thus a function can be defined by a sequence f 1,, f k = f where each f i is is an initial function from (I-III), or the application of IV or V to functions f j with j < i. Example 1.2. The function for adding two numbers f(x, y) = x + y already has a fairly complicated definition: f 1 = x x + 1 1

2 JOSHUA LENERS f x x f 3 = (x 1, x 2, x 3 ) x 2 f 4 = f 1 f 3 f 5 (0, x 2 ) = f 2 (x 2 ) f 5 (x 1 + 1, x 2 ) = f 4 (x 1, f 5 (x 1, x 2 ), x 2 ) Notations 1.3. The expression µxp where x is a variable and P is a predicate means the least x that satisfies predicate P. The expression f(x) means that f is defined at x. Similarly, f(x) = y means f is defined at x and the value is y. f(x) means that f(x) is not defined (does not converge). Since we can define each primitive recursive function with a finite string of symbols, we can obtain an enumeration for them. Let f n be the n th such function in this enumeration. Under this enumeration n is the index of f n. The function corresponding to d(x) = f x (x) + 1 is clearly intuitively computable. We find the x th primitive recursive function, apply it to x and add one to the output. However, d is not primitive recursive since for all x d f x. This also shows that the listing function φ(x, y) = f x (y) is not primitive recursive since we could use it to calculate the function d giving a contradiction. This diagonalization argument affects our characterization because we are only considering total computable functions. In order to consider partial functions we must expand our schemata: Definition 1.4. A function is partial recursive if it can be defined with respect to (I)-(V) along with an additional rule: (VI) The unbounded search operation, if ψ is a partial recursive function of n + 1 variables and φ(x 1,, x n ) = µy[ψ(x 1,, x n, y) = 0]&( z y)[ψ(x 1,, x n, z) ]] then φ is a partial recursive function of n variables. Remark 1.5. A partial recursive function that is total is called recursive. A primitive recursive function is recursive (since it is total) but a recursive function is not necessarily primitive recursive. Another characterization of (partial) computable functions is thanks to Alan Turing. Definition 1.6. A Turing machine consists of an infinitely long tape of cells containing zeroes and ones, initially with finitely many ones, and a reading head with finitely many internal states. Based on internal state q i, the machine reads the symbol at position j, performs some action on that symbol (changing it or keeping it the same), moves either right or left along the tape, and sets its internal state to some q k. We can enumerate Turing machines based on the finite strings defining their internal states. We call the machine indexed by e the Turing program P e. Then let φ (n) e denote the partial function of n variables computed by P e. Remarks 1.7. The idea that partial recursive functions (including recursive functions) are the same functions as those which are effectively computable is commonly referred to as Church-Turing Thesis. It is clear that partial recursive functions are intuitively computable, so the Church-Turing Thesis asserts the converse: intuitively computable functions are partial recursive. However, since we are not able

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS 3 to formally define effective computability except in an intuitive sense, it is impossible to prove Church-Turing Thesis. However, no effectively computable function has been found that cannot be represented by a Turing machine, and hence a partial recursive function. When we say something is computable, or effectively computable, we are not implying that something could be feasibly calculated. In fact there are a number of partially recursive (and thus by Church-Turing Thesis, effectively computable) functions that would take longer than the estimated lifetime of the universe to complete on today s computers. 2. Basic Results about Partial Recursive Functions Lemma 2.1 (Padding Lemma). Each partial recursive function φ x has ℵ 0 indices, and furthermore for each x we can effectively find an infinite set A x of indices for the same partial function (i.e. φ y = φ x for all y A x ). Proof. Consider the Turing program P x associated with φ x, consisting of states q 0,, q n } we can add an arbitrary number of idle steps (that is steps which do not change the tape in any way) as q n+1,, q n+i. Since we have a new set of quintuples, Turing program enumerates differently, thus giving us an infinite number of indices for the Turing program P x. Theorem 2.2 (Normal Form Theorem). There exists a predicate T (e, x, y) (called the Kleene T-predicate) and a function U(y) which are primitive recursive such that φ e (x) = U(µyT (e, x, y)). Theorem 2.3 (Enumeration Theorem). There is a partial recursive function of 2 variables φ (2) z (e, x) such that φ (2) z (e, x) = φ e (x). Proof. Simply let φ (2) z (e, x) = U(µyT (e, x, y)). Remark 2.4. The existence of the function U(µyT (e, x, y)) asserts the existence of a Universal Turing Machine: a Turing Machine which takes two arguments e and x, and produces output U(y), for any P e that produces a result when applied to x. Theorem 2.5 (Parameter Theorem). For every m, n 1 there exists an injective recursive function s m n such that for all x, y 1,, y m φ (n) s m n (x,y1,,ym) = (z 1 z n ) φ (m+n) z (y 1,, y m, z 1,, z n ) Definition 2.6. Let x, y be the image of (x, y) under the map 1 2 (x2 + 2xy + y 2 + 3x + y) which is bijective. Let π 1 ( x, y ) = x and let π 2 ( x, y ) = y. Define x, y, z = x, y, z, and similarly for larger tuples. Definition 2.7. We write φ e,s (x) = y if x, y, e < s and y is the output of φ e (x) in fewer than s steps of the Turing program P e. If such a y exists we say that φ e,s converges and write φ e,s. Theorem 2.8. The sets e, x, s : φ e,s (x) } and e, x, y, s : φ e,s (x) = y are recursive. Proof. Extract e x and s (if applicable y) and compute P e applied to x until an output is found or s steps have been completed.

4 JOSHUA LENERS 3. Recursively Enumerable Sets and Unsolvable problems Definition 3.1. A set A (subset of ω) is recursive if the characteristic function χ A is recursive. Definition 3.2. A set A is recursively enumerable if A is the domain of some p.r. function. Let the eth r.e. set be denoted by: W e = domainofφ e = x : φ e (x) } = x : ( y)t (e, x, y)} Definition 3.3. Let K = x : φ x (x)converges} = x : x W e }. Proposition 3.4. K is recursively enumerable. Proof. K is the domain of the following partial recursive function: x, if φ ψ(x) = x (x) undefined if otherwise Proposition 3.5. K is not recursive. Proof. Recall K recursive implies χ K the characteristic function of K is recursive. Then the function φx (x) + 1, if x K f(x) = 0 if x / K would be recursive. However f φ x for any x. Remark 3.6. This is an example of an unsolvable problem, we have proved that there is no algorithm that computes whether or not a Turing program P e converges given e. This is closely related to the so-called halting problem and as we will show later, it is in fact equivalent. Definition 3.7. K 0 = x, y : x W y }. This is the definition of the halting problem. For any program y, given input x does the program halt? If we define recursive characteristic function for this set, we could design an algorithm to answer this problem. (Namely, compute χ K0 ( x, y ).) Corollary 3.8. K 0 is not recursive. (i.e. The halting problem is not computable) Proof. x K iff x, x K 0. Finding a recursive characteristic function for K 0 would provide us one for K, which is impossible. Definition 3.9. A set A is an index set if for all x and y (x A & φ x = φ y ) then y A. In other words, A is the ℵ 0 collection of functions that compute φ x. 4. Reducibility We can see that knowing the answer to some problems can give us the answer to other problems. For instance the fact that K was not recursive, told us a lot about the properties of K 0. This leads to a question of equivalence. The most general way to define an equivalence of problems is to say: Two problems are equivalent if answering the question Is x A? tells us whether or not y B.

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS 5 Definition 4.1. A set (subset of ω) A is many-one reducible to B (A m B) if there is a recursive function f such that f(a) B and f(ā) B. Put simply x A iff f(x) B. If f is injective we say that it is one-reducible ( 1 ). If we have A m B and B m A we say A m B. We can define this similarly for one-reducibility. Definition 4.2. The m-degree (similarly one-degree) of A is the set B : A m B} Proposition 4.3. K 1 K 0 Proof. We have shown already that x K iff x, x K 0, since.,. is injective we have that K 1 K 0. Consider the function 1 if φ ψ(x, y) = π1(x)(π 2 (x)) undefined if otherwise By the parameter theorem we have a recursive function f such that ψ(x, y) = φ f(x) (y) for all a, y. Suppose x K 0, and x = s, t. Then φ s (t), which implies that φ f(x) (y) converges for all y, and in particular φ f(x) (f(x)) converges. Thus we have x K 0 f(x) K by a recursive function. Suppose that x / K 0, and x = s, t. Then φ s (t) so φ f(x) (y) diverges for all y, and so φ f(x) (f(x)) diverges. Thus we have x / K 0 f(x) / K Remark 4.4. These definitions of equivalence are useful, but still to strong to capture the true idea of reducibility, which we will call Turing reducibility ( T ). We can similarly define Turing equivalence and Turing degree. We will define Turing Reducibility first using Oracle Turing Machines, and then using the formalizations of partial recursive functions. Definition 4.5. An Oracle Turing machine, is a Turing machine as described before with an additional tape A called the oracle, the squares on this tape are determined by the function χ A. While it is operating the Turing machine reads from both machines at x in order to determine its actions. Definition 4.6. We can treat a Oracle Turing Machine as a partially recursive function, for the set A as having the additional basic function χ A added to (I)- (VI). We say that this function is Turing computable in A. If we can use A to solve B, we know that we have Turing reducibility, in the thus if we have the proper oracle tape, we can decide any problem in its Turing Degree. References [1] R. I. Soare. Recursively Enumerable Sets and Degrees. Springer-Verlag. 1987.