Definition 26.1.

A finite automaton is a 5-tuple , where

  1. is a finite set of states,
  2. is a finite set called the alphabet,
  3. is the transition function,
  4. is the start state, and
  5. 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:

  1. .
  2. .
  3. .

Note that for all .

Theorem 26.5.

The class of recognizable languages is closed under regular operations.

172290

Definition 26.6.

Given an alphabet , say that is a regular expression if is

  1. for some ,
  2. ,
  3. ,
  4. , where and are regular expressions,
  5. , where and are regular expressions, or
  6. , where is a regular expression.

Definition 26.7.

Given an alphabet , the set of rational languages are the smallest class of languages such that

  1. it contains , , and for all , and
  2. it is closed under the regular operations.
3062b2

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.

Example 26.9(More NFA constructions).

A 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 .

6beea1

References

Sipser, M. (2013). Introduction to the Theory of Computation (Third edition, international edition). Cengage Learning.