Star-free languages #
A language is star-free when it is regular with an aperiodic syntactic monoid
([Sch65]) — the algebraic characterization of the star-free regular expressions
(built from finite sets by ∪, ·, complement, no Kleene star), equivalently the counter-free /
FO[<]-definable stringsets ([McNP71]). Taking the syntactic-monoid
characterization as the definition mirrors the project's treatment of regularity
(Language.isRegular_iff_finite_syntacticMonoid).
Star-free is the V = Monoid.aperiodicVariety instance of the Eilenberg correspondence: it is
defined as aperiodicVariety.langs, so its closure properties are corollaries of the general
keystone (Monoid.Pseudovariety.langs_*) rather than hand-written syntactic-monoid arguments.
Main definitions #
Language.IsStarFree—Monoid.aperiodicVariety.langs; equivalently regular with an aperiodic syntactic monoid (isStarFree_iff).
Main results #
Language.IsStarFree.compl/.inter/.union— boolean closure.Language.IsStarFree.of_recognizes— recognized by a finite aperiodic monoid ⟹ star-free.Language.IsStarFree.comap— closure under inverse homomorphism.
A language is star-free ([Sch65]): the Monoid.aperiodicVariety instance of
Monoid.Pseudovariety.langs — regular with an aperiodic syntactic monoid (isStarFree_iff).
Star-free = FO[<]-definable = counter-free ([McNP71]).
Equations
Instances For
Star-free unfolds to: 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 — the algebraic
characterization of star-free ([Sch65]). The engine for placing a constraint class
inside SF: exhibit a finite aperiodic recognizer. Stays universe-polymorphic in the recognizer
M (the keystone Monoid.Pseudovariety.langs_of_recognizes is its fixed-universe form).
Star-free languages are closed under inverse homomorphism. The engine for transferring a
star-free upper bound across a string-rewriting projection (e.g. tier erasure: TSL ⊆ SF).
The full language is star-free — recognized by the trivial monoid.