Documentation

InfinitaryLogic.Karp.CarrierTheorem

Karp's theorem at a common branching carrier #

Karp's theorem for the fixed-carrier infinitary syntax: two structures are potentially isomorphic if and only if they satisfy the same L∞ω sentences.

The point of the fixed-carrier formulation is where the quantifier over index types lives. In a syntax whose iSup/iInf nodes each carry their own index type, the theorem has to quantify over index types inside every node, which forces the index universe to track the structure universe. Here each formula branches over a single carrier ι, so the quantifier sits outside the syntax, in InfEquivW, and the backward direction needs only one carrier — any κ admitting codings of both structures.

Main definitions #

Main results #

The separating conjunctions in the backward direction are iInfAlong along the two given codings — a conjunction indexed by one structure's carrier, expressed at κ. That is the whole content of "any common carrier suffices": the sum is canonical, not necessary.

References #

The common-carrier formulation with IndexCoding is this formalization's presentation, not a statement made in those sources; the mathematics is Karp's.

Equivalence at a carrier #

def FirstOrder.Language.InfEquivAt (L : Language) (ι : Type uι) (M : Type w) (N : Type w') [L.Structure M] [L.Structure N] :

L∞ω-equivalence at a fixed branching carrier ι: the structures satisfy the same sentences whose infinitary connectives branch over ι. The structures need not share a universe.

Equations
Instances For

    L∞ω-equivalence with branching carriers drawn from the structures' own universe. The quantifier over index types is here, outside the syntax, rather than inside every infinitary node.

    Equations
    Instances For
      theorem FirstOrder.Language.InfEquivAt.of_reindex {L : Language} {ι : Type uι} {κ : Type uκ} {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (c : IndexCoding ι κ) (h : L.InfEquivAt κ M N) :
      L.InfEquivAt ι M N

      Expressive strength is contravariant in codings: a carrier that codes ι can express every ι-branching sentence, so agreement at the larger carrier implies agreement at the smaller.

      The atomic formula of an AtomicIdx, with the tuple in bound positions, generic in the branching carrier.

      Bound positions are what let the all case below consume forth/back directly: no free-variable relabeling operation appears anywhere in this development.

      Equations
      Instances For
        theorem FirstOrder.Language.realize_atomicFormulaInf {L : Language} {ι : Type uι} {n : ℕ} {P : Type w} [L.Structure P] (idx : L.AtomicIdx n) (xs : Fin n → P) :
        theorem FirstOrder.Language.PotentialIso.infEquivAt {L : Language} [L.IsRelational] {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (P : L.PotentialIso M N) (ι : Type uι) :
        L.InfEquivAt ι M N

        Forward direction: a potential isomorphism yields agreement at every carrier, in every index universe.

        theorem FirstOrder.Language.infEquivAt_implies_potentialIso {L : Language} {κ : Type uκ} [L.IsRelational] {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (cM : IndexCoding M κ) (cN : IndexCoding N κ) (h : L.InfEquivAt κ M N) :

        Backward direction at any common carrier: agreement in a single carrier κ admitting codings of both structures already builds a potential isomorphism.

        The separating formula is an iInfAlong — a conjunction indexed by one structure's carrier, expressed at κ along the given coding — closed by ex. The sum carrier plays no role.

        theorem FirstOrder.Language.karp_theorem_at {L : Language} {κ : Type uκ} [L.IsRelational] {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (cM : IndexCoding M κ) (cN : IndexCoding N κ) :

        Karp's theorem at any sufficiently large common carrier.

        Agreement in one carrier admitting codings of both structures already characterizes potential isomorphism. The structures may live in different universes.

        Karp's theorem at the sum carrier: the canonical specialization of karp_theorem_at, obtained by feeding it the two sum injections.

        Karp's theorem (Keisler–Knight 2004, Theorem 1.2.1): potential isomorphism is equivalent to agreement on all L∞ω sentences branching over carriers in the structures' universe.

        Forward instantiates the generic direction at each ι; backward specializes to the single carrier M ⊕ N. Pure packaging around karp_theorem_at.

        The quantifier-rank forward lemma #

        Back-and-forth equivalence at level α implies agreement on every formula of rank at most α. This is stated at an arbitrary branching carrier, with independent structure universes, and with BFEquiv's ordinal in the same universe as qrank — so no Ordinal.lift enters the induction. Callers whose ordinal genuinely lives elsewhere bridge at the boundary with BFEquiv.ofOrdinalLift / .toOrdinalLift.

        The tuple sits in free-variable positions here, because that is what the consumers need; the Fin.append plumbing below is the cost of that choice, and is confined to these two lemmas.

        theorem FirstOrder.Language.BFEquiv_implies_agreeQR {L : Language} {ι : Type uι} [L.IsRelational] {M : Type w} {N : Type w'} [L.Structure M] [L.Structure N] (α : Ordinal.{uι}) {n : ℕ} (a : Fin n → M) (b : Fin n → N) (h : BFEquiv α n a b) (φ : L.BoundedFormulaInf ι (Fin n) 0) (hφ : φ.qrank ≤ α) :

        The Karp lemma, forward direction: back-and-forth equivalence at level α implies agreement on every formula of quantifier rank at most α.

        Carrier-polymorphic, with independent structure universes, and with the BFEquiv ordinal in the same universe as the rank.