The Emptiness problem is a decision problem asks if a given machine model rejects every word. It is decidable for DFAs and NFAs
Problem Specification(s)
General
Given a machine , does reject (not accept) every string ?
Decidability
The decidability of the problem requires a restructuring. Let be a language given by the TM encoding of
Then, we need to check if is T-decidable.
The FSA Emptiness Problem is decidable ^theorem-fsa
That is,
\text{EMPTY}_{FSA} = { \langle M,w \rangle \ \vert \ \text{ is a FSA that accepts } } \text{ is T-decidable}
>[!example]- Proof > Surprisingly straightforward (a somewhat causal proof by [TM Simulation](Turing%20Machine%20Simulation.md)): > * We can use any exhaustive graph search algorithm (such as [BFS](Breadth%20First%20Search%20Algorithm.md) or [DFS](Depth%20First%20Search%20Algorithm.md)) to check if there is a path from the initial state of $M$ to any accept state. > * By the [Church-Turing Thesis](Church-Turing%20Thesis.md), this algorithm can be run on a [Turing Machine](Turing%20Machine.md), $T$. > * If such a path exists, reject (because it must accept some $w$ given by the path, hence non-empty). Else accept. > * $T$ will always halt because $M$ will have finite number of states, and consumes one character from the input string at every step. At some point, the entire (finite) input string is consumed, so we can stop.
The TM Emptiness Problem is undecidable ^theorem-tm
Proof proof by reduction that depends on R1:
This is a
- The acceptance problem reduces to the emptiness problem.
- The acceptance problem is undecidable
- Therefore, the emptiness problem is undecidable.
Reductions
R1: TM Emptiness reduces to TM Equivalence
That is,
Proof is the decider to the TM equivalence problem, it takes in and decides f . We now construct a new TM the decides :
Assume
- needs to take in an input and decide if is empty
- First, create a new TM decider called which rejects everything. This can be easily achieved by making a ‘dead state’. Then
- Then, run on . Since is a decider, it will accept if (and then is ‘empty’) and rejects if is not empty.
Thus, we have a decider that determines if for a given . Hence, we have proven the reduction.