In theoretical computer science, Arden's rule, also known as Arden's lemma, is a mathematical statement about a certain form of language equations.

Background

A (formal) language is simply a set of strings. Such sets can be specified by means of some language equation, which in turn is based on operations on languages. Language equations are mathematical statements that resemble numerical equations, but the variables assume values of formal languages rather than numbers. Among the most common operations on two languages A and B are the set union A ∪ B, and their concatenation A⋅B. Finally, as an operation taking a single operand, the set A* denotes the Kleene star of the language A.

Arden's rule

Statement of Arden's rule

Arden's rule states that the set A*⋅B is the smallest language that is a solution for X in the linear equation X = A⋅X ∪ B where X, A, B are sets of strings. Moreover, if the set A does not contain the empty word, then this solution is unique.

Arden's rule

Equivalently, the set B⋅A* is the smallest language that is a solution for X in X = X⋅A ∪ B.

Arden's rule

Application

Arden's rule can be used to help convert some finite automatons to regular expressions, as in Kleene's algorithm.

See also

Regular expression

Nondeterministic finite automaton

Notes

References

Arden, D. N. (1960). Delayed logic and finite state machines, Theory of Computing Machine Design, pp. 1-35, University of Michigan Press, Ann Arbor, Michigan, USA. (open-access abstract) John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley Publishing, Reading Massachusetts, 1979. . Chapter 2: Finite Automata and Regular Expressions, p.54. Arden, D.N. An Introduction to the Theory of Finite State Machines, Monograph No. 12, Discrete System Concepts Project, 28 June 1965.

Formal languages