Regular Expression

Definition. The regular expressions over an alphabet Σ\Sigma are defined inductively: ∅\emptyset, ε\varepsilon, and each symbol a∈Σa \in \Sigma are regular expressions, and if R1R_1 and R2R_2 are regular expressions then so are (R1∪R2)(R_1 \cup R_2), (R1R2)(R_1R_2), and (R1∗)(R_1^*). The language denoted by RR, written L(R)L(R), follows the same induction, with union, concatenation, and star of languages taken clause by clause.

∅\emptyset and ε\varepsilon denote different languages: the first contains no strings, the second contains the empty string. L(R∗)L(R^*) always contains ε\varepsilon, since concatenating zero strings gives ε\varepsilon. Kleene's theorem, in Lecture 4, proves that a language is regular exactly when some regular expression denotes it, so this notation and the machines of Lecture 3 describe the same class. A language has many expressions denoting it; there is no canonical one.

Updated
Copyright © 2026 Jared Coleman. All rights reserved.