Definite languages and the pseudovarieties D and K #
The Eilenberg correspondence sends the pseudovariety D of definite semigroups to the definite languages, and K to the reverse-definite ones ([Eil76] Ch. VIII, [Pin]). This file proves both correspondences over a finite alphabet.
The forward half rests on screening: a k-definite language cannot see anything prepended to a
word of length ≥ k, because the prepended block falls outside the length-k window
(List.rtake_append_append_of_le_length). Idempotence supplies representatives of unbounded
length, which turns the language statement into the semigroup equation s * e = e. The
reverse-definite case mirrors this through the left edge.
The converse half is not reproved here. Variety.OmegaEquations already algebraizes these classes
— and LI and N — as omega-power equations on the syntactic monoid, converses included.
This file relates the two presentations by transporting along syntacticSemigroupToMonoid, whose
range is everything but the class of the empty word, and then reads the converses off Pin's
theorems.
Main results #
Language.IsDefinite.syntacticEquiv_append_leftandLanguage.IsReverseDefinite.syntacticEquiv_append_right: screening at each edge.Language.IsDefinite.isRegular,Language.IsReverseDefinite.isRegular: over a finite alphabet the edge projection bounds the syntactic monoid, so the language is regular. This is what the omega-power theorems assume rather than derive, taking[Finite L.SyntacticMonoid]throughout.Language.isDefinite_syntacticSemigroup_iff_omegaDefiniteEquationand its K mirror: the pseudovariety and omega-power algebraizations agree.Language.langs_definiteVariety_iff,Language.langs_reverseDefiniteVariety_iff: the correspondences themselves —V.langsis exactly the definite, resp. reverse-definite, languages.
Shared machinery #
Definite languages and D #
Screening, right edge. A k-definite language is blind to a prefix prepended to a word of
length ≥ k: the length-k window never reaches past u.
Words sharing their length-k suffix are L-equivalent — definiteness restated as a bound on
the syntactic congruence.
A definite language over a finite alphabet is regular — the length-k suffix picks a
bounded representative from each syntactic class.
The syntactic semigroup of a definite language is definite: s * e = e for idempotent e.
Idempotence lets e be represented by an arbitrarily long word, and screening then makes the left
factor invisible.
The language half of D: a definite language over a finite alphabet lies in the language variety of the pseudovariety D.
Reverse-definite languages and K #
The mirror through the left edge. Screening is cheaper here, since
List.take_append_of_le_length already says a long enough prefix ignores what follows.
Screening, left edge. A reverse-k-definite language is blind to a suffix appended to a
word of length ≥ k.
Words sharing their length-k prefix are L-equivalent.
A reverse-definite language over a finite alphabet is regular — the length-k prefix
picks a bounded representative from each syntactic class.
The syntactic semigroup of a reverse-definite language is reverse definite: e * s = e for
idempotent e.
The language half of K: a reverse-definite language over a finite alphabet lies in the language variety of the pseudovariety K.
Agreement with the omega-power equations #
Variety.OmegaEquations algebraizes the same classes as equations on the syntactic monoid. The
two presentations agree: syntacticSemigroupToMonoid is injective, its range is everything but the
class of the empty word, and idempotents correspond to omega-powers of classes of nonempty words.
Transporting across it turns the pseudovariety statements into Pin's equations, and so yields the
langs characterisations from the omega-power theorems.
The two algebraizations of D agree: the syntactic semigroup is definite exactly when the syntactic monoid satisfies Pin's omega-power equation.
The two algebraizations of K agree — the mirror of
isDefinite_syntacticSemigroup_iff_omegaDefiniteEquation.
Eilenberg's correspondence for D: the language variety of the pseudovariety D is exactly the definite languages.
Eilenberg's correspondence for K: the language variety of the pseudovariety K is exactly the reverse-definite languages.