Documentation

LeanPool.InfinitaryLogic.Methods.Interpolation.PairedInsepFamily

The paired inseparable-pair consistency family and its model (issue #8, commit 4c part 2) #

This file assembles the paired finite inseparable-pair family on top of the validated cross-coordinate gates (PairedInseparability.lean) and the one-sided left closures (InseparablePairFamily.lean). A family member is a U-bounded, symmetrically support-budgeted pair (Γ, Δ) with Γ ⊆ SentBnd F₁ R₁, Δ ⊆ SentBnd F₂ R₂, inseparable at the shared vocabulary (F₁ ∩ F₂, R₁ ∩ R₂).

The side vocabulary predicate SentBnd #

def FirstOrder.Language.SentBnd {L : Language} (F : Set ((n : ℕ) × L.Functions n)) (R : Set ((n : ℕ) × L.Relations n)) :

Side vocabulary bound. A sentence whose base function/relation symbols lie in (F, R).

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    SentBnd closure lemmas #

    theorem FirstOrder.Language.sentBnd_imp_left {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {φ ψ : (L.withConstants ℕ).Sentenceω} (h : BoundedFormulaω.imp φ ψ ∈ SentBnd F R) :
    φ ∈ SentBnd F R
    theorem FirstOrder.Language.sentBnd_imp_right {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {φ ψ : (L.withConstants ℕ).Sentenceω} (h : BoundedFormulaω.imp φ ψ ∈ SentBnd F R) :
    ψ ∈ SentBnd F R
    theorem FirstOrder.Language.sentBnd_component_iInf {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {φs : ℕ → (L.withConstants ℕ).Sentenceω} (k : ℕ) (h : BoundedFormulaω.iInf φs ∈ SentBnd F R) :
    φs k ∈ SentBnd F R
    theorem FirstOrder.Language.sentBnd_component_iSup {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {φs : ℕ → (L.withConstants ℕ).Sentenceω} (k : ℕ) (h : BoundedFormulaω.iSup φs ∈ SentBnd F R) :
    φs k ∈ SentBnd F R
    theorem FirstOrder.Language.sentBnd_instConst {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {φ : (L.withConstants ℕ).BoundedFormulaω Empty 1} (c : ℕ) (h : φ.all ∈ SentBnd F R) :
    theorem FirstOrder.Language.sentBnd_constEq {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} (a b : ℕ) :

    Constant-expansion roots as side-bounded sentences #

    The two shapes every countable interpolation core needs of its labelled roots. Each replaces a four-part tuple of base-occurrence and negation rewrites at the call site.

    theorem FirstOrder.Language.sentBnd_relInst_congr {L : Language} {F : Set ((n : ℕ) × L.Functions n)} {R : Set ((n : ℕ) × L.Relations n)} {l : ℕ} (Rr : L.Relations l) {g : Fin l → ℕ} (g' : Fin l → ℕ) (h : relInst Rr g ∈ SentBnd F R) :
    relInst Rr g' ∈ SentBnd F R

    Atomic constant-support facts #

    The paired family #

    def FirstOrder.Language.PairedInsepFamilyMem {L : Language} (F₁ : Set ((n : ℕ) × L.Functions n)) (R₁ : Set ((n : ℕ) × L.Relations n)) (F₂ : Set ((n : ℕ) × L.Functions n)) (R₂ : Set ((n : ℕ) × L.Relations n)) (rL rR : (L.withConstants ℕ).Sentenceω) (S : Set (L.withConstants ℕ).Sentenceω) :

    A paired family member: a symmetrically support-budgeted, U-bounded, side-typed pair (Γ, Δ) inseparable at the shared vocabulary (F₁ ∩ F₂, R₁ ∩ R₂).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Support and freshness bookkeeping #

      theorem FirstOrder.Language.support_mem_left {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} {φ : (L.withConstants ℕ).Sentenceω} (hmem : φ ∈ Γ) (hsupp : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) :
      sentenceJConsts φ ⊆ ↑A
      theorem FirstOrder.Language.support_mem_right {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} {φ : (L.withConstants ℕ).Sentenceω} (hmem : φ ∈ Δ) (hsupp : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) :
      sentenceJConsts φ ⊆ ↑A
      theorem FirstOrder.Language.support_mem {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} {φ : (L.withConstants ℕ).Sentenceω} (hmem : φ ∈ Γ ∪ Δ) (hsupp : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) :
      sentenceJConsts φ ⊆ ↑A
      theorem FirstOrder.Language.support_insert_left {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {φ : (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} (hφ : sentenceJConsts φ ⊆ ↑A) (h : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) :
      (⋃ γ ∈ insert φ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A
      theorem FirstOrder.Language.support_insert_right {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {φ : (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} (hφ : sentenceJConsts φ ⊆ ↑A) (h : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) :
      (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ insert φ Δ, sentenceJConsts δ ⊆ ↑A
      theorem FirstOrder.Language.fresh_left {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} (c : ℕ) (hc : c ∉ ↑A) (hsupp : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) (γ : (L.withConstants ℕ).Sentenceω) :
      γ ∈ Γ → c ∉ sentenceJConsts γ
      theorem FirstOrder.Language.fresh_right {L : Language} {Γ Δ : Set (L.withConstants ℕ).Sentenceω} {A : Finset ℕ} (c : ℕ) (hc : c ∉ ↑A) (hsupp : (⋃ γ ∈ Γ, sentenceJConsts γ) ∪ ⋃ δ ∈ Δ, sentenceJConsts δ ⊆ ↑A) (δ : (L.withConstants ℕ).Sentenceω) :
      δ ∈ Δ → c ∉ sentenceJConsts δ

      The two coordinate-growth constructors #

      The paired inseparable-pair consistency property #

      The paired model endpoint #

      theorem FirstOrder.Language.exists_paired_model_neg {L : Language} [L.IsRelational] [Countable ((l : ℕ) × L.Relations l)] (F₁ : Set ((n : ℕ) × L.Functions n)) (R₁ : Set ((n : ℕ) × L.Relations n)) (F₂ : Set ((n : ℕ) × L.Functions n)) (R₂ : Set ((n : ℕ) × L.Relations n)) (r₁ r₂ : (L.withConstants ℕ).Sentenceω) (hr₁ : (sentenceJConsts r₁).Finite) (hr₂ : (sentenceJConsts r₂).Finite) (hr₁sent : r₁ ∈ SentBnd F₁ R₁) (hr₂sent : BoundedFormulaω.not r₂ ∈ SentBnd F₂ R₂) (A₀ : Finset ℕ) (hsupp : sentenceJConsts r₁ ∪ sentenceJConsts (BoundedFormulaω.not r₂) ⊆ ↑A₀) (hroot : InsepAt (F₁ ∩ F₂) (R₁ ∩ R₂) A₀ {r₁} {BoundedFormulaω.not r₂}) :
      ∃ (M : Type) (x : (L.withConstants ℕ).Structure M) (_ : Nonempty M), r₁.Realize M ∧ ¬r₂.Realize M

      Public wrapper (interpolation polarity). Instantiating rR := r₂.not yields a single model with M ⊨ r₁ and ¬ M ⊨ r₂ — the seed {r₁, r₂.not} (not {r₁, r₂}).