Solving by Arden's lemma

Difficulty
Hard 80%

Lemma of Arden

It is important to note that there are two symmetrical versions of Arden's lemma. Depending on the version you use, the method to generate the equations is slightly different.

lemma of & #039; Arden

Right version

Consider the following automaton:

lemma of & #039; Arden

The construction of the equations is done as follows: the language recognized by a state is equal to the language followed by the transition symbol of its predecessors. For example, the language L2 accepted by state 2 is equal to: L2 = L1To. A word w ∈ Li if and only if he
exists a calculation of the automaton on w starting from the initial state and arriving in the state i (attention the version is not the same one on a left version).

We have the following system of equation:

lemma of & #039; Arden

By substituting L1 in the second equation by its value then L2 in the third and fourth equations we get:

lemma of & #039; Arden

We apply the right Arden lemma to the last two equations:

lemma of & #039; Arden

The language recognized by the automaton is the set of languages recognized by its terminal states, which in this example gives: ab (a + b) * + (b + aa) a *

Left version

Consider the following automaton:

lemma of & #039; Arden

The construction of the equations is done as follows: the language recognized by a state is equal to the language preceded by the transition symbol of its successors. For example, the language L2 accepted by state 2 is equal to: L2 = aL1+ aL3+ ε (because it is a terminal state). A word w ∈ Li if and only if he
exists a computation of the automaton on w starting from state i and arriving in a final state (be careful if we used the other version of the lemma, the definition would be different).

We have the following system of equations:

lemma of & #039; Arden

By substituting L3 and L4 in the first two equations then L2 in the first equation we get:

lemma of & #039; Arden

Finally, by applying Arden's lemma (left version) to the first equation we
obtains: L1 = (a + bba + bbab) ∗ (bb + ε). Here we have the language recognized from the initial state, therefore from the automaton.