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
- it contains every finite language
- is closed under union
- is closed under concatenation
- is closed under Keene star