fbpx
Wikipedia

Kleene's T predicate

In computability theory, the T predicate, first studied by mathematician Stephen Cole Kleene, is a particular set of triples of natural numbers that is used to represent computable functions within formal theories of arithmetic. Informally, the T predicate tells whether a particular computer program 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.[1]

Definition edit

 
Example call of T1. The 1st argument gives the source code (in C rather than as a Gödel number e) of a computable function, viz. the Collatz function f. The 2nd argument gives the natural number i to which f is to be applied. The 3rd argument gives a sequence x of computation steps simulating the evaluation of f on i (as an equation chain rather than a Gödel sequence number). The predicate call evaluates to true since x is actually the correct computation sequence for the call f(5), and ends with an expression not involving f anymore. Function U, applied to the sequence x, will return its final expression, viz. 1.

The definition depends on a suitable Gödel numbering that assigns natural numbers to computable functions (given as Turing machines). 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   predicate is obtained by formalizing this simulation.

The ternary relation   takes three natural numbers as arguments.   is true if   encodes a computation history of the computable function with index   when run with input  , and the program halts as the last step of this computation history. That is,

  •   first asks whether   is the Gödel number of a finite sequence   of complete configurations of the Turing machine with index  , running a computation on input  .
  • If so,   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,   finally asks whether the sequence   ends with the machine in a halting state.

If all three of these questions have a positive answer, then   is true, otherwise, it is false.

The   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   such that if   is true then   returns the output of the function with index   on input  .

Because Kleene's formalism attaches a number of inputs to each function, the predicate   can only be used for functions that take one input. There are additional predicates for functions with multiple inputs; the relation

 

is true if   encodes a halting computation of the function with index   on the inputs  .

Like  , all functions   are primitive recursive. Because of this, any theory of arithmetic that is able to represent every primitive recursive function is able to represent   and  . Examples of such arithmetical theories include Robinson arithmetic and stronger theories such as Peano arithmetic.

Normal form theorem edit

The   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   such that a function   is computable if and only if there is a number   such that for all   one has

 ,

where μ is the μ operator (  is the smallest natural number for which   is true) and   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  , which is independent of the computable function  .

Arithmetical hierarchy edit

In addition to encoding computability, the T predicate can be used to generate complete sets in the arithmetical hierarchy. In particular, the set

 

which is of the same Turing degree as the halting problem, is a   complete unary relation (Soare 1987, pp. 28, 41). More generally, the set

 

is a  -complete (n+1)-ary predicate. Thus, once a representation of the Tn predicate is obtained in a theory of arithmetic, a representation of a  -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   is   complete then the set

 

is   complete.

Notes edit

  1. ^ 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.

References edit

  • Peter Hinman, 2005, Fundamentals of Mathematical Logic, A K Peters. ISBN 978-1-56881-262-5
  • Stephen Cole Kleene (Jan 1943). "Recursive predicates and quantifiers" (PDF). Transactions of the American Mathematical Society. 53 (1): 41–73. doi:10.1090/S0002-9947-1943-0007371-8. Reprinted in The Undecidable, Martin Davis, ed., 1965, pp. 255–287.
  • —, 1952, Introduction to Metamathematics, North-Holland. Reprinted by Ishi press, 2009, ISBN 0-923891-57-9.
  • —, 1967. Mathematical Logic, John Wiley. Reprinted by Dover, 2001, ISBN 0-486-42533-9.
  • Robert I. Soare, 1987, Recursively enumerable sets and degrees, Perspectives in Mathematical Logic, Springer. ISBN 0-387-15299-7

kleene, predicate, computability, theory, predicate, first, studied, mathematician, stephen, cole, kleene, particular, triples, natural, numbers, that, used, represent, computable, functions, within, formal, theories, arithmetic, informally, predicate, tells, . In computability theory the T predicate first studied by mathematician Stephen Cole Kleene is a particular set of triples of natural numbers that is used to represent computable functions within formal theories of arithmetic Informally the T predicate tells whether a particular computer program 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 1 Contents 1 Definition 2 Normal form theorem 3 Arithmetical hierarchy 4 Notes 5 ReferencesDefinition edit nbsp Example call of T1 The 1st argument gives the source code in C rather than as a Godel number e of a computable function viz the Collatz function f The 2nd argument gives the natural number i to which f is to be applied The 3rd argument gives a sequence x of computation steps simulating the evaluation of f on i as an equation chain rather than a Godel sequence number The predicate call evaluates to true since x is actually the correct computation sequence for the call f 5 and ends with an expression not involving f anymore Function U applied to the sequence x will return its final expression viz 1 The definition depends on a suitable Godel numbering that assigns natural numbers to computable functions given as Turing machines 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 displaystyle T nbsp predicate is obtained by formalizing this simulation The ternary relation T1 e i x displaystyle T 1 e i x nbsp takes three natural numbers as arguments T1 e i x displaystyle T 1 e i x nbsp is true if x displaystyle x nbsp encodes a computation history of the computable function with index e displaystyle e nbsp when run with input i displaystyle i nbsp and the program halts as the last step of this computation history That is T1 displaystyle T 1 nbsp first asks whether x displaystyle x nbsp is the Godel number of a finite sequence xj displaystyle langle x j rangle nbsp of complete configurations of the Turing machine with index e displaystyle e nbsp running a computation on input i displaystyle i nbsp If so T1 displaystyle T 1 nbsp 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 T1 displaystyle T 1 nbsp finally asks whether the sequence xj displaystyle langle x j rangle nbsp ends with the machine in a halting state If all three of these questions have a positive answer then T1 e i x displaystyle T 1 e i x nbsp is true otherwise it is false The T1 displaystyle T 1 nbsp 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 displaystyle U nbsp such that if T1 e i x displaystyle T 1 e i x nbsp is true then U x displaystyle U x nbsp returns the output of the function with index e displaystyle e nbsp on input i displaystyle i nbsp Because Kleene s formalism attaches a number of inputs to each function the predicate T1 displaystyle T 1 nbsp can only be used for functions that take one input There are additional predicates for functions with multiple inputs the relation Tk e i1 ik x displaystyle T k e i 1 ldots i k x nbsp is true if x displaystyle x nbsp encodes a halting computation of the function with index e displaystyle e nbsp on the inputs i1 ik displaystyle i 1 ldots i k nbsp Like T1 displaystyle T 1 nbsp all functions Tk displaystyle T k nbsp are primitive recursive Because of this any theory of arithmetic that is able to represent every primitive recursive function is able to represent T displaystyle T nbsp and U displaystyle U nbsp Examples of such arithmetical theories include Robinson arithmetic and stronger theories such as Peano arithmetic Normal form theorem editThe Tk displaystyle T k nbsp 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 displaystyle U nbsp such that a function f Nk N displaystyle f mathbb N k rightarrow mathbb N nbsp is computable if and only if there is a number e displaystyle e nbsp such that for all n1 nk displaystyle n 1 ldots n k nbsp one has f n1 nk U mxTk e n1 nk x displaystyle f n 1 ldots n k simeq U mu x T k e n 1 ldots n k x nbsp where m is the m operator mxϕ x displaystyle mu x phi x nbsp is the smallest natural number for which ϕ x displaystyle phi x nbsp is true and displaystyle simeq nbsp 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 m operator is used only once viz immediately below the topmost U displaystyle U nbsp which is independent of the computable function f displaystyle f nbsp Arithmetical hierarchy editIn addition to encoding computability the T predicate can be used to generate complete sets in the arithmetical hierarchy In particular the set K e xT1 e 0 x displaystyle K e mbox mbox exists xT 1 e 0 x nbsp which is of the same Turing degree as the halting problem is a S10 displaystyle Sigma 1 0 nbsp complete unary relation Soare 1987 pp 28 41 More generally the set Kn 1 e a1 an xTn e a1 an x displaystyle K n 1 langle e a 1 ldots a n rangle exists xT n e a 1 ldots a n x nbsp is a S10 displaystyle Sigma 1 0 nbsp complete n 1 ary predicate Thus once a representation of the Tn predicate is obtained in a theory of arithmetic a representation of a S10 displaystyle Sigma 1 0 nbsp 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 Nk 1 displaystyle A subseteq mathbb N k 1 nbsp is Sn0 displaystyle Sigma n 0 nbsp complete then the set a1 ak x a1 ak x A displaystyle langle a 1 ldots a k rangle forall x langle a 1 ldots a k x in A nbsp is Pn 10 displaystyle Pi n 1 0 nbsp complete Notes edit 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 References editPeter Hinman 2005 Fundamentals of Mathematical Logic A K Peters ISBN 978 1 56881 262 5 Stephen Cole Kleene Jan 1943 Recursive predicates and quantifiers PDF Transactions of the American Mathematical Society 53 1 41 73 doi 10 1090 S0002 9947 1943 0007371 8 Reprinted in The Undecidable Martin Davis ed 1965 pp 255 287 1952 Introduction to Metamathematics North Holland Reprinted by Ishi press 2009 ISBN 0 923891 57 9 1967 Mathematical Logic John Wiley Reprinted by Dover 2001 ISBN 0 486 42533 9 Robert I Soare 1987 Recursively enumerable sets and degrees Perspectives in Mathematical Logic Springer ISBN 0 387 15299 7 Retrieved from https en wikipedia org w index php title Kleene 27s T predicate amp oldid 1158657648, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.