Documentation

TauCeti.ModelTheory.BackAndForth.ExtensionSpectrum

Extension spectra and level-by-level counting of back-and-forth classes #

Fix a family of structures M i, i : ι, of a relational language L. At an ordinal depth α and an arity n, back-and-forth equivalence is the equivalence relation bfTupleSetoid L M α n on the pointed tuples ⟨i, a⟩ with a : Fin n → M i, comparing tuples across all members of the family (see TauCeti.ModelTheory.BackAndForth.Equivalence).

The depth-α extension spectrum of a pointed tuple ⟨i, a⟩ is the set of depth-α classes of its one-point extensions ⟨i, snoc a m⟩, m : M i. Two pointed tuples are equivalent at depth α + 1 exactly when they are equivalent at depth α and have the same extension spectrum. So the classes at depth α + 1 inject into pairs of a class at depth α and a realized extension spectrum, which bounds their number.

BFSmall L M collects three local conditions on the family: countably many classes of tuples at depth 0, countably many realized extension spectra at every countable depth, and isolation of each countable limit depth by the depths below it (Setoid.IsolatedBy). Together they give countably many classes of tuples at every countable depth and every arity. This is the level-by-level analysis that bounds the number of isomorphism classes of a family of countable structures through its back-and-forth levels.

Neither of the first and last conditions is automatic. At depth 0 a tuple is classified by its atomic type, a set of atomic formulas, so with infinitely many relation symbols there can be continuum many classes. At a limit depth λ, countably many classes at every depth below λ do not bound the classes at λ: a class at λ is a coherent choice of classes below λ, and a countable product of countable sets can have the size of the continuum. Isolation is the hypothesis that closes this gap.

Main definitions #

Main results #

References #

def TauCeti.bfExtensionSpectrum (L : FirstOrder.Language) [L.IsRelational] {ι : Type x} (M : ι → Type w) [(i : ι) → L.Structure (M i)] (α : Ordinal.{o}) (n : ℕ) (x : (i : ι) × (Fin n → M i)) :
Set (Quotient (bfTupleSetoid L M α (n + 1)))

The depth-α extension spectrum of a pointed tuple x = ⟨i, a⟩: the depth-α classes of its one-point extensions ⟨i, snoc a m⟩, for m : M i.

Instances For
    def TauCeti.bfExtensionSpectra (L : FirstOrder.Language) [L.IsRelational] {ι : Type x} (M : ι → Type w) [(i : ι) → L.Structure (M i)] (α : Ordinal.{o}) (n : ℕ) :
    Set (Set (Quotient (bfTupleSetoid L M α (n + 1))))

    The realized extension spectra at depth α of the pointed n-tuples of the family.

    Instances For
      @[simp]
      theorem TauCeti.mem_bfExtensionSpectrum {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {x : (i : ι) × (Fin n → M i)} {q : Quotient (bfTupleSetoid L M α (n + 1))} :
      q ∈ bfExtensionSpectrum L M α n x ↔ ∃ (m : M x.fst), ⟦⟨x.fst, Fin.snoc x.snd m⟩⟧ = q
      theorem TauCeti.mk_mem_bfExtensionSpectrum_iff {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {x : (i : ι) × (Fin n → M i)} {y : (i : ι) × (Fin (n + 1) → M i)} :
      ⟦y⟧ ∈ bfExtensionSpectrum L M α n x ↔ ∃ (m : M x.fst), BFEquiv α (n + 1) (Fin.snoc x.snd m) y.snd

      The class of a pointed (n + 1)-tuple lies in the extension spectrum of x exactly when the tuple is equivalent to a one-point extension of x.

      @[simp]
      theorem TauCeti.mem_bfExtensionSpectra {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {s : Set (Quotient (bfTupleSetoid L M α (n + 1)))} :
      s ∈ bfExtensionSpectra L M α n ↔ ∃ (x : (i : ι) × (Fin n → M i)), bfExtensionSpectrum L M α n x = s
      theorem TauCeti.bfExtensionSpectrum_subset_iff {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {x y : (i : ι) × (Fin n → M i)} :
      bfExtensionSpectrum L M α n x ⊆ bfExtensionSpectrum L M α n y ↔ ∀ (m : M x.fst), ∃ (m' : M y.fst), BFEquiv α (n + 1) (Fin.snoc x.snd m) (Fin.snoc y.snd m')

      One extension spectrum is contained in another exactly when the forth condition of the back-and-forth step holds: every one-point extension of x is matched by one of y.

      theorem TauCeti.bfTupleSetoid_add_one_iff {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {x y : (i : ι) × (Fin n → M i)} :
      (bfTupleSetoid L M (α + 1) n) x y ↔ (bfTupleSetoid L M α n) x y ∧ bfExtensionSpectrum L M α n x = bfExtensionSpectrum L M α n y

      The successor step. Two pointed tuples are equivalent at depth α + 1 exactly when they are equivalent at depth α and have the same depth-α extension spectrum.

      theorem TauCeti.exists_injective_quotient_bfTupleSetoid_add_one (L : FirstOrder.Language) [L.IsRelational] {ι : Type x} (M : ι → Type w) [(i : ι) → L.Structure (M i)] (α : Ordinal.{o}) (n : ℕ) :
      ∃ (f : Quotient (bfTupleSetoid L M (α + 1) n) → Quotient (bfTupleSetoid L M α n) × ↑(bfExtensionSpectra L M α n)), Function.Injective f

      The classes at depth α + 1 inject into pairs of a class at depth α and a realized extension spectrum.

      theorem TauCeti.mk_quotient_bfTupleSetoid_add_one_le (L : FirstOrder.Language) [L.IsRelational] {ι : Type x} (M : ι → Type w) [(i : ι) → L.Structure (M i)] (α : Ordinal.{o}) (n : ℕ) :

      The classes at depth α + 1 number at most the classes at depth α times the realized extension spectra at depth α.

      theorem TauCeti.countable_quotient_bfTupleSetoid_add_one {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} [Countable (Quotient (bfTupleSetoid L M α n))] (h : (bfExtensionSpectra L M α n).Countable) :

      Countable transfer at a successor. Countably many classes and countably many realized extension spectra at depth α give countably many classes at depth α + 1.

      theorem TauCeti.mk_quotient_bfTupleSetoid_add_one_le_of_le {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] {α : Ordinal.{o}} {n : ℕ} {κ : Cardinal.{max w x}} (hκ : Cardinal.aleph0 ≤ κ) (hq : Cardinal.mk (Quotient (bfTupleSetoid L M α n)) ≤ κ) (hs : Cardinal.mk ↑(bfExtensionSpectra L M α n) ≤ κ) :
      Cardinal.mk (Quotient (bfTupleSetoid L M (α + 1) n)) ≤ κ

      Cardinal transfer at a successor. If the classes and the realized extension spectra at depth α number at most an infinite cardinal κ, such as ℵ₁, so do the classes at depth α + 1.

      structure TauCeti.BFSmall (L : FirstOrder.Language) [L.IsRelational] {ι : Type x} (M : ι → Type w) [(i : ι) → L.Structure (M i)] :

      Level-by-level smallness of a family of structures, with depths in Ordinal.{0}: countably many classes of n-tuples at depth 0, countably many realized extension spectra at every depth below ω₁, and, at every limit depth below ω₁, isolation of the classes by the depths below it.

      Instances For
        theorem TauCeti.BFSmall.countable_quotient {L : FirstOrder.Language} [L.IsRelational] {ι : Type x} {M : ι → Type w} [(i : ι) → L.Structure (M i)] (h : BFSmall L M) {α : Ordinal.{0}} (hα : α < Ordinal.omega 1) (n : ℕ) :

        Countably many classes at every countable depth. Under BFSmall, back-and-forth equivalence at any depth below ω₁ has countably many classes of n-tuples, for every arity n.