HOME

TheInfoList



OR:

In computability theory, the T predicate, first studied by mathematician Stephen Cole Kleene, is a particular set of triples of
natural number In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called '' cardinal ...
s that is used to represent computable functions within formal theories of
arithmetic Arithmetic () is an elementary part of mathematics that consists of the study of the properties of the traditional operations on numbers—addition, subtraction, multiplication, division, exponentiation, and extraction of roots. In the 19th c ...
. Informally, the ''T'' predicate tells whether a particular
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer progra ...
will halt when run with a particular input, and the corresponding ''U'' function is used to obtain the results of the computation if the program does halt. As with the smn theorem, the original notation used by Kleene has become standard terminology for the concept.The predicate described here was presented in (Kleene 1943) and (Kleene 1952), and this is what is usually called "Kleene's ''T'' predicate". (Kleene 1967) uses the letter ''T'' to describe a different predicate related to computable functions, but which cannot be used to obtain Kleene's normal form theorem.


Definition

The definition depends on a suitable
Gödel numbering In mathematical logic, a Gödel numbering is a function that assigns to each symbol and well-formed formula of some formal language a unique natural number, called its Gödel number. The concept was developed by Kurt Gödel for the proof of ...
that assigns natural numbers to computable functions (given as
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
s). This numbering must be sufficiently effective that, given an index of a computable function and an input to the function, it is possible to effectively simulate the computation of the function on that input. The T predicate is obtained by formalizing this simulation. The ternary relation T_1(e,i,x) takes three natural numbers as arguments. T_1(e,i,x) is true if x encodes a computation history of the computable function with index e when run with input i, and the program halts as the last step of this computation history. That is, * T_1 first asks whether x is the Gödel number of a finite sequence \langle x_ \rangle of complete configurations of the Turing machine with index e, running a computation on input i. * If so, T_1 then asks if this sequence begins with the starting state of the computation and each successive element of the sequence corresponds to a single step of the Turing machine. * If it does, T_1 finally asks whether the sequence \langle x_ \rangle ends with the machine in a halting state. If all three of these questions have a positive answer, then T_1(e,i,x) is true, otherwise, it is false. The T_1 predicate is primitive recursive in the sense that there is a primitive recursive function that, given inputs for the predicate, correctly determines the truth value of the predicate on those inputs. There is a corresponding primitive recursive function U such that if T_1(e,i,x) is true then U(x) returns the output of the function with index e on input i. Because Kleene's formalism attaches a number of inputs to each function, the predicate T_1 can only be used for functions that take one input. There are additional predicates for functions with multiple inputs; the relation :T_k(e, i_1, \ldots, i_k, x) is true if x encodes a halting computation of the function with index e on the inputs i_1,\ldots,i_k. Like T_1, all functions T_k are primitive recursive. Because of this, any theory of arithmetic that is able to represent every primitive recursive function is able to represent T and U. Examples of such arithmetical theories include Robinson arithmetic and stronger theories such as
Peano arithmetic In mathematical logic, the Peano axioms, also known as the Dedekind–Peano axioms or the Peano postulates, are axioms for the natural numbers presented by the 19th century Italian mathematician Giuseppe Peano. These axioms have been used nearly ...
.


Normal form theorem

The T_k predicates can be used to obtain Kleene's normal form theorem for computable functions (Soare 1987, p. 15; Kleene 1943, p. 52—53). This states there exists a fixed primitive recursive function U such that a function f:\mathbb^\rightarrow\mathbb is computable if and only if there is a number e such that for all n_1,\ldots,n_k one has :f(n_1,\ldots,n_k) \simeq U( \mu x\, T_k(e,n_1,\ldots,n_k,x)), where ''μ'' is the ''μ'' operator (\mu x\, \phi(x) is the smallest natural number for which \phi(x) is true) and \simeq is true if both sides are undefined or if both are defined and they are equal. By the theorem, the definition of every general recursive function ''f'' can be rewritten into a normal form such that the ''μ'' operator is used only once, viz. immediately below the topmost U, which is independent of the computable function f.


Arithmetical hierarchy

In addition to encoding computability, the ''T'' predicate can be used to generate complete sets in the arithmetical hierarchy. In particular, the set : K = \ which is of the same Turing degree as the
halting problem In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever. Alan Turing proved in 1936 that a ...
, is a \Sigma^0_1 complete unary relation (Soare 1987, pp. 28, 41). More generally, the set :K_ = \ is a \Sigma^0_1 complete (''n''+1)-ary predicate. Thus, once a representation of the ''T''''n'' predicate is obtained in a theory of arithmetic, a representation of a \Sigma^0_1-complete predicate can be obtained from it. This construction can be extended higher in the arithmetical hierarchy, as in Post's theorem (compare Hinman 2005, p. 397). For example, if a set A \subseteq \mathbb^ is \Sigma^0_ complete then the set :\ is \Pi^0_ complete.


Notes


References

* Peter Hinman, 2005, ''Fundamentals of Mathematical Logic'', A K Peters. * Reprinted in ''The Undecidable'', Martin Davis, ed., 1965, pp. 255–287. * —, 1952, ''Introduction to Metamathematics'', North-Holland. Reprinted by Ishi press, 2009, . * —, 1967. ''Mathematical Logic,'' John Wiley. Reprinted by Dover, 2001, . * Robert I. Soare, 1987, ''Recursively enumerable sets and degrees,'' Perspectives in Mathematical Logic, Springer. {{isbn, 0-387-15299-7 Computability theory