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.

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.

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

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.