Turing Computable Functions

23.0 Notation:

We represent a natural number $\QTR{Large}{n}$ by a string of $\QTR{Large}{n\ 1}$s. We represent a sequence of $\QTR{Large}{k}$ natural numbers MATH by a string of the form MATHwhere there are MATH $\QTR{Large}{1}$s between the $\QTR{Large}{i}th\ $and $\QTR{Large}{i+1}th$ $\QTR{Large}{\#.}$ We will use the notation MATH to represent this string. For example, MATH

23.1 Definition:

A function MATH ,of $\QTR{Large}{k}$ variables, is called Turing Computable if there exists a Turing Machine MATH

such that for all MATH we have the derivation MATH

Example: Suppose MATH MATH

then MATH

__________________________________________________

23.2 Constructions:

1. The successor function MATH is Turing Computable:

Assuming that the input tape is as above, one can easily define MATH

MATH

MATH

MATH

MATH

MATH

MATH

MATH

2. The projection functions MATH are Turing Computable.

Homework: Due November 17 :

Show that MATH is Turing Computable.

 

3. The set of Turing Computable functions is closed under composition.

For simplicity we consider the case of two functions of a single variable.

Assume MATH and MATH are Turing Computable by Turing Machines MATH $\ $and MATHWe need to produce a Turing Machine MATH that computes MATH .

By selecting alternative members, we can assume that the set of states of MATH $\ $and MATHare disjoint. We let .MATH denote a generic state of MATH and MATH denote a generic state of MATH .

With some addition bookkeeping the work is to construct an appropriate transition function. We start with the union of the two sets of 5-tuples. MATH Next replace all occurrences of MATH with MATH . Finally, replace all occurrences of MATH with MATH Derivations have the form MATH

__________________________________________________________________

23.3 Theorem:

A function is recursive iff it Turing Computable. With appropriate modifications of the relevant definitions, this also holds for partial recursive functions.