Definite languages and the pseudovarieties D, K and LI #
This file proves the Eilenberg correspondences for the definite languages and their relatives.
Over a finite alphabet, the definite, reverse definite and generalized definite languages are
exactly the regular languages whose syntactic semigroup lies in the pseudovariety D, K and
LI respectively, and the finite or cofinite languages are those whose syntactic semigroup lies
in both D and K. Both directions pass through a window characterization in the syntactic
monoid: L is k-definite exactly when the class of every word of length at least k is a right
zero, and similarly for the other two classes.
Main results #
Language.isDefinite_iff_forall_isRightZero_syntacticClassand its two mirrors: the windows.Language.IsDefinite.isRightZero_syntacticClass_of_isIdempotentElemand its two mirrors: an idempotent class of a nonempty word satisfies the window condition.Language.isDefinite_natCard_of_isDefinite_syntacticSemigroupand its two mirrors: a syntactic semigroupSin the pseudovariety bounds the window by|S|.Language.langs_definiteVariety_iff,Language.langs_reverseDefiniteVariety_iff,Language.langs_locallyTrivialVariety_iff: the Eilenberg correspondences.Language.isFiniteOrCofinite_iff_syntacticSemigroup: the finite or cofinite languages.
Implementation notes #
The bound |S| and the route through long products follow Chapter XIV of Pin's lecture notes. The
window conditions range over words of length at least k rather than over the whole syntactic
monoid, because the pseudovarieties are varieties of semigroups and do not see the empty word.
References #
Window characterizations #
Definite languages #
A k-definite language is blind to a prefix prepended to a word of length at least k, since
the length-k window never reaches past the word.
A language is k-definite exactly when the syntactic class of every word of length at least
k is a right zero of the syntactic monoid.
Reverse definite languages #
A reverse k-definite language is blind to a suffix appended to a word of length at
least k.
A language is reverse k-definite exactly when the syntactic class of every word of length at
least k is a left zero of the syntactic monoid.
Generalized definite languages #
A generalized k-definite language is blind to anything placed between two copies of a word
of length at least k.
A language is generalized k-definite exactly when the syntactic class of every word of length
at least k absorbs anything placed between two copies of it.
Idempotent classes #
An idempotent class of a nonempty word is also the class of arbitrarily long words, so it satisfies the window condition of every window.
In a definite language, an idempotent class of a nonempty word is a right zero.
In a reverse definite language, an idempotent class of a nonempty word is a left zero.
In a generalized definite language, an idempotent class of a nonempty word absorbs anything placed between two copies of it.
The syntactic semigroup #
An element of the syntactic monoid is a right zero once it absorbs the image of the syntactic semigroup, since everything else is the identity.
From the language to the semigroup #
The syntactic semigroup of a definite language is definite.
The syntactic semigroup of a reverse definite language is reverse definite.
The syntactic semigroup of a generalized definite language is locally trivial.
From the semigroup to the language #
A language with a definite syntactic semigroup S is |S|-definite.
A language with a reverse definite syntactic semigroup S is reverse |S|-definite.
A language with a locally trivial syntactic semigroup S is generalized |S|-definite.
Over a finite alphabet, a language with a finite syntactic semigroup is finite or cofinite exactly when its syntactic semigroup is both definite and reverse definite.
The Eilenberg correspondences #
A definite language over a finite alphabet lies in the language variety of D.
A reverse definite language over a finite alphabet lies in the language variety of K.
A generalized definite language over a finite alphabet lies in the language variety of LI.
The language variety of D consists of the definite languages.
The language variety of K consists of the reverse definite languages.
The language variety of LI consists of the generalized definite languages.