Find equivalence classes for $R_L$ for the language of words that begin and end with $aa$

automataequivalence-relationsformal-languages

Let $R_L$ be a relation such that: $xR_Ly \iff \forall z\in \sum^*:xz\in L \iff yz \in L$. Find the equivalence classes for $R_L$ for this language:
$$
L=\bigg\{w\in \sum^*\bigg| w\quad \text{starts and ends with} \quad aa\bigg\}
$$
over $\sum=\{a,b,c\}$

The only way I know of to obtain the equivalence classes is to get a minimal DFA for the language. Let $A=\big\{\sum,Q, q_0,F,\delta\big\}$ be the automaton which receives $L$. I thought the transition function can be as follows:
enter image description here
This is the automaton I received after minimizing previous, larger automaton that I built for $L$.

So now my classes are as follows:
$$
S_1=\epsilon\\
S_2=a\\
S_3=(b+c)\sum^*+a(b+c)\sum^*\\
S_4=aa+aaa+aa\sum^*aa\\
S_5=aa\sum^*(b+c)a\\
S_6=aa\sum^*(b+c)
$$

I was wondering if finding the minimal DFA is the only surefire method to determine equivalence classes or there're some shortcuts?

Best Answer

One does not always have to construct the minimal DFA (although if the language is regular, then this is a good way to do it as it will always work). In fact, sometimes it will be near impossible to construct the minimal DFA because it will have an infinite number of states. By the Myhill-Nerode Theorem, this would then tell us that the language is not regular. For instance, consider the language given in this question. Here, each word is shown to be its own equivalence class, but it is proven without the construction of a minimal DFA.