Let $L_0 = \{ \langle M, w, 0 \rangle \mid M \text{ halts on } w\}$ and $L_1 = \{\langle M, w, 1\rangle \mid M \text{ does not halt on } w\}$. In $\langle M,w,i \rangle$, the $i$ indicates a specific bit such as $0$ for language $L_0$ and $1$ for language $L_1$.
I want to prove that $L = L_0 \cup L_1$ is unrecognizable and so is $\overline{L}$.
I think: the halting problem $\{\langle M,x \rangle \mid M \text{ halts on input } x \}$ is recognizable, that is, given a machine $M$ and a string $w$, I can always get acceptance if $M$ stops on $w$ by simply running it.
Assume that $L_0$ and $L_1$ are recognizable, that is, there are machines $M_0$ and $M_1$ such that $M_0$ accepts $x \in L_0$ and halts, $M_1$ accepts $x \in L_1$ and halts. Then to recognize $x \in L_0 \cup L_1$, we can have a hypothetical $M_\cup$ that can recognize (not decide) $L_0 \cup L_1$:
- we can run $\langle M, w, 0 \rangle \in L_0$ on $M_0$
- and $ \langle M, w, 1 \rangle \in L_1$ on $M_1$
So:
- If $M_0$ stops we know $M$ halts on $w$ and
- if $M_1$ stops we know $M$ does not halt on $w$
(Note that any $x \not \in L_0 \cup L_1$ will lead to divergence on these two machines. That’s why $M_\cup$ can only recognize $L_0 \cup L_1$ and cannot decide.)
Thus we have solved the halting problem: for any $M$ and $w$, $M_\cup$ will accept and halt for both
- $M$ halts on $w$
- $M$ does not halt on $w$
This is a contradiction (halting problem is undecidable) and so both $M_0$ and $M_1$ cannot exist simultaneously. This proves that $L = L_0 \cup L_1$ is not recognizable.
For the $\overline{L}$ case: $\overline{L} = \overline{L_0} \cap \overline{L_1}$. As stated previously, $L_0$ is recognizable and $L_1$ is not recognizable (“no Turing machine can recognize all Turing machines that never halt”: Corollary 2 here).
- $\overline{L_0}$ is not recognizable
- $\overline{L_1}$ is recognizable
- $\implies \overline{L}$ is not recognizable
Is this a valid chain of arguments for this proof?