Another method to test whether or not *M*_{1} is equivalent to *M*_{2} is to find out if:

For this, complement *M*_{2}, and construct an automata that accepts both the intersection of language accepted by *M*_{1} and the complement of *M*_{2}. If this automata accepts an empty set, then it means that there is no string acceptable to *M*_{1} that is not acceptable to *M*_{2}. Similarly, construct an automata that accepts the intersection of language accepted by *M*_{2} and the complement of *M*_{1}. If this automata accepts an empty set, then it means that there is no string acceptable to *M*_{2} that is not acceptable to *M*_{1}. Hence, the language accepted by *M*_{1} is same as the language accepted by *M*_{2}.