The source-fragment adapter: from an honest fragment to a Henkin-closed universe #
Syntactic model existence for a theory inside an honest Fragment of a relational language,
through the constants-expanded universe of that fragment (issue #19B, step 3).
The constants-expanded universe #
Fragment.withNatConstantsSentences F is the set of sentences of L[[ℕ]] obtained by taking a
member ⟨n, φ⟩ of F at any arity, mapping it into the constants expansion, and closing its
n bound variables by constants. Every arity contributes: that is what makes universal-instance
closure follow from Fragment.all_mem (the body of a universal is a member at arity n + 1, and
appending the chosen constant to the parameter tuple is the instance —
instConst_closeBy_all_remainder). No substitution field is added to any fragment structure.
The basis #
Fragment deliberately omits what the kernel's atomic and negation fields need;
Fragment.HenkinBasis supplies exactly that: falsum, closure under negation at every arity, one
equality template
at arity two, and one relation template per symbol. Closing the templates by constants produces
every constEq and every relInst. The adapter consumes only Fragment and HenkinBasis; the
coded-family closure of AdmissibleFragment never enters.
The theorem #
Fragment.exists_countable_model_of_aconsistent_withConstants: for a countable fragment with a
basis, a theory T ⊆ F.sentenceSlice that is consistent in the expanded universe has a
countable model of T itself, as an L-structure, obtained by forgetting the constants. The
hypothesis is consistency in withNatConstantsSentences F, and the theorem is named for it.
Transporting base-language consistency into the expanded universe is a separate question,
recorded as a deferred design branch in docs/admissible-interface-contract.md §8.
Sentence slice and the constants-expanded universe #
The constants-expanded universe: every member of F, at every arity, mapped into L[[ℕ]]
and closed by constants.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theory inclusion: a sentence of the fragment, mapped into the expansion, lies in the universe.
Countability: countably many members, each with countably many parameter tuples.
The basis #
The equality template x₀ = x₁ at arity two.
Equations
Instances For
The relation template R(x₀, …, x_{l-1}) at arity l.
Equations
Instances For
The Henkin basis of a fragment: what Fragment omits and the kernel's atomic and negation
fields need. Separate from AdmissibleFragment; no fragment structure gains a field.
Instances For
The finitary fragment has a basis.
The full fragment has a basis.
Closing the templates gives the atoms #
Decomposing a member of the universe by its head constructor #
The universe is Henkin-closed #
The constants-expanded universe of a fragment with a basis is Henkin-closed. Connective
components come from the fragment's component closure, negation and the atoms from the basis, and
universal instances from Fragment.all_mem through instConst_closeBy_all_remainder.
Assembly #
Forgetting the constants: an L[[ℕ]]-model of the mapped theory is, as its L-reduct, a model
of the theory. A three-line argument from realize_mapLanguage, kept local so that no Marker-stage
module is imported.
Syntactic model existence over a source fragment (relational core). A theory inside a
countable fragment with a basis that is consistent in the fragment's constants-expanded universe
has a countable model, as an L-structure. No countability of T; the consistency hypothesis is
in the expanded universe, and the theorem is named for it.