Documentation

LeanPool.InfinitaryLogic.Methods.Henkin.CountableCompletion.QuotientTermModel

The quotient term model and its atomic semantics (issue #8, commit 5a) #

From a Henkin-complete set S (the output of commit 4b's exists_henkinComplete_of_root) over the relational core L[[ℕ]], this file builds the closed-term quotient model and establishes its atomic semantics — everything the forward truth lemma (commit 5b) needs below formula induction.

Over a relational base every closed L[[ℕ]]-term collapses to a constant (exists_eq_constTerm), so the equality relation on closed terms is the constant equality constEq · · ∈ S, and the HenkinComplete atomic fields (eq_refl/eq_symm/eq_trans, rel_congr) supply exactly the constant-specialized equality and congruence laws.

Acceptance lemmas #

These atomic biconditionals are legitimate — they follow from the quotient definition, atomic congruence, and C0 alone. There is no M ⊨ φφS for arbitrary φ.

The relational collapse of closed terms #

The constant a closed term collapses to over the relational core.

Equations
Instances For

    The quotient carrier #

    The setoid on closed terms.

    Equations
    Instances For

      The class of a closed term.

      Equations
      Instances For

        Iterated tuple congruence for relation instances #

        The L[[ℕ]]-structure on the quotient #

        @[instance_reducible]

        The quotient term model as an L[[ℕ]]-structure. Function interpretation is the constant embedding (higher arities are empty over the relational core); RelMap on a quotient tuple holds iff some constant representatives make the atomic relation instance a member of S.

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

        Closed-term evaluation is its quotient class.

        Positive and negative atomic realization #

        theorem FirstOrder.Language.qmk_eq_of_mem {L : Language} [L.IsRelational] {U S : Set (L.withConstants ).Sentenceω} (hsc : HenkinComplete U S) (a b : ) (hmem : constEq a b S) :
        qmk hsc (constTerm a) = qmk hsc (constTerm b)

        Positive atomic (equality).

        Negative atomic (equality). Closes with C0 — not maximality.

        theorem FirstOrder.Language.relMap_of_mem {L : Language} [L.IsRelational] {U S : Set (L.withConstants ).Sentenceω} (hsc : HenkinComplete U S) {l : } (R : L.Relations l) (g : Fin l) (hmem : relInst R g S) :
        Structure.RelMap (Sum.inl R) fun (i : Fin l) => qmk hsc (constTerm (g i))

        Positive atomic (relation).

        theorem FirstOrder.Language.not_relMap_of_neg_mem {L : Language} [L.IsRelational] {U S : Set (L.withConstants ).Sentenceω} (hsc : HenkinComplete U S) {l : } (R : L.Relations l) (g : Fin l) (hmem : BoundedFormulaω.not (relInst R g) S) :
        ¬Structure.RelMap (Sum.inl R) fun (i : Fin l) => qmk hsc (constTerm (g i))

        Negative atomic (relation). Reflects through the relation map's chosen representatives, then closes with C0 — not maximality.