Computability 2: Gödel Number

 

  A set $X$ is effectively denumerable iff there is a bijection $f:X\rightarrow\mathbb{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}\times\mathbb{N}\rightarrow\mathbb{N}$ is defined by

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

  (2) Bijection $\zeta: \mathbb{N}^+\times\mathbb{N}^+\times\mathbb{N}^+\rightarrow\mathbb{N}$ is defined by

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

  (3) Bijection $\tau:\bigcup_{k>0}\mathbb{N}^k\rightarrow\mathbb{N}$ is defined by

          $\tau(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)=\tau(\beta(I_1),...,\beta(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 $n\in\mathbb{N}^+$ and hence its bijection to $\mathbb{N}$ can be constructed by using function $\tau$.

 

  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 \begin{cases}\phi_n(n)+1 & \text{if }\phi_n(n)\text{ is defined }\\ \uparrow & \text{ 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})\simeq\phi_{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

 

posted on 2015-04-11 21:19  DevinZ  阅读(280)  评论(0编辑  收藏  举报

导航