Definition 26.1.
A finite automaton is a 5-tuple , where
- is a finite set of states,
- is a finite set called the alphabet,
- is the transition function,
- is the start state, and
- is the set of accept states.
The set of all strings over an alphabet is denoted . Any subset is called a language over the alphabet . For nondeterministic finite automata, .
If is the set of all strings that machine accepts, we say that is the language of machine , denoted by .
We say that two automata are equivalent if they recognize the same language.
Theorem 26.2.
Every nondeterministic finite automaton has an equivalent deterministic finite automaton.
Definition 26.3.
A language is called a recognizable language if some finite automaton recognizes it.
Most references calls these “regular languages”.
Definition 26.4.
Let and be languages. We define the regular operations union, concatenation, and star as follows:
- .
- .
- .
Note that for all .
Theorem 26.5.
172290The class of recognizable languages is closed under regular operations.
Proof.
Let and be regular languages recognized by and respectively.
Closure under union
We have to demonstrate an which recognizes . One method is to use the product construction and have be an accept state of if or . Alternatively, use the following NFA construction:
Closure under concatenation
Closure under star
□
Definition 26.6.
Given an alphabet , say that is a regular expression if is
- for some ,
- ,
- ,
- , where and are regular expressions,
- , where and are regular expressions, or
- , where is a regular expression.
Definition 26.7.
3062b2Given an alphabet , the set of rational languages are the smallest class of languages such that
- it contains , , and for all , and
- it is closed under the regular operations.
This is precisely the class of languages described by regular expressions.
Theorem 26.8.
The class of recognizable languages is equal to the class of rational languages. That is, a language is recognized by a automaton iff it is described by a regular expression.
Proof.
Proving that a language described by a regular expression is recognizable is trivial: we can easily construct automata which recognize the languages in the first point of Definition 7, and we have already shown in Theorem 5 that recognizable languages are closed under regular operations.
See Sipser (2013) 1.60 for a proof of the converse using generalized nondeterministic finite automata (NFAs with REs labelling transition arrows instead of alphabets).□
Example 26.9(More NFA constructions).
6beea1A homomorphism is a function such that , and .
Show that recognizable languages are also closed under intersection, complement, homomorphisms, and inverse homomorphisms.Let and be regular languages recognized by and respectively.
Closure under complement
Complement .
Closure under intersection
. We have shown that recognizable languages are closed under union and complement. Alternatively, use the product construction, but make it such that is an accept state of if and .
Closure under homomorphisms
First, we have to prove that if is a recognizable and is a homomorphism, then is also recognizable.
Let be an NFA over recognizing . Replace every edge in labelled with a path which reads .
Next, we have to prove that if is recognizable, then is also recognizable.
Let be an NFA over recognizing . Create a copy of . Remove all transitions in . Connect two states in with an arrow labelled if can be reached from on reading in .


