Title: We saw that ADFA, ANFA, EDFA, ALLDFA and EQDFA are
1We saw that ADFA, ANFA, EDFA, ALLDFA and EQDFA
are all Turing-decidable. Now consider ATM
ltMgt w accepts if M accepts w, M a
TM. Thoughts If ltMgt halts on all its inputs,
we can decide ATM with a TM. (Just ask M if
it accepts w or not.) . . . But can we expect
it to always halt?
2Q Is ATM Turing-recognizable? Yes, just run
M. Suppose we could always decide ATM ltMgt,
w. Consider sets H ltMgt, accepts if
M accepts ltMgt, and rejects if not
(simple, but a little boring) D
ltMgt, reject if M accepts ltMgt, and accepts if
not (a little more
twisted, but very interesting!) Q What does D
do on input ltDgt?
3Thm ATM ltMgt w M accepts w is
T-recognizable but not T-decidable. (The proof
uses diagonalization.) Pf We have already
shown that ATM is T-recognizable. Now, suppose
ATM were T-decidable, so there is a Turing
Machine that decides it (and hence always halts).
Let D be the language D ltMgt M rejects
ltMgt (I.e., D accepts on input ltMgt if M rejects
ltMgt, and D rejects ltMgt if M accepts ltMgt.) What
does ATM do on input ltDgt D ? D rejects input
D if D accepts D, and it accepts input D if D
rejects D. (Ouch) This is a contradiction, so
it must be that ATM is not T-decidable. x
4- Give an example of something not
Turing-recognizable - Ans The complement of ATM !!
- Thm If L and L are T-recognizable, then L is
T-decidable. - Why?
- Reductions
- "Undecidable" means "not Turing-decidable."
- We can use reductions to show other things not
decidable. A ? B means A reduces to
B. - (I.e., if you could decide B, then you
could decide A.) - A ? B ? ? a Turing machine turning problem A
into B - If A ? B, then B decidable ? A decidable So
to show undecidability, show it for A. (If A
is undecidable, then B is undecidable.)
??
5The Halting problem H ltMgt w
accept iff M halts on w
Thm The halting problem is undecidable. Pf H
ltMgt w accept iff M halts on w. Recall
that ATM has been proven undecidable. We want to
show ATM ? H. We see we can implement ATM by
first running H on ltMgt w and then if H
accepts, run M on w. This is your output for
ATM. Notice that if we could decide the halting
problem, then H will always lead to an accept
(yes it halts) or reject (no, it doesnt halt)
state. If it rejects, then ATM should reject.
If H accepts, then running M on w will halt, and
the outcome should be the outcome of ATM. In
all cases we can decide ATM if we had a way of
deciding H. But we know that ATM is
undecidable, So this is a contradiction.
Therefore H is undecidable. x
6Thm ETM is undecidable. ETM ltMgt L(M)
? Pf Show ATM ? ETM. Given any input ltMgt
w to ATM, do the following. Assume ETM is
decidable. Then construct N which accepts just
w. Next, build a machine that accepts N ? M.
Run ETM on N ? M. If it accepts (so L(M) is
empty implying M does not accept w), then ATM
rejects. If it rejects (so L(M) is not empty,
implying M accepts w), ATM accepts. Then ATM
is decidable, a contradiction. Therefore ETM
must be undecidable.
x
7Thm RegTM is undecidable. RegTM ltMgt L(M)
is regular. Pf Consider a machine Mw that
accepts x if x ? an bn or if x ? an
bn and M accepts w. Run RegTM on Mw. If Mw
is regular, it means that L(Mw) S and M
accepts w. If Mw is not regular, we can conclude
M does not accept w and L(Mw) an bn .
Therefore we could decide ATM if we had a way to
decide RegTM, so RegTM must be undecidable.
x Thm EQTM is undecidable Pf Show ETM ?
M EQTM.