zoukankan      html  css  js  c++  java
  • Computability 2: Gödel Number

      A set $X$ is effectively denumerable iff there is a bijection $f:X ightarrowmathbb{N}$ such that both $f$ and $f^{-1}$ are effectively computable functions.

      Theorem. The set of the URM instructions is effectively denumerable.

      To see this, we should define the following functions:

      (1) Bijection $pi:mathbb{N} imesmathbb{N} ightarrowmathbb{N}$ is defined by

              $pi(m,n) = 2^m(2n+1)-1$

      (2) Bijection $zeta: mathbb{N}^+ imesmathbb{N}^+ imesmathbb{N}^+ ightarrowmathbb{N}$ is defined by

              $zeta(m,n,q)=pi(pi(m-1,n-1),q-1)$

      (3) Bijection $ au:igcup_{k>0}mathbb{N}^k ightarrowmathbb{N}$ is defined by

              $ au(a_1,...,a_k)=2^{a_1}+2^{a_1+a_2+1}+2^{a_1+a_2+a_3+2}+...+2^{a_1+a_2+...+a_k+k-1}-1$

      Then we can construct a bijection β from URM instructions to natural numbers:

              

      Hence, the URM instruction set is effectively denumerable.

      Theorem. The set of URM programs is effectively denumerable since we can construct the following bijection:

                $gamma(P)= au(eta(I_1),...,eta(I_s))$,

    where $P = I_1 I_2, ..., I_s$, and this is also known as the Gödel Number of a program.

      Theorem. The set of all n-ary computable functions is denumerable since we can construct an enumeration of those functions without repetitions.

      Theorem. The set of computable functions is denumerable since it is the union of the sets of n-ary computable functions for all $ninmathbb{N}^+$ and hence its bijection to $mathbb{N}$ can be constructed by using function $ au$.

      Moreover, we can construct a total unary function that is not computable by using Cantor's Diagonal Method decribed in Set Theory.

            $f(n)simeq egin{cases}phi_n(n)+1 & ext{if }phi_n(n) ext{ is defined }\ uparrow & ext{ otherwise }end{cases}$

               

      The s-m-n Theorem:  for $m, n in mathbb{N}^+$, there is a total computable (m+1)-ary function $s_n^m(e,vec{x})$ such that $phi_e^{m+n}(vec{x},vec{y})simeqphi_{s_n^m(e,vec{x})}^n(vec{y})$.

    References:

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

  • 相关阅读:
    Zookeeper全解析——Paxos作为灵魂(转)
    你真的会开发测试框架?
    使用Hypothesis生成测试数据
    poium测试库之JavaScript API封装原理
    PHP接口自动化测试框架实现
    Web项目如何做单元测试
    如何在Appium中使用AI定位
    我写了个项目,帮你学习HTTP接口测试!
    性能测试浅谈
    Web测试框架SeleniumBase
  • 原文地址:https://www.cnblogs.com/DevinZ/p/4418442.html
Copyright © 2011-2022 走看看