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 #
qRel_equiv: the equality-membership relation on closed terms is an equivalence.qmk_eq_iff/qmk_constTerm_eq_iff:mk t = mk uiff the collapsed constants areS-equal.relInst_congr/relInst_congr_iff: relation membership is invariant, coordinatewise, underS-equal arguments — the iterated tuple congruence, with the iff via equality symmetry.qModelStructure: theL[[ℕ]]-structure;RelMapon quotient tuples is well-defined by construction.qterm_realize_eq_mk: a closed term evaluates to its own quotient class.- Positive/negative atomic realization:
qmk_eq_of_mem/qmk_ne_of_neg_mem(equality) andrelMap_of_mem/not_relMap_of_neg_mem(relations). The negative lemmas reflect through the representatives chosen by the quotient relation map (relMap_qmk_iff) and close withC0(no_contradiction) — not by any decisiveness or maximality ofS.
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 equality relation on closed terms: their collapsed constants are S-equal.
Equations
Instances For
The equality relation is an equivalence (from the atomic equality fields of S).
The setoid on closed terms.
Equations
- FirstOrder.Language.qSetoid hsc = { r := FirstOrder.Language.qRel, iseqv := ⋯ }
Instances For
The quotient term model.
Equations
Instances For
The class of a closed term.
Equations
- FirstOrder.Language.qmk hsc t = ⟦t⟧
Instances For
Iterated tuple congruence for relation instances #
Coordinatewise relation congruence: S-equal argument tuples give the same relation
membership. Iterates the atomic one-coordinate congruence HenkinComplete.rel_congr.
The tuple congruence as an iff (using equality symmetry for the reverse).
The L[[ℕ]]-structure on the quotient #
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 #
RelMap of a constant tuple reflects to atomic membership. Forward reflects through the
representatives chosen by the relation map (via the tuple congruence); backward is the identity
representative.
Positive atomic (equality).
Negative atomic (equality). Closes with C0 — not maximality.
Positive atomic (relation).
Negative atomic (relation). Reflects through the relation map's chosen representatives, then
closes with C0 — not maximality.