Per-individual propositional lowering over minted (individual, class) atoms: singular membership/predicate facts + all/every/each/no universals, instantiated at every named individual, decided by the same verified ROBDD engine. Closed-table number linking (irregular/invariant priority + three regular suffix rules) is the one semantic identification — attested-pair linking only, under-link over over-link. Composer tier strictly after v1/v1b/v2-EN: monotone widening, v1 lane byte-identical. - 4 new shape-bands (en_member_single/chain/negative/atomic) each earned SERVE at the arena: 13 bands x 720 = 9,360 wrong=0; ledger re-sealed. - New hand-authored lane evals/deduction_serve/v2_member (26/26); ds-en-0022 promoted declined->entailed (the designed acceptance case); report re-pinned; contract.md refreshed to the 4-band cascade. - Typed refusals: quantifier pronouns, bare plurals, definite descriptions, relative clauses, tense, mixed connectives, universal conclusions. - Flag posture unchanged (deduction_serving_enabled default off). [Verification]: deductive 127 / smoke 180 / warmed_session 10; arena all_bands_serve_licensed wrong_is_zero; lanes v1 28/28, v2_en 26/26, v2_member 26/26.
8.6 KiB
ADR-0258 — Member-chain band (Band v3-MEM): singular membership + universal premises
- Status: Proposed
- Date: 2026-07-23
- Relates to: ADR-0257 (Band v2-EN — this is its scope-out #1), ADR-0256 (earned license), ADR-0201 (ROBDD keystone), ADR-0175/0199 (calibrated learning / arena), ADR-0253 (dual-pack serve boundary — grc/he)
1. Context
ADR-0257 §6.1 reserved the classic instantiation syllogism as the next band:
"Socrates is a man. All men are mortal. Therefore Socrates is mortal."
Band v2-EN refuses it (membership_shape_out_of_band — an is a|an clause
announces internal structure the opaque band must not flatten), Band v1b's
categorical decider has no notion of an individual (its terms are classes),
and the v1 propositional reader declines multi-word names. The eval lane pins
the gap: ds-en-0022 is gold-declined purely for want of a reading band.
The engine underneath was never the limit.
2. Decision
Add a dedicated member-argument reader + per-individual propositional
lowering (generate/proof_chain/member.py), used ONLY by the deduction
serving path as a fallback tier strictly AFTER Bands v1 / v1b / v2-EN (so
every previously-served argument is byte-identical; this band only widens):
- Closed sentence grammar (function-word dispatch, refusal-first):
- Singular fact —
<NAME> is [not] [a|an] <CLASS>(contractions expanded, plus the sententialit is not the case that <singular>prefix).<NAME>and<CLASS>are opaque token runs;isonly (no tense in v1). - Universal —
all|every|each <C1> are|is [a|an] <C2>(affirmative A-form) andno <C1> are|is [a|an] <C2>(negative E-form). - Conclusion — final sentence, sole
therefore-led, singular form only.
- Singular fact —
- Per-individual propositional lowering: collect the named individuals
(subjects of singular sentences, conclusion included); mint one opaque atom
per (individual, class) pair; each universal instantiates at EVERY named
individual —
A(C1,C2)⇒mem(i,C1) -> mem(i,C2),E(C1,C2)⇒mem(i,C1) -> ~mem(i,C2)for eachi; singular facts are literals. The same verified ROBDD engine decides; deterministic templates render the verdict over the user's own sentences (generate/proof_chain/render.py::render_entailment_member). - Number linking (the one semantic identification this band performs):
a universal's class word is usually plural ("all men") while the singular
fact uses the singular ("a man"). Two attested class tokens are identified
iff related by a closed morphology table — a curated irregular/invariant
table (men↔man, people↔person, children↔child, …; invariants like sheep,
species, news map only to themselves) consulted FIRST, then the three
regular suffix rules (
+s,+esafter sibilants,y↔ies). Table priority kills the over-link hazards (specie/species, new/news); anything the closed relation cannot relate stays distinct — under-linking costs coverage (honest UNKNOWN), never soundness. Linking is per-token, so multi-token classes ("guard dog"↔"guard dogs") link on the head noun. - Four new shape-bands —
en_member_single(exactly 1 universal),en_member_chain(≥2 universals),en_member_negative(any E-form),en_member_atomic(0 universals); priority negative > chain > single > atomic — each earning its own SERVE license through the ADR-0199 arena at n=720/band wrong=0, sealed into the same ratified ledger (unlicensed ⇒ automatically hedged, per ADR-0256).
3. Why the lowering is sound (the load-bearing argument)
- Universal instantiation is sound. Every first-order model of
∀x (C1(x) → C2(x))satisfies its instantiation at each named individual, so any model of the premises is a model of the lowered premise set. An ENTAILED/REFUTED/inconsistent verdict over the lowered set therefore holds in every model of the original premises — served at full strength. Both verdicts survive even if two distinct names co-refer: adding equality facts only ADDS premises, and entailment is monotone. - For this closed fragment the lowering is also complete. With premises restricted to singular literals and A/E universals (Boolean reading, no existential import) and a singular conclusion, a propositional countermodel lifts to a first-order countermodel whose domain is exactly the named individuals — every universal holds because every element is a named individual whose instantiation holds. So UNKNOWN means genuinely not forced within the disclosed reading — it is never an artifact of instantiating too little.
- UNKNOWN is still the one guarded verdict. Two readings could settle what the lowering leaves open: distinct names might co-refer, and class words the closed relation didn't link might be the same class. The UNKNOWN surface therefore scopes itself — "Reading each name as one individual and each class word at face value…" — same discipline as v2-EN's indivisible-clause scoping (ADR-0257 §3).
- Existential forms refuse out of band.
some/most/any/…-led sentences assert anonymous witnesses that per-individual lowering cannot represent —quantifier_out_of_band, typed. Pure categorical arguments stay with Band v1b (tried first, unchanged).
Structural guards (closed refusal vocabulary, all typed): quantifier_out_of_band,
bare_plural_out_of_band ("Dogs are loyal" — implicit genericity is a reading
this band refuses to guess), definite_description_out_of_band ("is the …" is
identity, not membership), relative_clause_out_of_band (that/which/who
inside a name or class), universal_conclusion_out_of_band (categorical
conclusions belong to v1b), mixed_structure_out_of_band (if/or/either/and
— conditional-membership fusion is a future band), internal_negation_unread,
structural_leak, sentence_shape_out_of_band, plus the v2-EN sentence
discipline (question_sentence, no_conclusion, multiple_conclusions,
conclusion_not_last, no_premises, empty_side, empty) and the honesty
caps (too_many_premises at 16, too_many_atoms at 24 minted pairs — refuse,
never truncate).
4. What the earned licenses certify
Same posture as ADR-0257 §4: the license certifies READER fidelity per shape
(the engine cannot be wrong; the reader can hand it the wrong problem). The
arena corpus is synthetic names × a class lexicon chosen to exercise every
row-type of the morphology table (irregular, invariant, +s, +es, y↔ies);
gold is authored by construction and cross-checked against the truth-table
oracle over the template's INTENDED instantiated formulas — no reader in the
loop (INV-25). The hand-authored real-English eval lane
(evals/deduction_serve/v2_member/, content disjoint from the synthetic
lexicon) keeps the structural-fidelity claim honest against natural prose,
including the promoted ds-en-0022 (declined → entailed: this band's designed
acceptance case).
5. Tri-language posture
Unchanged from ADR-0257 §5 — with one addition: the number-linking table is
CORE's first morphology table, and it is exactly the artifact class the
tri-language doctrine says must eventually enter through pack ratification
(ADR-0253). English needs ~30 closed rows; Greek/Hebrew declension is where a
curated morphology pack stops being optional. When a grc_*/he_* member
band is built, the table moves from module constants to a ratified pack; no
premature parameterization now.
6. Scope-outs (deliberate)
- Conditional–membership fusion ("If Socrates is a man then …") —
refuses
mixed_structure_out_of_band; a future band composes the v2-EN connective grammar with this band's sentence readings. - Existential premises/conclusions (
some …) — needs witness semantics; pure categoricalsomestays with Band v1b. - Tense (
was/were) and verb predicates ("Socrates runs") — refuse; verb morphology is ADR-0257 scope-out #2's territory. - Identity / definite descriptions / co-reference — refuse
(
definite_description_out_of_band); an equality-aware band is future work. - Flag posture unchanged: rides
deduction_serving_enabled(default off); no new flag.
7. Verification
uv run core test --suite deductive -q— reader contract, surfaces, license, all three lane splits, e2e throughChatRuntime.- Practice arena: 13 bands × 720 = 9,360 cases, wrong=0 required for every
band; ledger re-sealed (
chat/data/deduction_serve_ledger.json). - Eval lane: v1 28/28, v2_en 26/26 (ds-en-0022 promoted), v2_member new —
wrong=0; report re-pinned (
scripts/verify_lane_shas.py).