Def: Fix an alphabet \Sigma. Then the regular languages over \Sigma are all and only the following: 1. the \emptyset is a regular language, { \Lambda } (the singleton of the emptystring) is a regular language, and { a } (the singleton of a) is a regular language, for any a \in \Sigma. 2. If L_1 and L_2 are regular languages, then so are L_1 \union L_2, L_1 \concatenate L_2, and L_1^* Def: Fix an alphabet \Sigma. Then the regular expressions over \Sigma are all and only the following: 1. \emptyset, \Lambda, and a are regular expressions, where a\in\Sigma. 2. If x and y are regular expressions, then so are (x \union y), (x \concatenate y), and (x^*). Keep clear: a regular expression is just a string. But a regular expression \alpha names a regular language L(\alpha) in the natural (recursive) way: L(\emptyset) = \emptyset L(\Lambda) = { \Lambda } L(a) = { a } L((x \union y)) = L(x) \union L(y) L((x \concatenate y)) = L(x) L(y) L((x^*)) = (L(x))^*