In the theory of formal languages, the Myhill-Nerode theorem provides a necessary and sufficient condition for a language to be regular. The theorem is named for John Myhill and Anil Nerode, WHO established it at the University of Chicago in 1958(Nerode 1958).
Statement of the Myhill-Nerode Theorem
The Myhill-Nerode theorem states that L is regular if and only if RL has a finite number of equivalence classes, and moreover that the number of states in the smallest deterministic finite automaton (DFA) recognizing L is equal to the number of equivalence classes in RL. In particular, this implies that there is a unique minimal DFA with a minimum number of states (Hopcroft& Ullman l979).
Myhill-Nerode Theorem Proof
if L is a regular language, then by definition, there is a DFAA that recognizes it. with only finitely many states. If there are n states, then partition the set of all finite strings into n subsets. where subset S, is the set of strings that. when given as input to automaton A, cause it to end in state i. For every two strings, x and y that belong to the same subset, and for every choice of a third-string z automaton A reaches the same state on input xz as it reaches on input yz, and therefore must either accept both of the inputs x: and yz or reject both of them. Therefore, no string Z can be a distinguishing extension for x and y, so they must be related by RL. Thus, S is a subset of an equivalence class of RL. Combining this fact with the fact that every member of one of these equivalence classes belongs to one of the sets Si this gives a many-to-one relation from states of A to equivalence classes, implying that the number of equivalence classes is finite and at most M.
In the other direction, suppose that RL has finitely many equivalence classes. In this case. it is possible to design a deterministic finite automaton that has one state for each equivalenée class. The start state of the automaton corresponds to the equivalence. class containing the empty string, and the transition function from a state X on input symbol y takes the automaton to a new state, the state corresponding to the equivalence class containing string by, where x is an arbitrarily chosen string in the equivalence class for X. The definition of the MyhillNerode relation implies that the transition function is Well defined: no matter which representative string x is chosen for state X, the same transition function value will result. A state of this automaton is accepting if the corresponding equivalence class contains a string in L; in this case, again, the definition of the relationship implies that all strings in the same equivalence class must also belong to L, for otherwise, the empty string would be a distinguishing string for some pairs of strings in the class.
Thus, the existence of a finite automaton recognizing L implies that the Myhill-Nerode relation has a finite number of equivalence classes, at most equal to the number of states of the automaton, and the existence of a finite number of equivalence classes implies the existence of an automaton with that many states.