Recall

Closure properties of recognizable languages: closed under boolean operations . Saw the cartesian product construction for intersections.

Recognizable languages are also closed under homomorphisms, inverse homomorphisms, concatenation, and the kleene star.

Definition 1.

A homomorphism is a function such that , and .

A homomorphism is uniquely determined by its values on .

[!Proposition]
If is a recognizable and is a homomorphism, then is also recognizable. If is recognizable, then is also recognizable.

[!Proof]-
Let be an NFA over recognizing . Replace every edge in labelled with a path which reads .

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 .

[!Proposition]
Recognizable languages are closed under concatenation.

[!Proposition]
Recognizable languages are closed under iteration.


Rational languages

[!Definition]
The set of rational languages are the smallest class of languages such that

  1. it contains every finite language
  2. is closed under union
  3. is closed under concatenation
  4. is closed under Keene star