Abstract family of languages
In computer science, in particular in the field of formal language theory,
an abstract family of languages is an abstract mathematical notion generalizing characteristics common to the regular languages, the context-free languages and the recursively enumerable languages, and other families of formal languages studied in the scientific literature.
Formal definitions
A formal language is a set for which there exists a finite set of abstract symbols such that, where * is the Kleene star operation.A family of languages is an ordered pair, where
- is an infinite set of symbols;
- is a set of formal languages;
- For each in there exists a finite subset such that ; and
- for some in.
A full trio, also called a cone, is a trio closed under arbitrary homomorphism.
A semi-AFL is a trio closed under union.
A AFL is a semi-AFL closed under concatenation and the Kleene plus.
Some families of languages
The following are some simple results from the study of abstract families of languages.Within the Chomsky hierarchy, the regular languages, the context-free languages, and the recursively enumerable languages are all full AFLs. However, the context sensitive languages and the recursive languages are AFLs, but not full AFLs because they are not closed under arbitrary homomorphisms.
The family of regular languages are contained within any cone. Other categories of abstract families are identifiable by closure under other operations such as shuffle, reversal, or substitution.