Decison Properties of Regular Languages 
Decision Properties 
A decision property of a class of languages is a property that can be decided by an algorithm that tells whether or not some property holds. It is useful, for example, in designing protocols. We usually want to know whether the protocol is finite, or whether it is possible to reach a certain state.
The Membership Problem 
Our first problem is the membership problem. Given a regular language 
The Emptiness Problem 
Given a regular language 
The Finiteness Problem 
Given a regular language 
The Pumping Lemma 
For every regular 
- For all 
 , 
We can show that the number 
Applications 
We have claimed that 
Proof Suppose 
Equivalence between Languages 
Given two regular languages 
Product DFA
Given two DFAs 
- The states of 
 are the pairs of states of and (Cartesian product). - The start state of 
 is the pair of start states of and . - The transition function of 
 is defined as follows: for each pair of states and each input symbol , the next state of on input is . - The final states of 
 are the pairs of final states of and . - The symbol set of 
 is the same as the symbol set of and . 
Then we can construct the product DFA 
Similarly, we can check if 
Minimization of Efficient State 
Construct a table with all pairs of states. If you find a string that distinguishes two states, then these two states are not equivalent. We can use this idea to minimize the number of states in a DFA.
The first step is to create a table that contains all unique pairs of states in the DFA. For an automaton with states 
- Basis: If one state 
 is final and the other is not, mark the pair . It is easy to see that itself is distinguishable. - Induction: For a string 
 , if we have marked a pair , then mark every where and . 
Finally, we can merge all the unmarked pairs to get the minimized DFA. It can be proved that the minimized DFA is the smallest DFA that accepts the same language.
