Documentation

InfinitaryLogic.Methods.Henkin.CountableCompletion.QuotientTruthLemma

The forward truth lemma for the quotient term model (issue #8, commit 5b) #

From a Henkin-complete set S over the relational core L[[ℕ]], QuotientTermModel.lean (commit 5a) built the closed-term quotient model QModel hsc and its atomic semantics. This file lifts that to the full forward, polarity-sensitive truth lemma and packages a consumer-shaped model-existence theorem.

Discipline #

The truth lemma is not a biconditional M ⊨ φ ↔ φ ∈ S. It is two separate forward implications — one per polarity — proven together by a single simultaneous recursion:

No excluded middle / by_cases on membership _ ∈ S, and no maximality/decisiveness of S, is used anywhere. Every step is driven by a constructive HenkinComplete field:

The all case (depth-measure recursion) #

The quantifier cases are handled by well-founded recursion on an ordinal depth measure, mirroring the shape of the legacy Methods/Henkin/Construction.lean truth lemma: from (all body) ∈ S the all_inst field yields, for every constant c, the sentence instConst c body = (body.openBounds).subst (fun _ => constTerm c), whose depth is strictly smaller than that of all body; recursion on that sentence plus realize_instConst_qmodel and surjectivity of qmk discharges the universal (dually for the negated universal via neg_all_witness).

The EmptyFin 0 sentence-term bridge #

Sentence atomics equal t u / rel R ts carry terms in L[[ℕ]].Term (Empty ⊕ Fin 0). Since both Empty and Fin 0 are uninhabited, every such term is ground; we collapse it to L[[ℕ]].Term Empty (a re-statement of the private helpers in Methods/Henkin/Construction.lean).

Collapse a sentence-atomic term (variables in the uninhabited EmptyFin 0) to a closed Term Empty.

Equations
Instances For

    Relabeling a toGround-collapsed term back to EmptyFin 0 recovers the original.

    Evaluating a sentence-atomic term with any assignment equals evaluating its toGround collapse with Empty.elim (both variable types are uninhabited).

    closeBy and its realization (validated commit-5b foundation) #

    noncomputable def FirstOrder.Language.closeBy {L : Language} {n : } (φ : (L.withConstants ).BoundedFormulaω Empty n) (τ : Fin n) :

    The closing substitution of a bounded formula by constants.

    Equations
    Instances For
      theorem FirstOrder.Language.realize_closeBy {L : Language} [L.IsRelational] {U S : Set (L.withConstants ).Sentenceω} {n : } (hsc : HenkinComplete U S) (φ : (L.withConstants ).BoundedFormulaω Empty n) (τ : Fin n) :
      (closeBy φ τ).Realize (QModel hsc) φ.Realize Empty.elim fun (i : Fin n) => qmk hsc (constTerm (τ i))

      Realizing closeBy φ τ in QModel hsc is realizing φ at the classes of the constants τ.

      The constant instance instConst c body realizes in QModel hsc exactly as body at the class of c in its single variable. This is the semantic bridge the all case consumes; it needs no syntactic substitution-composition identity.

      Surjectivity of the quotient map #

      theorem FirstOrder.Language.qmk_surjective {L : Language} [L.IsRelational] {U S : Set (L.withConstants ).Sentenceω} (hsc : HenkinComplete U S) (x : QModel hsc) :
      ∃ (c : ), x = qmk hsc (constTerm c)

      Every element of the quotient term model is the class of some constant.

      Ordinal depth: strict decrease for the constant instance #

      The generic preservation/strict-decrease calculus for BoundedFormulaω.depth now lives in the neutral Lomega1omega/Depth.lean (shared with Methods/Henkin/Construction.lean); only the instConst combination is derived here.

      Two small realization bookkeeping facts #

      A ground sentence-atomic term is the standard constant term of its collapsed constant.

      The simultaneous forward truth lemma #

      truth_both hsc σ bundles the two polarities. It is a single well-founded recursion on σ.depth: connectives recurse on structural subformulas (strictly smaller depth), and the all case recurses on instConst c body (a sentence of strictly smaller depth).

      The forward, polarity-sensitive truth lemma (bundled). For every sentence σ, membership in S forces truth in QModel hsc (positive), and membership of σ.not forces falsity (negative). Proven by one simultaneous well-founded recursion on the ordinal depth of σ.

      theorem FirstOrder.Language.truth_pos {L : Language} {U S : Set (L.withConstants ).Sentenceω} [L.IsRelational] (hsc : HenkinComplete U S) {n : } (φ : (L.withConstants ).BoundedFormulaω Empty n) (τ : Fin n) (hmem : closeBy φ τ S) :
      φ.Realize Empty.elim fun (i : Fin n) => qmk hsc (constTerm (τ i))

      Forward truth lemma, positive polarity (open form). If the constant closure closeBy φ τ belongs to S, then φ is realized in QModel hsc at the classes of the constants τ. A thin realize_closeBy wrapper over the sentence-level engine truth_both.

      theorem FirstOrder.Language.truth_neg {L : Language} {U S : Set (L.withConstants ).Sentenceω} [L.IsRelational] (hsc : HenkinComplete U S) {n : } (φ : (L.withConstants ).BoundedFormulaω Empty n) (τ : Fin n) (hmem : BoundedFormulaω.not (closeBy φ τ) S) :
      ¬φ.Realize Empty.elim fun (i : Fin n) => qmk hsc (constTerm (τ i))

      Forward truth lemma, negative polarity (open form). If the negation of the constant closure closeBy φ τ belongs to S, then φ is not realized in QModel hsc at the classes of the constants τ.

      The consumer model-existence theorem #

      Model existence from a Henkin-complete set. The quotient term model is a nonempty L[[ℕ]]-structure realizing every member of S and falsifying every sentence whose negation is in S. Both polarities are exposed for members of S.