Constant coding for the undefinability of well-ordering (issue #12, commit 1) #
The L[[ℕ]] kernel indexes its constants by ℕ. Marker's construction needs two disjoint
countable families — the rational constants d_q (q : ℚ) carrying the positive order
diagram, and the Henkin constants c_n consumed by the fair enumeration's witness requests.
Per the frozen audit (D3): rationals at 2 * Encodable.encode q, Henkin constants at
2 * n + 1 — parity keeps the families disjoint without choosing an arbitrary ℚ ≃ ℕ.
This commit is the coding layer only: the two index functions, their injectivity, their
disjointness, and the term/sentence-level wrappers over the kernel's constTerm/constTermS.
The kernel index of the rational constant d_q.
Equations
Instances For
The kernel index of the n-th Henkin constant.
Equations
- FirstOrder.Language.henkinConstIdx n = 2 * n + 1
Instances For
The two constant families are disjoint (even vs odd indices).
The rational constant d_q as a closed L[[ℕ]]-term.
Equations
Instances For
The rational constant d_q in the sentence-term context.