Tuple back-and-forth systems #
A tuple back-and-forth system is a set of pairs of equally long finite tuples containing the empty pair, preserving atomic types, and admitting one-element extensions in both directions within the same set. Every pair in such a system is back-and-forth equivalent at every ordinal, and every tuple of either structure occurs in some pair of the system. These systems allow characteristic sentences to produce potential isomorphisms without requiring every finite partial isomorphism to extend.
This is the tuple presentation of back-and-forth systems used in Carol Karp,
Finite-quantifier equivalence (1965). See also Cameron Freer's
cameronfreer/infinitary-logic, InfinitaryLogic/Karp/PotentialIso.lean at checkpoint
9f82bd572af2d79a043c6bc3f1b745f14e0bcaa4. Here the system is an explicit set of tuple pairs.
A set of pairs of finite tuples containing the empty pair, preserving atomic types, and closed under matching one-element extensions in both directions within the set.
The empty tuples belong to the system.
Every pair in the system agrees on all atomic tests, including nullary relations.
- forth {n : ℕ} {a : Fin n → M} {b : Fin n → N} : ⟨n, (a, b)⟩ ∈ S → ∀ (x : M), ∃ (y : N), ⟨n + 1, (Fin.snoc a x, Fin.snoc b y)⟩ ∈ S
Every element of the first structure has a matching extension in the system.
- back {n : ℕ} {a : Fin n → M} {b : Fin n → N} : ⟨n, (a, b)⟩ ∈ S → ∀ (y : N), ∃ (x : M), ⟨n + 1, (Fin.snoc a x, Fin.snoc b y)⟩ ∈ S
Every element of the second structure has a matching extension in the system.
Instances For
Swapping the two tuples of every pair of a tuple back-and-forth system gives a tuple back-and-forth system in the other direction.
Pairs in one back-and-forth system agree at every ordinal level.
Every tuple of M is the first component of some pair in a tuple back-and-forth system:
repeated forth moves extend the empty pair.
Every tuple of N is the second component of some pair in a tuple back-and-forth system:
repeated back moves extend the empty pair.