The fact that the Recognition Problem is decidable gives us another algorithm for deciding Emptiness. The pumping lemma tells us that if every string x ∈ L(A) which has length greater than n (where n is the number of states in the minimal DFA recognizing this language and, therefore, no greater than the number of states in this particular DFA) can be split into three components uvw, where |v| > 0 and uviw ∈ L(A) for all i ≥ 0. One consequence of this is that L(A) will be non-empty iff it includes some string of length strictly less than n. To see this, assume (for contradiction) that no string in L(A) was of length less than n. Let x be a minimal length string in L(A), so no string in A is shorter than x. By our assumption |x| ≥ n. Then the pumping lemma applies and x must have the form uvw, etc. But then uw ∈ L(A) also and |uw| < |uvw| contradicting the choice of x as a minimal length string. Hence the shortest string in L(A), whatever it is, must have length strictly less than n. To decide Emptiness, then, all we need to do is to systematically generate all strings in Σ∗ with length less than n (the de?nition of Σ∗ provides the foundation of an algorithm for doing this) and check to see if A accepts any of them. We return "True" iff it accepts at least one. (Thus, the Emptiness Problem reduces to the Recognition Problem.)
Theorem (Finiteness) The Finiteness Problem for Regular Languages is decidable.