Strictly local and locally testable sets of structures #
Among the members of a family of relational structures, a set is strictly k-local when a set of
permitted k-factors cuts it out, and locally k-testable when membership depends only on the
set of k-factors. Over words ordered by successor these are the strictly local and the locally
testable stringsets, and over words ordered by precedence the strictly piecewise and the piecewise
testable ones.
Main definitions #
FirstOrder.Language.IsStrictlyLocal,FirstOrder.Language.IsLocallyTestable: the strictly local and the locally testable sets of members of a family of structures.
Main statements #
FirstOrder.Language.isStrictlyLocal_iff: a set is strictly local exactly when it contains every member whose factors all occur in its members.FirstOrder.Language.IsStrictlyLocal.mem_of_factors_subset_union: strictly local sets are closed under any operation that adds no factor.
References #
A set of members of a family of structures is strictly k-local when it consists of the
members all of whose k-factors a fixed set of factors permits.
Equations
- L.IsStrictlyLocal M k S = ∃ (G : Set (L.Factor k)), S = {i : ι | L.factors k (M i) ⊆ G}
Instances For
A set of members of a family of structures is locally k-testable when membership depends
only on the set of k-factors.
Equations
- L.IsLocallyTestable M k S = Function.FactorsThrough (fun (x : ι) => x ∈ S) fun (i : ι) => L.factors k (M i)
Instances For
Strictly local sets #
A set is strictly local exactly when it contains every member whose factors all occur in its members.
Strictly local sets are closed under any operation that adds no factor.
Strictly local sets are downward closed under inclusion of factor sets.
Strictly local sets pull back along any reindexing of the family.