Hintikka formulas and the Ehrenfeucht–Fraïssé theorem #
For a language with finitely many relation symbols, the rank-n type of a k-tuple is finite
combinatorial data (Cslib.Logic.FO.RankType): its atomic diagram and, if n > 0, the set of
rank-(n - 1) types of its one-point extensions. Two tuples have the same rank-n type exactly
when Duplicator wins the n-round Ehrenfeucht–Fraïssé game between them (rankType_eq_iff),
and every rank-n type is defined by a Hintikka formula of quantifier rank at most n
(realize_hintikka, quantifierRank_hintikka_le). Together with the easy direction
DuplicatorWins.realize_iff, this gives the Ehrenfeucht–Fraïssé theorem: for a relational
language with finitely many relation symbols, Duplicator wins the n-round game from (a, b)
exactly when a and b satisfy the same formulas of quantifier rank at most n.
The hypothesis [Finite (Σ l, L.Relations l)] (finitely many relation symbols of all arities) is
used only by the Hintikka direction duplicatorWins_of_forall_realize_iff, which does not need
L.IsRelational; the easy direction needs L.IsRelational and no finiteness. The structures
themselves are arbitrary, finite or infinite.
Formulas are stated as L.BoundedFormula Empty k, whose k bound variables are the pebbles.
duplicatorWins_iff_forall_formula restates the theorem for formulas φ : L.Formula (Fin k) whose
free variables name the pebbles; the translation between the two forms preserves quantifier rank
(quantifierRank_relabel, quantifierRank_toFormula).
To show that a property of finite structures is not first-order definable, exhibit for each n
two structures, one with the property and one without, on which Duplicator wins the n-round
game (DuplicatorWins.realize_iff). For linear orders this is carried out in
CslibFrontier.Logics.FirstOrder.EhrenfeuchtFraisse.FiniteLinearOrder.
Main definitions #
Cslib.Logic.FO.AtomicIndex: the atomic formulas inkvariables, as indices.Cslib.Logic.FO.RankType,Cslib.Logic.FO.rankType: rank-ntypes and the type of a tuple.Cslib.Logic.FO.atomicDiagram,Cslib.Logic.FO.hintikka: the defining formulas of atomic types and of rank-ntypes.
Main results #
Cslib.Logic.FO.rankType_eq_iff: equal rank-ntypes are exactly winning positions of then-round game.Cslib.Logic.FO.realize_hintikka,Cslib.Logic.FO.quantifierRank_hintikka_le: the Hintikka formula of a type defines it and has quantifier rank at mostn.Cslib.Logic.FO.duplicatorWins_of_forall_realize_iff: Ehrenfeucht–Fraïssé, hard direction.Cslib.Logic.FO.duplicatorWins_iff_forall_realize_iff,Cslib.Logic.FO.duplicatorWins_iff_forall_formula,Cslib.Logic.FO.duplicatorWins_iff_forall_sentence: the Ehrenfeucht–Fraïssé theorem.Cslib.Logic.FO.exists_finite_quantifierRank_le_realize_iff: there are finitely many formulas of quantifier rank at mostninkvariables up to logical equivalence.Cslib.Logic.FO.elementarilyEquivalent_iff_forall_duplicatorWins: elementary equivalence is winning every finite game.
References #
- A. Ehrenfeucht, An application of games to the completeness problem for formalized theories
- R. Fraïssé, Sur quelques classifications des systèmes de relations
- L. Libkin, Elements of Finite Model Theory, Chapter 3 (the
Ehrenfeucht–Fraïssé theorem and rank-
ktypes). - H.-D. Ebbinghaus and J. Flum, Finite Model Theory, Chapter 2.
Atomic types #
The atomic formulas in k variables of a relational language, as indices: an equation
xᵢ = xⱼ, or a relation symbol applied to a tuple of variables.
Instances For
The atomic formula xᵢ = xⱼ or R(x_{f 0}, …) with index i, the variables being the bound
variables of a formula with no free variables.
Instances For
The atomic fact with index i holds of the tuple a.
Instances For
A position is a partial isomorphism exactly when both tuples satisfy the same atomic formulas.
Rank types #
The rank-n types of k-tuples, as combinatorial data: a rank-0 type is a set of atomic
facts, and a rank-(n + 1) type is a set of atomic facts together with the set of rank-n types of
the one-point extensions. The body is exposed: statements about types use its shape.
Instances For
For finitely many relation symbols, there are finitely many rank-n types of k-tuples.
The rank-n type of a tuple.
Instances For
Two tuples have the same rank-n type exactly when Duplicator wins the n-round game.
Hintikka formulas #
The conjunction of the atomic facts in T and the negations of those not in T.
Instances For
The Hintikka formula of a rank-n type: a formula of quantifier rank at most n satisfied
exactly by the tuples of that type. For n + 1 it states the atomic diagram, that every
rank-n type of the type is realized by a one-point extension, and that every one-point
extension realizes one of them.
Instances For
The Ehrenfeucht–Fraïssé theorem #
Ehrenfeucht–Fraïssé, hard direction. For a language with finitely many relation symbols,
if a and b satisfy the same formulas of quantifier rank at most n, then Duplicator wins the
n-round game from (a, b). Only the Hintikka formula of the type of a is used.
The Ehrenfeucht–Fraïssé theorem [Lib04]. For a relational language with finitely
many relation symbols, Duplicator wins the n-round game from (a, b) exactly when a and b
satisfy the same formulas of quantifier rank at most n.
The Ehrenfeucht–Fraïssé theorem for formulas with free variables. For a relational
language with finitely many relation symbols, Duplicator wins the n-round game from (a, b)
exactly when a and b satisfy the same formulas φ : L.Formula (Fin k) of quantifier rank at
most n.
The Ehrenfeucht–Fraïssé theorem for sentences. For a relational language with finitely
many relation symbols, Duplicator wins the n-round game on M and N exactly when M and N
satisfy the same sentences of quantifier rank at most n.
Consequences #
For a relational language with finitely many relation symbols, there are only finitely many
formulas of quantifier rank at most n in k variables up to logical equivalence: each is
equivalent, in every structure, to a disjunction of Hintikka formulas.
For a relational language with finitely many relation symbols, two structures are
elementarily equivalent exactly when Duplicator wins the n-round game on them for every n.