Documentation

LeanPool.InfinitaryLogic.Mathlib.ModelTheory.Infinitary.Reindex

Carrier transport for infinitary formulas #

Infinitary formulas fix one branching carrier per formula (Infinitary/Syntax.lean); this file provides the transport layer between carriers, along IndexCodings:

Karp's theorem is the motivating consumer: its M-indexed and N-indexed separating conjunctions are iInfAlong at the two sum codings into the single carrier M ⊕ N.

def FirstOrder.Language.BoundedFormulaInf.iInfAlong {L : Language} {ι : Type uι} {κ : Type uκ} {α : Type u'} {n : } (c : IndexCoding ι κ) (φs : ιL.BoundedFormulaInf κ α n) :

An ι-indexed infinitary conjunction at carrier κ, along a coding: decoded indices select their conjunct, undecodable ones are padded with .

Equations
Instances For
    def FirstOrder.Language.BoundedFormulaInf.iSupAlong {L : Language} {ι : Type uι} {κ : Type uκ} {α : Type u'} {n : } (c : IndexCoding ι κ) (φs : ιL.BoundedFormulaInf κ α n) :

    An ι-indexed infinitary disjunction at carrier κ, along a coding: decoded indices select their disjunct, undecodable ones are padded with .

    Equations
    Instances For
      @[simp]
      theorem FirstOrder.Language.BoundedFormulaInf.realize_iInfAlong {L : Language} {ι : Type uι} {κ : Type uκ} {α : Type u'} {n : } {M : Type w} [L.Structure M] {v : αM} {xs : Fin nM} {c : IndexCoding ι κ} {φs : ιL.BoundedFormulaInf κ α n} :
      (iInfAlong c φs).Realize v xs ∀ (i : ι), (φs i).Realize v xs

      The -padding of a coded conjunction is semantically neutral, generically in the coding.

      @[simp]
      theorem FirstOrder.Language.BoundedFormulaInf.realize_iSupAlong {L : Language} {ι : Type uι} {κ : Type uκ} {α : Type u'} {n : } {M : Type w} [L.Structure M] {v : αM} {xs : Fin nM} {c : IndexCoding ι κ} {φs : ιL.BoundedFormulaInf κ α n} :
      (iSupAlong c φs).Realize v xs ∃ (i : ι), (φs i).Realize v xs

      The -padding of a coded disjunction is semantically neutral, generically in the coding.