Multitier extensions of subregular classes #
A tier projection erases the symbols off a tier T : ฮฑ โ Bool. The multitier closure
IsBTC ๐ of a class ๐ : Language ฮฑ โ Prop is the Boolean algebra generated by the preimages
of ๐-languages under tier projections.
Main definitions #
IsTierBased ๐: preimages of๐-languages under a Boolean tier projection.IsBTC ๐: the multitier closure, theBooleanSubalgebra.closureof the tier-projected family.IsBTSL/IsBTSP/IsBTD/IsBTK/IsBTLI/IsBTN: its six specializations, to the strictly local, strictly piecewise, definite, reverse definite, generalized definite and finite-or-cofinite languages. Lambert calls the first the multitier locally testable languages.IsBTC.Indist: tier-indistinguishability, the congruence behind membership refutation.tierWord,tierPrefix,tierSuffix: the literals of a propositional logic over tier affixes.
Main results #
IsBTC.mono: monotonicity in the base class.isTierStrictlyLocal_iff_isTierBased: TSL_k is the tier-based closure of SL_k.IsBTC.mem_languageVariety: the multitier closure of a class lies in every variety of languages containing it, since a tier projection is a homomorphism of free monoids.IsBTC.isStarFree: its instance at the aperiodic monoids, so all six specializations are star-free over a finite alphabet.IsBTC.mem_iff_of_indistandnot_isBTC_of_indist: membership respects tier-indistinguishability, yielding the standard non-membership argument.
Implementation notes #
IsTierBased/IsBTC.Indist quantify over Bool tiers T : ฮฑ โ Bool, avoiding an
โ T, โ _ : DecidablePred T, โฆ witness. A Prop tier with [DecidablePred], as in
TierStrictlyLocalGrammar, projects by the filter of its decide, which is already a Bool
tier, so isTierStrictlyLocal_iff_isTierBased needs no conversion lemma.
References #
Tier-based language families #
A language is tier-based for a class ๐ when it is the preimage of a ๐-language under
the projection to some Boolean tier.
Equations
- Language.IsTierBased ๐ L = โ (T : ฮฑ โ Bool) (L' : Language ฮฑ), L = {w : List ฮฑ | List.filter T w โ L'} โง ๐ L'
Instances For
Every ๐-language is tier-based for ๐ via the universal tier, which erases no
symbol.
Monotonicity in the base class.
The multitier closure #
The multitier closure of a class ๐ is the Boolean subalgebra of Language ฮฑ generated by
the tier-projected family IsTierBased ๐.
Equations
- Language.IsBTC ๐ L = (L โ BooleanSubalgebra.closure {L' : Language ฮฑ | Language.IsTierBased ๐ L'})
Instances For
A tier-based language lies in the closure.
Specializations #
Each class of the paper is the multitier closure of a base class, so it is closed under the
Boolean operations by IsBTC.inter, IsBTC.union and IsBTC.compl and contains the base class by
IsBTC.of_class.
The multitier locally testable languages (BTSL) are the Boolean closure of the tier-projected SL_k languages.
Equations
- Language.IsBTSL k = Language.IsBTC fun (x : Language ฮฑ) => x.IsStrictlyLocal k
Instances For
The multitier strictly piecewise languages (BTSP) are the Boolean closure of the tier-projected SP_k languages.
Equations
- Language.IsBTSP k = Language.IsBTC fun (x : Language ฮฑ) => x.IsStrictlyPiecewise k
Instances For
The multitier definite languages (BTD) are the Boolean closure of the tier-projected D_k languages.
Equations
- Language.IsBTD k = Language.IsBTC fun (x : Language ฮฑ) => x.IsDefinite k
Instances For
The multitier reverse definite languages (BTK) are the Boolean closure of the tier-projected RD_k languages.
Equations
- Language.IsBTK k = Language.IsBTC fun (x : Language ฮฑ) => x.IsReverseDefinite k
Instances For
The multitier generalized definite languages (BTLI) are the Boolean closure of the tier-projected โโ_k languages.
Equations
- Language.IsBTLI k = Language.IsBTC fun (x : Language ฮฑ) => x.IsGeneralizedDefinite k
Instances For
The multitier finite-or-cofinite languages (BTN) are the Boolean closure of the tier-projected co/finite languages.
Instances For
Cross-class inclusions #
An inclusion of base classes lifts to their multitier closures by IsBTC.mono.
The inclusion D_k โ โโ_k lifts to BTD_k โ BTLI_k.
The inclusion RD_k โ โโ_k lifts to BTK_k โ BTLI_k.
Tier literals #
The literals of a propositional logic over tier affixes: the words whose projection to a tier
T is exactly xs, begins with xs, or ends in xs. Each lies in the multitier extension of
the class its affix belongs to, with a window at least the length of the affix (strictly more
for a whole tier word).
The tier word [โxsโ]_T is the set of words whose projection to the tier T is xs.
Equations
- Language.tierWord T xs = {w : List ฮฑ | List.filter T w โ {xs}}
Instances For
The tier prefix [โxs]_T is the set of words whose projection to T begins with xs.
Equations
- Language.tierPrefix T xs = {w : List ฮฑ | List.filter T w โ Language.ofPrefix xs}
Instances For
The tier suffix [xsโ]_T is the set of words whose projection to T ends in xs.
Equations
- Language.tierSuffix T xs = {w : List ฮฑ | List.filter T w โ Language.ofSuffix xs}
Instances For
Tier-based strictly local languages #
The tier-based strictly k-local languages are the tier-based closure of the strictly
k-local ones, since a TierStrictlyLocalGrammar is a tier together with an SL_k language
pulled back along erasure of the off-tier symbols.
Every tier-based strictly local language lies in the multitier closure of strictly local languages.
Refuting membership by indistinguishability #
A language lies outside IsBTC ๐ when it separates two words that every ๐-language assigns the
same membership under every tier projection. For the generalized definite languages it suffices
that the two words share their length-k prefix and suffix on every tier.
Two words are ๐-tier-indistinguishable when every ๐-language assigns them the same
membership under every Bool tier projection.
Equations
- Language.IsBTC.Indist ๐ wโ wโ = โ (T : ฮฑ โ Bool) (L' : Language ฮฑ), ๐ L' โ (List.filter T wโ โ L' โ List.filter T wโ โ L')
Instances For
If wโ โ L and wโ โ L but wโ and wโ are ๐-tier-indistinguishable, then
L โ IsBTC ๐.
Two words sharing their length-k prefix and suffix on every Bool tier are
indistinguishable by the tier-projected generalized k-definite languages.
Varieties of languages #
A tier projection is the free monoid endomorphism FreeMonoid.filter T, and a variety of
languages is a Boolean algebra closed under inverse images of such endomorphisms, so it contains
the multitier closure of any class it contains.
The multitier closure of ๐ lies in every variety of languages containing ๐.
The multitier closure of a star-free base class is star-free.