Computability 4: Decidability and R.E. Sets (I)
1. Decidability
A predicate is decidable iff its characteristic function is computable, otherwise it is undecidable. An algorithm to compute the characteristic function of a decidable predicate is a decision procedure.
A set $A$ is a recursive set iff $x\in A$ is a decidable predicate. Recursive sets are closed under union, intersection and complementation.
Theorem. Problem '$x\in W_x$' (i.e. $\phi_x(x)$ is defined) is undecidable, which means $K=\{x|x\in W_x\}$ is not a recursive set.
We prove that via the diagonal method: assume that $x\in W_x$ is decidable, and then we can construct the following computable function, which is other than any unary computable function (contradiction):
$g(x)\simeq\begin{cases} 0 & \text{ if } x\notin W_x \\ \text{undefined} & \text{ otherwise }\end{cases}$
Corollary 1. There is a computable function $h$ such that both '$x\in Dom(h)$' and '$x\in Ran(h)$' are undecidable.
e.g. $h(x) = x (\psi_U(x,x))$
Corollary 2. (Halting Problem) Problem '$\phi_x(y)$ is defined' is undecidable (whereas partailly decidable).
Corollary 3. Problem '$\phi_x$ is 0' is undecidable. To prove it, we define $f(x,y)\simeq 0(\psi_U (x,x))$, which is computable. According to the s-m-n theorem, there exists a total computable function $K(x)$ such that $\phi_{K(x)}(y)\simeq f(x,y)$, and hence $\phi_{K(x)}\simeq 0$ iff $x\in W_x$. If $\phi_x\simeq 0$ is decidable, then $\phi_{K(x)}\simeq 0$ is decidable and hence $x\in W_x$ is decidable.
Corollary 4. Problem '$\phi_x\simeq\phi_y$' is undecidable.
Corollary 5. Given any number $c$, the following problems are undecidable:
(1) (Acceptance Problem) $c\in W_x$; (2) (Printing Problem) $c\in E_x$.
Consider the following computable function and use the s-m-n theorem:
$f(x,y)\simeq\begin{cases}y & \text{ if } x\notin W_x \\ \text{undefined} & \text{ otherwise }\end{cases}$
Corollary 6. (Rice's Theorem) For any proper subset of the unary function collection $\beta$, '$\phi_x\in\beta$' is undecidable.
We suppose there exists a unary computable function $c$ not in $\beta$, and meanwhile function $b$ is in $\beta$.
The key point of this proof is to reduce the problem $x\in W_x$ to the problem $\phi_x\in\beta$, which requires us to show that there is a unary computable function $K$ such that $x\in W_x\Leftrightarrow\phi_{K(x)}\in\beta$, which can be proved by constructing the following function and then harness the s-m-n theorem:
$f(x,y)\simeq\begin{cases}b(y) & \text{ if } x\notin W_x \\ c(y) & \text{ otherwise }\end{cases}$
To make this computable, it is desirable that function $c$ is $f_\varnothing$. So a complete proof requires us to make proper restrictions (or rather some discussions) when we try to make use of the given conditions.
2. Partial Decidability
A predicate is partially decidable iff its partial characteristic function is computable. An algorithm to compute the partial characteristic function of a predicate is a partial decision procedure.
A set $A$ is a recursively enumerable set iff $x\in A$ is a partially decidable predicate. R.E. sets are closed under union and intersection.
For instance, $x\in W_x$ is partially decidable but $x\notin W_x$ is not partially decidable. That is equal to say, $K$ defined above is an R.E. set, whereas $\overline{K}$ isn't.
Index Theorem.
A predicate $M(\vec{x})$ is partially decidable iff there is a computable function $g(\vec{x})$ such that $M(\vec{x})\Leftrightarrow \vec{x}\in Dom(g)$.
Normal Form Theorem.
A predicate $M(\vec{x})$ is partially decidable iff there is a decidable predicate $R(\vec{x},y)$ such that $M(\vec{x})\Leftrightarrow(\exists y)R(\vec{x},y)$.
Suppose $\chi_A$ is the partial characteristic function of $M$: (1) $R(\vec{x},t)\equiv H_n(e,\vec{x},t)$, where $\phi_e=\chi_A$; (2) $\chi_A(\vec{x})=1 (\mu t R(\vec{x},t))$
Quantifier Contraction Theorem.
If predicate $M(\vec{x},\vec{y})$ is partially decidable, so is predicate $(\exists \vec{y})M(\vec{x},\vec{y})$.
Uniformisation Theorem.
A partially decidable predicate $R(\vec{x},y)$ owns a computable function such that:
(1) $c(\vec{x})\downarrow$ iff $(\exists y)R(\vec{x},y)$; and (2) $c(\vec{x})\downarrow$ implies $R(\vec{x},c(\vec{x}))$
Graph Theorem.
A partial funciton $f$ is computable iff the predicate ‘$f(\vec{x})\simeq y$’ is partially decidable.
Complementation Theorem.
Predicate $M(\vec{x})$ is decidable iff both $M(\vec{x})$ and $\neg M(\vec{x})$ are partially decidable.
Therefore, '$P_x(y)$ is undefined' is not partially decidable, otherwise the halting problem is decidable.
Set $A$ is many-one reducible to set $B$ ($A \leq_m B$) iff there is a computable function $f$ such that $x\in A$ iff $ f(x)\in B$.
If $A$ is m-reducible to an r.e. set $B$, then $A$ must be r.e.
A set is r.e. iff it is m-reducible to $K$, which means $K$ is the hardest r.e. set.
P.S.
(1) 欲证一个函数是不可计算的,通常用 diagonal method,构造一个“不同于所有 $\phi_x$ 的可计算函数”进行归谬。
(2) 欲证一个问题是undecidable的,通常要用s-m-n定理构造一个 total computable function 作为归约映射,将 $x\in W_x$ 归约成该问题。采用这种方法得到的一个高级工具是Rice定理。
(3) 欲证一个问题是partially decidable的,要么将该问题归约为 $x\in W_x$,要么构造 patially decidable predicate $M$ 证明该问题等同于 $(\exists y)M(x,y)$;欲证一个问题不是 partially decidable 的,通常将 $x\notin W_x$ 归约成该问题(当然也可以用更高级的 Rice-Shapiro定理 进行归谬)。
References:
1. Cutland, Nigel. Computability: an introduction to recursive function theory[M]. Cambridge: Cambridge University Press, 1980