Formal language theory/Homomorphisms

From testwiki
Jump to navigation Jump to search

Homomorphisms

Monoid homomorphisms, h:(S*,)(T*,), h(λ)=λ and h(ab)=h(a)h(b), can be extended to languages LS* in one way that is compatible with set union, h(L):=wLh(w), to make a basic tool in formal language theory, allowing for renaming and simple replacements of letters.

Special homomorphisms include the non-deleting ones (h(a) is never λ) and the letter-to-letter ones (the image of each letter is a single letter).

A generalisation of this, the replacement of each letter by a whole language is not in general a homomorphism, it is a substitution.