The Ehrenfeucht–Fraïssé game on monadic structures #
[UPSTREAM] candidate. A language is monadic when its only symbols are unary relation symbols, so
each element of a structure has a unary type, the set of symbols holding of it. On monadic
structures the Ehrenfeucht–Fraïssé game is decided by counting: duplicator answers a played
element by its partner and a fresh element by a fresh element of the same type, which is possible
while, for each type, the unplayed elements on the two sides are equinumerous or both at least the
number of rounds left. Conversely, spoiler wins when a type is scarcer on one side, so two
structures for a finite monadic signature are t-equivalent exactly when, for each unary type,
their elements of that type are equinumerous or both at least t, the first-order case of Peters
and Westerståhl's Theorem 13. With the Hintikka characterization of definability, this makes a
class first-order definable iff it is invariant under these counts up to some threshold, which is
van Benthem's characterization of the first-order definable determiners.
Main definitions #
FirstOrder.Language.IsMonadic: the language has only unary relation symbols.FirstOrder.Language.monadic,FirstOrder.Language.monadicStructure: the monadic language on an index type and the structure given by a family of predicates.FirstOrder.Language.unaryType: the unary relation symbols holding of an element.FirstOrder.Language.MonadicMatch: tuples with the same equality pattern and unary types.
Main results #
FirstOrder.Language.MonadicMatch.duplicatorWins: the counting strategy wins the game.FirstOrder.Language.DuplicatorWins.min_encard_eq: conversely, any winning position satisfies the counting condition.FirstOrder.Language.elementarilyEquivalentUpTo_iff_min_encard_eq,FirstOrder.Language.elementarilyEquivalentUpTo_monadicStructure_iff: thet-equivalence criterion.FirstOrder.Language.foDefinable_iff_exists_min_encard_eq: a class of structures for a finite monadic signature is definable withinKiff it is invariant under agreement of the unary type counts up to some threshold.
References #
A language is monadic when its only symbols are unary relation symbols.
- isEmpty_functions (n : ℕ) : IsEmpty (L.Functions n)
- isEmpty_relations (n : ℕ) : n ≠ 1 → IsEmpty (L.Relations n)
Instances
The relation symbols of the monadic language on ι, one unary symbol for each i : ι.
- pred {ι : Type v} (i : ι) : monadicRel ι 1
Instances For
The monadic language with one unary relation symbol for each i : ι.
Equations
- FirstOrder.Language.monadic ι = { Functions := fun (x : ℕ) => Empty, Relations := FirstOrder.Language.monadicRel ι }
Instances For
The unary type of a is the set of unary relation symbols that hold of it.
Equations
- L.unaryType a R = FirstOrder.Language.Structure.RelMap R ![a]
Instances For
Two tuples match when they have the same equality pattern and corresponding entries have the same unary type, so that they form a partial isomorphism between monadic structures.
- eq_iff (i j : Fin n) : v i = v j ↔ w i = w j
Instances For
The structure on M interpreting each symbol pred i as the predicate P i.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bijection carrying each predicate P i to Q i is an isomorphism of the monadic
structures.
Equations
- FirstOrder.Language.monadicStructureEquiv e h = { toEquiv := e, map_fun' := ⋯, map_rel' := ⋯ }
Instances For
In the forth move of the counting strategy, a played element is answered by its partner
and a fresh element of type S by a fresh element of type S, which exists because the fresh
elements of type S are equinumerous on the two sides or both at least j + 1.
Matched tuples in a monadic language satisfy the same atomic formulas, which are equalities and unary predications of variables.
In a monadic language the counting strategy wins j rounds from matched tuples when, for
every unary type, the unplayed elements of that type are equinumerous on the two sides or both at
least j.
Two structures for a monadic language are t-equivalent when, for every unary type, their
elements of that type are equinumerous or both at least t ([PW06]
Theorem 13 with condition (13.7), first-order case).
Tuples from which duplicator wins match, since equalities and unary predications of variables are atomic formulas.
A forth move answers a fresh element of type S by a fresh element of type S.
At a winning position for j rounds, the unplayed elements of each unary type are
equinumerous on the two sides or both at least j.
Two structures for a finite monadic signature are t-equivalent iff, for every unary type,
their elements of that type are equinumerous or both at least t ([PW06]
Theorem 13 with condition (13.7), first-order case).
A class of structures for a finite monadic signature is first-order definable within K iff,
for some threshold n, it is invariant within K under agreement of the unary type counts up to
n; for two unary predicates this is [vB84] Theorem 6.1.
Two monadic structures (M, P) and (N, Q) over a finite index type are t-equivalent iff
each part of the partition by the predicates, the elements satisfying exactly the predicates
selected by S, has the same size in both or at least t elements in both
([PW06] Theorem 13 with condition (13.7), first-order case).