First-order logic with monadic quantifiers and the bijective game #
[UPSTREAM] candidate. Adding every monadic Lindström quantifier to first-order logic gives the
logic FO(Mon). Besides atomic formulas and connectives, a quantifier Q over m predicates
binds one variable in m formulas, and holds when the domain, with the predicates read as the
formulas' extensions, belongs to Q. Hella's bijective game is the matching
Ehrenfeucht–Fraïssé game: each round duplicator commits to a bijection between the domains,
spoiler picks an element, and its image answers it. If duplicator wins k rounds, the two
positions satisfy the same FO(Mon) formulas of quantifier rank ≤ k, since a bijection
matching the formulas' extensions is an isomorphism of the monadic structures they carve out,
which no quantifier can tell apart.
Main definitions #
FirstOrder.Language.MonFormula L n: formulas ofFO(Mon)withnfree variables, with satisfactionMonFormula.Realizeand quantifier rankMonFormula.qr.FirstOrder.Language.MonDefinable K P: some sentence ofFO(Mon)definesPwithinK.FirstOrder.Language.DuplicatorWinsBijective: duplicator wins thek-round bijective game.
Main results #
FirstOrder.Language.DuplicatorWinsBijective.realize_iff: a winning position agrees on theFO(Mon)formulas of quantifier rank≤ k.FirstOrder.Language.not_monDefinable_of_duplicatorWinsBijective: the game method for undefinability inFO(Mon).FirstOrder.Language.duplicatorWinsBijective_successor: the successor graphs of two permutations of equinumerous finite sets with all cycles of length at least2 ^ rare not told apart inrrounds.
References #
Formulas of first-order logic with all monadic quantifiers, FO(Mon), with n free
variables. Besides equations and relations between terms, falsity and implication, a monadic
quantifier Q over m predicates binds a new variable in m formulas.
- equal {L : Language} {n : ℕ} (t₁ t₂ : L.Term (Empty ⊕ Fin n)) : L.MonFormula n
- rel {L : Language} {n l : ℕ} (R : L.Relations l) (ts : Fin l → L.Term (Empty ⊕ Fin n)) : L.MonFormula n
- falsum {L : Language} {n : ℕ} : L.MonFormula n
- imp {L : Language} {n : ℕ} (φ ψ : L.MonFormula n) : L.MonFormula n
- quant {L : Language} {n m : ℕ} (Q : (Language.monadic (Fin m)).LindstromQuantifier) (ψ : Fin m → L.MonFormula (n + 1)) : L.MonFormula n
Instances For
Satisfaction of a formula of FO(Mon) under an assignment of its free variables. A monadic
quantifier holds when the domain, each predicate read as the extension of the corresponding
formula in the bound variable, belongs to the quantifier.
Equations
- (FirstOrder.Language.MonFormula.equal t₁ t₂).Realize x✝ = (FirstOrder.Language.Term.realize (Sum.elim default x✝) t₁ = FirstOrder.Language.Term.realize (Sum.elim default x✝) t₂)
- (FirstOrder.Language.MonFormula.rel R ts).Realize x✝ = FirstOrder.Language.Structure.RelMap R fun (i : Fin l) => FirstOrder.Language.Term.realize (Sum.elim default x✝) (ts i)
- FirstOrder.Language.MonFormula.falsum.Realize x✝ = False
- (φ.imp ψ).Realize x✝ = (φ.Realize x✝ → ψ.Realize x✝)
- (FirstOrder.Language.MonFormula.quant Q ψ).Realize x✝ = ({ α := M, str := FirstOrder.Language.monadicStructure M fun (i : Fin m) (a : M) => (ψ i).Realize (Fin.snoc x✝ a) } ∈ Q.holds)
Instances For
The quantifier rank of a formula of FO(Mon), the greatest nesting depth of quantifiers.
Equations
- (FirstOrder.Language.MonFormula.equal t₁ t₂).qr = 0
- (FirstOrder.Language.MonFormula.rel R ts).qr = 0
- FirstOrder.Language.MonFormula.falsum.qr = 0
- (φ.imp ψ).qr = max φ.qr ψ.qr
- (FirstOrder.Language.MonFormula.quant Q ψ).qr = (Finset.univ.sup fun (i : Fin m) => (ψ i).qr) + 1
Instances For
A class P of structures is definable in FO(Mon) within K when some sentence of
FO(Mon) holds of exactly the members of P among the structures in K.
Equations
- L.MonDefinable K P = ∃ (φ : L.MonFormula 0), ∀ M ∈ K, M ∈ P ↔ φ.Realize default
Instances For
The bijective game #
Duplicator wins the k-round bijective game from an n-tuple v of M and an n-tuple
w of N when the tuples satisfy the same atomic formulas and, with k + 1 rounds left, she has
a bijection g between the domains such that each element a of M and its image g a extend
the tuples to a position she wins with k rounds left.
Equations
- L.DuplicatorWinsBijective 0 x✝¹ x✝ = L.DuplicatorWins 0 x✝¹ x✝
- L.DuplicatorWinsBijective k.succ x✝¹ x✝ = (L.DuplicatorWins 0 x✝¹ x✝ ∧ ∃ (g : M ≃ N), ∀ (a : M), L.DuplicatorWinsBijective k (Fin.snoc x✝¹ a) (Fin.snoc x✝ (g a)))
Instances For
A position from which duplicator wins k rounds of the bijective game satisfies the same
formulas of FO(Mon) of quantifier rank ≤ k.
The bijective game method for undefinability in FO(Mon). If for every number of rounds
duplicator wins the bijective game between some structure in K with property P and one in
K without it, then P is not definable in FO(Mon) within K.
Successor graphs of permutations #
The successor graph of a permutation σ joins each element x to σ x. Duplicator wins r
rounds of the bijective game between the successor graphs of two permutations of equinumerous
finite sets whose cycles all have length at least 2 ^ r. With k rounds left she keeps the
chosen points matched displacement by displacement up to 2 ^ k: the j-th point lies d
steps along σ from the i-th exactly when the same holds along τ. In each round she
translates the points near the chosen ones along τ and matches the remaining points by
counting.
Duplicator wins r rounds of the bijective game between the successor graphs of two
permutations of equinumerous finite sets whose cycles all have length at least 2 ^ r.