← New search

Other meanings of Kleene's theorem

FORMAL LANGUAGE THEORY

Kleene's theorem

Kleene's theorem states that the languages described by regular expressions are exactly the languages recognized by finite automata. It establishes the equivalence between an algebraic notation for patterns and a machine model for computation, defining the class of regular languages.1

2
equivalent formalisms
regular expressions and finite automata
3
standard proof directions
expression-to-NFA, automaton-to-expression, and closure-based variants
1956
landmark publication
Kleene's foundational work on finite automata and events
1

Statement and scope

Kleene's theorem identifies regular expressions and finite automata as two descriptions of the same class of languages. For an alphabet Σ, a language L is regular exactly when some regular expression denotes L and some deterministic or nondeterministic finite automaton accepts L.1 Regular expressions use union, concatenation, and the Kleene star, which means repetition zero or more times; automata instead read input symbols while moving among finitely many states. The theorem concerns recognition of complete languages, not whether two expressions look alike or whether two machines have the same number of states. Because nondeterministic and deterministic finite automata recognize the same languages, either form may be used in the statement.

2

How the equivalence is proved

The equivalence is proved by showing that each formalism can be converted into the other. From a regular expression, one can construct an ε-nondeterministic finite automaton using small components for symbols, union, concatenation, and star; this construction is commonly associated with Thompson. From a finite automaton, one can derive a regular expression by eliminating states or by recording, recursively, the paths whose intermediate states lie in a specified set.2 A second route uses closure properties: regular languages are closed under union, concatenation, and Kleene star, while a finite automaton can be represented through a finite system of language equations. These methods may produce very different-sized descriptions, although they preserve the recognized language.

3

Importance and limitations

The theorem gives regular languages a useful dual identity: they are both finitely operational and algebraically describable. This makes regular expressions practical for lexical analysis, text filtering, protocol specifications, and simple pattern matching, while finite automata support systematic implementation and analysis.3 The result does not say that regular expressions can express every computational pattern. Finite automata have no unbounded stack or general memory, so languages requiring matched, arbitrarily deep structures—such as {aⁿbⁿ : n ≥ 0}—are not regular. The theorem also differs from the pumping lemma: Kleene's theorem constructs equivalent descriptions, whereas the pumping lemma is principally a tool for proving that particular languages are not regular.

4

Lesser-known aspects

The theorem's historical vocabulary predates modern programming-language regular expressions. Stephen C. Kleene developed the algebra of “regular events” in work connecting finite automata with nerve nets; the term “regular expression” later became standard in formal-language theory.4 In theoretical treatments, the theorem is often presented with generalized finite automata, whose transitions carry regular expressions, making state elimination especially transparent. The equivalence also supports decision procedures: one can test emptiness, finiteness, equivalence, and inclusion by moving between automata and other representations, although direct conversion may cause exponential growth in size.2 Some authors include right-linear grammars as a third equivalent formalism, extending the theorem's role within the broader characterization of regular languages.

Glossary

regular language
A language recognized by a finite automaton or described by a regular expression.
Kleene star
The operation E* denoting zero or more concatenated copies of the language described by E.
finite automaton
A machine with finitely many states that processes an input string through state transitions.
state elimination
A conversion method that removes automaton states while replacing path information with regular expressions.

This entry uses “Kleene's theorem” in its formal-language-theory sense: the equivalence between regular expressions and finite automata.