Star-free languages #
This file defines the star-free languages as the regular languages with an aperiodic syntactic
monoid. By Schützenberger's theorem these are the languages of the star-free regular expressions,
built from finite sets by union, concatenation and complement without Kleene star; McNaughton and
Papert show that they are also the counter-free and the first-order definable languages. Star-free
is the instance Monoid.aperiodicVariety of the languages of a pseudovariety, so its closure
properties are corollaries of Monoid.Pseudovariety.langs.
Main definitions #
Language.IsStarFree: the languages ofMonoid.aperiodicVariety.
Main results #
Language.isStarFree_iff: a language is star-free exactly when it is regular with an aperiodic syntactic monoid.Language.IsStarFree.compl,Language.IsStarFree.inter,Language.IsStarFree.union: Boolean closure.Language.IsStarFree.of_recognizes,Language.IsStarFree.of_factorsThrough: a language is star-free when a finite aperiodic monoid recognizes it, or when membership factors through a finite invariant that respects concatenation and stabilizes on powers.Language.IsStarFree.comap: closure under inverse homomorphisms, with the erasing instanceLanguage.IsStarFree.preimage_filter.
References #
A language is star-free when its syntactic monoid is finite and aperiodic, that is, when it is a language of the pseudovariety of aperiodic monoids.
Equations
Instances For
A language is star-free exactly when it is regular with an aperiodic syntactic monoid.
Star-free languages are closed under complement.
Star-free languages are closed under intersection.
Star-free languages are closed under union.
A language recognized by a finite aperiodic monoid is star-free. Unlike
Monoid.Pseudovariety.langs_of_recognizes, the recognizer may live in any universe.
A language is star-free when membership factors through a map g with finite range that
respects concatenation and takes the same value on n + 1 copies of a word as on n.
A star-free language cannot tell n + 1 copies of a word from n copies, for some n.
The words of even length do not form a star-free language.
Star-free languages are closed under inverse homomorphisms of free monoids.
Star-free languages are closed under preimage by erasure, the instance of IsStarFree.comap
for FreeMonoid.filter p, which erases the letters failing p.
The full language is star-free.
Star-free languages are closed under finitely-indexed intersections.