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 unionA ∪ B, and their concatenationA⋅B. Finally, as an operation taking a single operand, the set A* denotes the Kleene star of the language A.
Arden's rule states that the set A*⋅B is the smallest language that is a solution for X in the linear equationX = 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.