# Chapter 4: Decidability

## For Your Enjoyment

## Chapter 4.2, Undecidability

### An Undecidable Problem

- A
_{TM} = {<M, w> | M is a TM and M accepts w}.

### Universal Turing Machine

U = "On input <M, w>, where M is a TM and w is a string:

- Simulate M on input w.
- If M ever enters its accept state, ACCEPT;
if M ever enters its reject state, REJECT.

### Set Size

- Georg Cantor proposed that a set is countable if either (1) it is
finite or (2) it has a correspondence with the set of natural numbers,
*N*.
- Definition: A function that is both one-to-one and onto is
a
**correspondence**.
- The set of even numbers,
*E* = {2, 4, 6, ...} is countable.
What is the correspondence with the natural numbers, *N*?
- Counterintuitive note: Infinite sets
*E* and *N* are considered
to have the same size if there is a correspondance between the two.
- The set
*Q* = { m/n | m, n ∈ N} is countable.
What is the correspondence with the natural numbers?
- The set of real numbers,
*R*, is uncountable.
The proof is by contradiction. Assume *R* is countable
and then show the correspondence fails using the
**diagonalization method**.

### Implication of Set Size

- The set of strings Σ
^{*} is countable for any Σ.
- Turing Machines are countable. Page 206 provides details.
- Languages are uncountable. Page 206 provides details.
- Thus, there are some languages that can not be recognized by any TM!

### A_{TM} is Undecidable

- Proof: Assume that A
_{TM} is decidable and find a contradiction.
- Create Turing Machine H(<M, w>) to ACCEPT if M accepts w and
REJECT if M does not accept w.
- Create Turing Machine D that runs H on input <M, <M>>.
D outputs REJECT if H accepts and ACCEPT if H rejects.
- Consider running D on itself. If D accepts, that means that D rejected
<D>. If D rejects, that means that D accepted
<D>. Contradiction!
- Figure 4.21 shows how this relates to the diagonalization technique.

### The complement of A_{TM} is Unrecognizable

- Definition: A language is
**co-Turing-recognizable** if it
is the complement of a Turing-recognizable language.
- Theorem: A language is decidable iff it is Turing-recognizable
and co-Turing-recognizable.
- Proof: A
_{TM} is Turing-recognizable. Therefore, the
complement of A_{TM} can not be Turing-recognizable.
Otherwise A_{TM} would be decidable.