In computer science, more precisely in automata theory, a rational set of a monoid is an element of the minimal class of subsets of this monoid which contains all finite subsets and is closed under union, product and Kleene star. Rational sets are useful in automata theory, formal languages and algebra.
Contents
A rational set generalizes the notion of rational (regular) language (understood as defined by regular expressions) to monoids that are not necessarily free.
Definition
Let
This means that any rational subset of
In general a rational subset of a monoid is not a submonoid.
Example
Let
The rational subsets of
Properties
McKnight's theorem states that if
The intersection of a rational subset and of a recognizable subset is rational.
Rational sets are closed under morphism: given
For finite groups the following result of Anissimov and Seifert is well known: a subgroup H of a finitely generated group G is recognizable if and only if H has finite index in G. In contrast, H is rational if and only if H is finitely generated.
Rational relations and rational functions
A binary relation between monoids M and N is a rational relation if the graph of the relation, regarded as a subset of M×N is a rational set in the product monoid. A function from M to N is a rational function if the graph of the function is a rational set.