Documentation

InfinitaryLogic.Methods.EM.FragmentAdapter

EM Realization: Admissible/Barwise Adapter Layer #

This file contains the theorems that connect the EM template-theory machinery (from Realization.lean) to the admissible-fragment infrastructure. These are the _of_fragment, _of_fullFragment, and _of_compact endpoints that take FiniteCompactFragment, FullBarwiseFragment, or bare compactness hypotheses.

Separated from Realization.lean so that the Countable import bundle can import the core EM machinery without transitively pulling in admissible-fragment infrastructure. The adapter layer lives in the Admissible bundle instead.

Model of templateTheoryOn via Barwise compactness #

Abstract Barwise wrapper for the restricted template theory.

Sequence-indexed adapter wrappers #

Abstract Barwise wrapper for templateTheoryOfSeq.

Full-Barwise-fragment specialization.

Sequence-indexed model_of_fragment for indiscernible source.

Caller-ready EM-realization from a full Barwise fragment.

Caller-ready EM-realization from a full Barwise fragment, under restricted indiscernibility.

Stretching along an arbitrary target order #

These theorems package the existing templateTheoryOfSeq pipeline into caller-ready form: from an indiscernible template they produce a target L[[J]]-structure N whose constants satisfy the template on formulas in Set.range s (the countable family named by the enumeration s). The target order J is an arbitrary linear order — including uncountable target orders, which is where Morley–Hanf cardinality amplification lives.

Two forms are provided:

Scope: these theorems do NOT claim full IsLomega1omegaIndiscernible for any extracted sequence — that would require enumerating all Lω₁ω formulas, which is not currently formalized. They DO allow uncountable J, which is what cardinality amplification for MorleyHanfTransfer eventually needs; the residual step is extracting an indiscernible source sequence of length I ≥ ℶ_ω₁ from a large model (the Erdős–Rado half, not addressed here).

EM stretching along an arbitrary target order (full Barwise fragment).

Given an Lω₁ω-indiscernible sequence a : I → M over an infinite linear order I, a formula enumeration s : ℕ → Σ n, L.BoundedFormulaω Empty n, and a linear order J with a full Barwise fragment for L[[J]], there exists a target L[[J]]-structure N such that for every index i : ℕ and every strictly-increasing tuple t : Fin (s i).1 ↪o J, the realization of templateSentence (s i).2 t in N matches the truth value of (s i).2 in the source template.

The conclusion is quantified over i : ℕ (equivalently, over formulas in Set.range s) — this is restricted indiscernibility. Full Lω₁ω-indiscernibility of the J-indexed constants would additionally require a countable enumeration of all Lω₁ω formulas.

Generalized realize_templateSentence.

Like realize_templateSentence (InfinitaryLogic/Methods/EM/Realization.lean:97), but takes an arbitrary [L[[J]].Structure N] instead of requiring the L[[J]]-structure to be built from a specific σ : J → M via constantsOn.structure σ. The L-structure on N is derived from the L[[J]]-structure via the canonical reduct along lhomWithConstants L J.

The right-hand side realizes φ on the sequence fun i => b (t i), where b j is the closed-term realization of the constant symbol Sum.inr j (i.e., the interpretation of the J-indexed constant in the given L[[J]]-structure on N).

theorem FirstOrder.Language.IsLomega1omegaIndiscernible.stretch_restricted_sequence_of_fullFragment {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (h : IsLomega1omegaIndiscernible a) (s : (n : ) × L.BoundedFormulaω Empty n) {J : Type u} [LinearOrder J] (B : (L.withConstants J).FullBarwiseFragment) :
∃ (N : Type) (x : (L.withConstants J).Structure N) (b : JN), ∀ (i : ) (t : Fin (s i).fst ↪o J), (s i).snd.Realize Empty.elim (b t) h.template.truth (s i).snd

EM stretching along an arbitrary target order — sequence form (full Barwise fragment).

Corollary of stretch_restricted_of_fullFragment via the bridge realize_templateSentence_of_structure: produces an explicit b : J → N sequence such that for every i : ℕ and every strictly-increasing tuple t : Fin (s i).1 ↪o J, the realization of (s i).2 on b ∘ t matches h.template.truth (s i).2.

The sequence b is defined as the interpretation of the J-indexed constant symbol under the L[[J]]-structure. The L-structure used for .Realize is the reduct along lhomWithConstants L J, introduced via letI inside the existential body.

theorem FirstOrder.Language.IsLomega1omegaIndiscernible.templateTheoryOfSeq_model_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (h : IsLomega1omegaIndiscernible a) {J : Type u} [LinearOrder J] (s : (n : ) × L.BoundedFormulaω Empty n) (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :

EM realization from a bare compactness hypothesis.

theorem FirstOrder.Language.IsLomega1omegaIndiscernible.stretch_restricted_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (h : IsLomega1omegaIndiscernible a) (s : (n : ) × L.BoundedFormulaω Empty n) {J : Type u} [LinearOrder J] (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :
∃ (N : Type) (x : (L.withConstants J).Structure N), ∀ (i : ) (t : Fin (s i).fst ↪o J), (Lomega1omegaTemplate.templateSentence (s i).snd t).Realize N h.template.truth (s i).snd

EM stretching along an arbitrary target order (bare compactness oracle).

Same content as stretch_restricted_of_fullFragment, but driven by a bare compactness hypothesis on L[[J]] instead of a FullBarwiseFragment.

theorem FirstOrder.Language.IsLomega1omegaIndiscernible.stretch_restricted_sequence_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (h : IsLomega1omegaIndiscernible a) (s : (n : ) × L.BoundedFormulaω Empty n) {J : Type u} [LinearOrder J] (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :
∃ (N : Type) (x : (L.withConstants J).Structure N) (b : JN), ∀ (i : ) (t : Fin (s i).fst ↪o J), (s i).snd.Realize Empty.elim (b t) h.template.truth (s i).snd

EM stretching along an arbitrary target order — sequence form (bare compactness oracle).

Compact-oracle variant of stretch_restricted_sequence_of_fullFragment.

Morley–Hanf-oriented corollaries #

Sentence preservation under EM stretching.

If the formula family s enumerates a sentence φ : L.BoundedFormulaω Empty 0 (i.e., ⟨0, φ⟩ ∈ Set.range s), then the stretched model N realizes φ iff the source model M does.

This is the form Morley–Hanf needs: any sentence M satisfies survives to the stretched model.

The Morley seed of a sentence φ: the concrete two-formula family the Morley–Hanf tail bridge feeds the EM machinery — φ itself, the disequality x₀ ≠ x₁, and repeated φ-filler. The honest tail-template residual quantifies over exactly this seed (MorleySeedTailTemplateRealizable in Conditional/MorleyHanfTransfer.lean), NOT over arbitrary formula sequences: an arbitrary sequence can enumerate {Pᵢ x}ᵢ ∪ {⋀ᵢ Pᵢ x} against a "height" model, whose tail template is finitely satisfiable but unsatisfiable — a genuine L_{ω₁ω} compactness failure.

Equations
Instances For
    theorem FirstOrder.Language.morleySeed_indiscernibleOn {L : Language} {M : Type u_1} [L.Structure M] (φ : L.Sentenceω) {a : M} (ha : ∀ (i j : ), i ja i a j) :

    The Morley seed needs no extraction: ANY pairwise-distinct sequence is fully Lω₁ω-indiscernible on Set.range (morleySeed φ) — the arity-0 members ignore their tuples, and the disequality is true on every strictly monotone pair of a pairwise-distinct sequence. This is why the definitive Morley–Hanf route consumes no Ramsey/Erdős–Rado extraction at all: Infinite.natEmbedding already supplies a seed-indiscernible sequence.

    theorem FirstOrder.Language.IsLomega1omegaIndiscernible.stretch_injective_of_fullFragment {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (h : IsLomega1omegaIndiscernible a) (hPairwise : ∀ {i j : I}, i ja i a j) (s : (n : ) × L.BoundedFormulaω Empty n) (hDisEq : 2, disEqFormula Set.range s) {J : Type u} [LinearOrder J] (B : (L.withConstants J).FullBarwiseFragment) :
    ∃ (N : Type) (x : (L.withConstants J).Structure N) (b : JN), Function.Injective b

    Injectivity of the stretched sequence.

    If the source sequence a : I → M is pairwise distinct on its index set and the formula family s enumerates the 2-ary disequality formula (disEqFormula : L.BoundedFormulaω Empty 2), then the stretched sequence b : J → N is injective. Hence #N ≥ #J: cardinality is amplified from I to J.

    Restricted-indiscernibility variants #

    These _on theorems take IsLomega1omegaIndiscernibleOn a (Set.range s) instead of the full IsLomega1omegaIndiscernible a, and state their conclusions against (templateOfSeq a).truth rather than h.template.truth. Tranche 2b of the Phase 2 refactor.

    theorem FirstOrder.Language.IsLomega1omegaIndiscernibleOn.templateTheoryOfSeq_model_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (s : (n : ) × L.BoundedFormulaω Empty n) (h : IsLomega1omegaIndiscernibleOn a (Set.range s)) {J : Type u} [LinearOrder J] (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :

    Compact-oracle adapter under restricted indiscernibility.

    EM stretching (sentence form, fullFragment, restricted source).

    theorem FirstOrder.Language.IsLomega1omegaIndiscernibleOn.stretch_restricted_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (s : (n : ) × L.BoundedFormulaω Empty n) (h : IsLomega1omegaIndiscernibleOn a (Set.range s)) {J : Type u} [LinearOrder J] (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :
    ∃ (N : Type) (x : (L.withConstants J).Structure N), ∀ (i : ) (t : Fin (s i).fst ↪o J), (Lomega1omegaTemplate.templateSentence (s i).snd t).Realize N (templateOfSeq a).truth (s i).snd

    EM stretching (sentence form, compact oracle, restricted source).

    theorem FirstOrder.Language.IsLomega1omegaIndiscernibleOn.stretch_restricted_sequence_of_fullFragment {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (s : (n : ) × L.BoundedFormulaω Empty n) (h : IsLomega1omegaIndiscernibleOn a (Set.range s)) {J : Type u} [LinearOrder J] (B : (L.withConstants J).FullBarwiseFragment) :
    ∃ (N : Type) (x : (L.withConstants J).Structure N) (b : JN), ∀ (i : ) (t : Fin (s i).fst ↪o J), (s i).snd.Realize Empty.elim (b t) (templateOfSeq a).truth (s i).snd

    EM stretching (sequence form, fullFragment, restricted source).

    theorem FirstOrder.Language.IsLomega1omegaIndiscernibleOn.stretch_restricted_sequence_of_compact {L : Language} {I : Type w} [LinearOrder I] [Infinite I] {M : Type} [L.Structure M] {a : IM} (s : (n : ) × L.BoundedFormulaω Empty n) (h : IsLomega1omegaIndiscernibleOn a (Set.range s)) {J : Type u} [LinearOrder J] (height : Ordinal.{0}) (h_height : Ordinal.omega0 < height) (hCompact : ∀ (S : Set (L.withConstants J).Sentenceω), (∀ (F : Set (L.withConstants J).Sentenceω), F.FiniteFS∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model F N)∃ (N : Type) (x : (L.withConstants J).Structure N), Theoryω.Model S N) :
    ∃ (N : Type) (x : (L.withConstants J).Structure N) (b : JN), ∀ (i : ) (t : Fin (s i).fst ↪o J), (s i).snd.Realize Empty.elim (b t) (templateOfSeq a).truth (s i).snd

    EM stretching (sequence form, compact oracle, restricted source).