Problem Detail: I am preparing for my exam in formal languages and I need some help with one question from one old exam. I know that the number of equivalence classes of some regular language L, is the number of states of the minimal DFA for that language. But how do I give a DFA for one of the equivalence classes ? Thanks in advance
Asked By : mrjasmin
Answered By : Shaull
An elaborate hint: recall that the proof of the Myhill-Nerode theorem works (in one direction) by constructing a DFA for a language, given its equivalence classes. In the constructed DFA (i.e the minimal DFA), each state corresponds to an equivalence class. We then set the accepting states to be those that correspond to equivalence classes that are contained in the language. Now, suppose you create the DFA for the equivalence classes of $L$, without knowing in advance which equivalence classes are in L, and which aren’t. If you choose one particular class, and set the state that corresponds to it to be accepting, then the language of the DFA is exactly that equivalence class, which is what you wanted. Indeed, the property of the minimal DFA is that for every two words $w,w’$, the runs of the DFA on $w$ and on $w’$ end in the same state iff $wequiv_L w’$. Observe that you may end up with a DFA that is not minimal for the equivalence class.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/14026