A set X is effectively denumerable iff there is a bijection f:X→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 π : N × N → N is defined by
(2) Bijection ζ: N+ x N+ x N+ → N is defined by
(3) Bijection τ: Uk>0Nk → N is defined by
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:
where P = I1I2...Is, 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∈N+ and hence its bijection to Ncan be constructed by using function τ.
Moreover, we can construct a total unary function that is not computable by using Cantor‘s Diagonal Method decribed in Set Theory.
The s-m-n Theorem: for m, n ∈ N+, there is a total computable (m+1)-ary function snm(e,x) such that
References:
1. Cutland, Nigel. Computability: an introduction to recursive function theory[M]. Cambridge: Cambridge University Press, 1980
Note of Numbering Computable Functions
原文:http://www.cnblogs.com/DevinZ/p/4418442.html