码迷,mamicode.com
首页 > 其他好文 > 详细

Universal Programs

时间:2015-04-15 23:02:24      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

 

  The Universal Function for n-ary computable functions is the (n+1)-ary function:

    技术分享

  Theorem. For each n, the universal function ΨU is computable.

 

============================================================================================

 

  To avoid using Church‘s Thesis, we prove this theorem step by step in a top-down way as the following sketch.

  Step 1. The configuration of the registers can be coded as c = Π piri, where pi is the ith prime, and given the number of the next instruction j we can encode the current computation state as σ = π(c,j). To prove the universal functions are computable, we should prove no further than cn(e,x,t) and jn(e,x,t) are computable since:

    技术分享

  And we can prove that by proving the following function is a primitive recursive function (a stronger conclusion):

     技术分享

  Step 2. From another perspective, σn can be defined as follow:

    技术分享

  Hence, we need to prove config and next are primitive recursive functions.

  Step 3. We further define the following auxillary functions:

      技术分享

  And we should prove the functions above are primitive recursive due to the following facts:

       技术分享

       技术分享

  Step 4. To prove In, gn, ch and v are primitive recursive functions, we should resort to the definitions of program code nunber and instruction code number. Here, I shall omit further details of the proof of this step.

  

  P.S. 虽然讲了整整一节课,但这个证明跟当年的递归定理比起来简直弱爆了~

 

========================================================================================

 

  Corollary 1. For each n, the following predicates are decidable:

  (1) Sn(e,x,y,t) defined as Pe(x) converges to y in t or fewer steps;

  (2) Hn(e,x,t) defined as Pe(x) converges in t or fewer steps.

 

  Corollary 2. (Kleene‘s normal form theorem) There is a total computable function U(x) and a decidable predicate Tn(e,x,z) such that:

    技术分享

 

  As a matter of fact, every computable function can be obtained from primitive recursive functions by using at most one application of the unbounded minimalisation.

 

========================================================================================

 

  Application 1. The problem ‘Φx is total‘ is undecidable.

  To see this, we can construct a unary function defined by cases based on this predicate, which is other than any Φe(x) for any e by using Cantor‘s Diagonal Argument.

 

  Application 2. There is a total computable function that is not primitive recursive.

  Here, we provide a proof sketch:

   技术分享

 

  Application 3. (Effectiveness of Production)

  There is a total computable function s(x,y) such that Φs(x,y) = Φx Φy for all x and y.

 

  Application 4. (Effectiveness of Inverse)

  There is a computable function such that:

   1. g(x,y) is defined if and only if y ∈ Ex, and

   2. if y ∈ Ex, then g(x,y)∈ Wx and Φx(g(x,y)) = y.

 

  Application 5. (Effectiveness of Recursion)

  Consider function f defined by the following recursion:

    技术分享

    技术分享

  There is a total computable function r(e1,e2) such that:

    技术分享

 

 

References:

  1. Cutland, Nigel. Computability: an introduction to recursive function theory[M]. Cambridge: Cambridge University Press, 1980

 

Universal Programs

标签:

原文地址:http://www.cnblogs.com/DevinZ/p/4430229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!