Scott Formulas #
This file defines Scott formulas, which are Lω₁ω formulas that capture back-and-forth equivalence at each ordinal level.
Main Definitions #
scottFormula: The Scott formula for a tuple at a given ordinal level.
Main Results #
realize_scottFormula_iff_BFEquiv: A tuple b satisfies the Scott formula for a at level α if and only if a and b are BF-equivalent at level α.
Implementation Notes #
The Scott formula at ordinal α is defined by recursion on α:
- At 0: the atomic diagram of the tuple
- At successor α + 1: the formula at α, plus forth and back conditions
- At limit λ: the conjunction over all β < λ
For the forth and back conditions, we need to quantify over elements of M, which requires
[Countable M] to form the countable conjunction/disjunction.
The key technical challenge is handling the variable binding correctly. When we have
a formula φ(x₀,...,xₙ) with n+1 free variables and want to existentially quantify
over the last variable, we use relabel to move it into a bound position.
The key semantics lemma for formulas with 0 bound variables: relabeling with insertLastBound
shifts the last free variable to a bound variable position.
For φ : L.Formulaω (Fin (n+1)) (a formula with n+1 free vars and 0 bound vars):
Semantics of existsLastVar: existentially quantifies over the last variable.
Uses realize_relabel_insertLastBound_zero to show that:
existsLastVar φ = (φ.relabel insertLastBound).ex- This quantifies existentially over the last (n-th) free variable
The Scott formula for a tuple a at ordinal level α.
At level 0: the atomic diagram of a. At successor α + 1: formula at α ∧ (forth condition) ∧ (back condition) At limit λ: conjunction over all β < λ.
The formula has free variables indexed by Fin n (representing the positions in the tuple).
Requires [Countable M] to quantify over elements of M in the forth/back conditions.
The definition uses Ordinal.limitRecOn with a motive that is constant in the ordinal
(always (n : ℕ) → (Fin n → M) → L.Formulaω (Fin n)), allowing uniform treatment of
tuples of different lengths in the recursion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fundamental correspondence: a tuple b realizes the Scott formula for a at level α if and only if a and b are BF-equivalent at level α.
Important: This theorem only holds for α < ω₁. For α ≥ ω₁, scottFormula returns ⊤
(which is always realized) while BFEquiv may fail, so the equivalence breaks down.
For Scott analysis of countable structures, we only use ordinals < ω₁.
The proof proceeds by ordinal induction using limitRecOn:
- Zero case: follows from
sameAtomicType_iff_realize_atomicDiagram - Successor case: uses
realize_existsLastVarandrealize_forallLastVar - Limit case: uses
realize_einf