Title: Decidable languages
1Decidable languages
CSC 4170 Theory of Computation
Section 4.1
2Examples of decidable languages
4.1.a
- Decidable
- 1,3,5
- ?
- x x is even
- x x is a perfect square
- x x2-10x 0
- x xyz for some integers y,zgt1 (i.e. x is not
prime) - x x is a prime (i.e. x is not divisible by
anything except 1 and - itself)
- ltGgt G is a connected graph
- ltPgt P is a one-variable polynomial expression
with an integral root
- Undecidable
- ltPgt P is a two-variable polynomial expression
with an integral root
3The acceptance problem for DFAs is decidable
4.1.b
Let ADFA ltB,wgt B is a DFA that accepts
input string w
Theorem 4.1 ADFA is a decidable language.
Proof idea Here is a Turing machine M that
decides ADFA M On input ltB,wgt, where B is a
DFA and w is a string 1. Simulate B
on input w. 2. If the simulation ends
in an accept state, accept. If the
simulation ends in a nonaccept state, reject.
4The acceptance problem for NFAs is decidable
4.1.c
Let ANFA ltB,wgt B is an NFA that accepts
input string w
Theorem 4.2 ANFA is a decidable language.
Proof idea Here is a Turing machine N that
decides ANFA N On input ltB,wgt, where B is an
NFA and w is a string 1. Convert NFA B
to an equivalent DFA C using the procedure
for this conversion that we learned.
2. Run TM M from Theorem 4.1 on input ltC,wgt.
3. If M accepts, accept. If
M rejects, reject.
5The string generation problem for REs is decidable
4.1.d
Let AREX ltR,wgt R is a regular expression
that generates string w
Theorem 4.3 AREX is a decidable language.
Proof idea Here is a Turing machine P that
decides AREX P On input ltR,wgt, where R is a
regular expression and w is a string 1.
Convert R to an equivalent NFA B using the
procedure for this conversion that
we learned. 2. Run TM N from Theorem
4.2 on input ltB,wgt. 3. If N accepts,
accept. If N rejects, reject.
6The emptiness problem for the language of a DFA
is decidable
4.1.e
Let EDFA ltAgt A is a DFA and L(A)?
Theorem 4.4 EDFA is a decidable language.
Proof idea Here is a Turing machine T that
decides EDFA T On input ltAgt, where A is a
DFA 1. Mark the start state of A.
2. Repeat until no new states get marked
3. Mark any state that has a transition
coming into it from any state
that is already marked. 4. If no accept
state is marked, accept otherwise reject.
7Other decidable problems from the language theory
4.1.f
Each the following languages are also
decidable EQDFA ltA,Bgt A and B are DFAs and
L(A)L(B) ACFG ltG,wgt G is a CFG that
generates string w
Theorem 4.9 Every context-free language is
decidable.
Proof idea Suppose L is a context-free language.
Let G be the CFG that generates L, and S be a TM
that decides ACFG. Here is a Turing
machine H that decides L H On input w
1. Run S on input ltG,wgt. 2. If the
machine accepts, accept if it rejects, reject.