It is important to note that there are two symmetrical versions of Arden’s rule:

Depending on which version you use the method to generate the equations is slightly different.

## From the right

Take the following automaton:

The construction of the equations is 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 L_{2} accepted by state 2 is equal to: L_{2} = L_{1}a. A word w ∈ L_{i} if and only if he

there exists a computation of the automaton on w starting from the initial state and arriving in the state i (attention the version is not the same on a left version).

We have the following system:

By substituting L_{1} in the second equation by its value then L_{2} in the third and fourth equations we obtain:

The Arden’s rule is applied to the last two equations:

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

## From the left

Take the following automaton:

The construction of the equations is 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 L_{2} accepted by state 2 is equal to: L_{2} = aL_{1}+aL_{3}+ε (because it is a terminal state). A word w ∈ L if and only if there exists a computation of the automaton on w starting from the state i and arriving in a final state (attention if one used the other version the definition would be different).

We have the following system:

Substituting L_{3} and L_{4} in the first two equations and then L_{2} in the first equation we obtain:

Finally, applying Arden’s rule (left version) to the first equation gives L_{1} = (a + bba + bbab) * (bb + ε). Here we have the language recognized from the initial state, therefore from the automaton.