core/generate/proof_chain
Shay e84c0e8428 feat(deduction-serve): Band v6-EX — existential witnesses, decided (ADR-0261)
Completes the all/no/some square. `some` is read for the first time:
"All mammals are vertebrates. Some whales are mammals. Therefore some
whales are vertebrates." is decided entailed; "All unicorns are horned.
Therefore some unicorns are horned." is decided unsettled, with the
no-existential-import reading disclosed in the surface.

Mechanism (generate/proof_chain/exist.py): v5-VP's per-individual
lowering over a domain widened by one Skolem witness per existential
premise and — the load-bearing part — one ARBITRARY element per
existential conclusion, at which every universal still instantiates and
about which no premise asserts anything. Refuting an existential means
deriving a universal, and the arbitrary element is what makes that
derivation genuine instead of an assumption of domain closure: without
it "Rex is a wolf. Rex is not tame. Therefore some wolves are tame."
reads as REFUTED from a domain of one wolf. With it, UNKNOWN.

Four `en_exist_*` bands earned SERVE at 720x wrong=0 on the first arena
seal (25-band ledger); the 32-case hand-authored v2_exist split passed
32/32 first run; full lane 166/166 wrong=0 across six splits.

Also fixes a wrong-answer path this work uncovered in Band v1b
(ADR-0261 §5.1): `to_syllogism` FILTERED premises it could not express
out of the projection and answered from the remainder, so "Aristotle is
a philosopher. All philosophers are scholars. Therefore some scholars
are philosophers." lost its only witness and was served "that doesn't
follow". It now refuses — matching its propositional sibling
`to_deductive_logic`, which always has — and the argument falls through
to the bands that can hold a singular fact. The categorical band
re-earned SERVE 720/720 after the change; both examples are pinned as
regression cases.

Promotion: `ds-mem-0020` declined -> unknown (ADR-0258's existential
scope-out, now read; an anonymous witness never transfers to a named
individual, so UNKNOWN is its honest verdict, not entailed).

[Verification]: core test --suite deductive 232 passed; reader tests
33/33; register+surface tests 52 passed; arena 25 bands x 720 wrong=0
(all SERVE); lane 166/166 wrong=0; lane SHAs 9/10 match (public_demo
drift is pre-existing on the base commit and unrelated — evidence in
the Tier-S brief).
2026-07-24 14:14:37 -07:00
..
__init__.py feat(teaching): ADR-0218 P3 — proof-carrying coherence promotion 2026-06-11 17:02:45 -07:00
builder.py feat: proof-graph builder — proof_chain's first binding-graph consumer (ADR-0204) 2026-06-02 19:53:41 -07:00
categorical.py feat(deduction-serve): Phase 4 — Band v1b categorical/syllogism serving (ADR-0256) 2026-07-23 13:17:35 -07:00
certificate.py feat(teaching): ADR-0218 P3 — proof-carrying coherence promotion 2026-06-11 17:02:45 -07:00
cond_member.py feat(deduction-serve): Band v4-CM — conditional-membership fusion, decided (ADR-0259) 2026-07-24 10:14:00 -07:00
engine_pin.py feat(teaching): ADR-0218 P3 — proof-carrying coherence promotion 2026-06-11 17:02:45 -07:00
english.py feat(deduction-serve): Band v2-EN — natural-English argument serving, earned licenses (ADR-0257) 2026-07-23 14:37:50 -07:00
entail.py feat(proof_chain): ADR-0218 PR B — PromotionCertificate + pure replay verifier 2026-06-11 16:21:32 -07:00
exist.py feat(deduction-serve): Band v6-EX — existential witnesses, decided (ADR-0261) 2026-07-24 14:14:37 -07:00
member.py feat(deduction-serve): Band v3-MEM — member-chain band, Socrates syllogism decided (ADR-0258) 2026-07-23 19:21:41 -07:00
model.py feat: modus_ponens + disagreement rule — proof_chain wrong=0 mechanism (ADR-0205) 2026-06-02 20:56:57 -07:00
render.py feat(deduction-serve): Band v6-EX — existential witnesses, decided (ADR-0261) 2026-07-24 14:14:37 -07:00
rules.py feat: modus_ponens + disagreement rule — proof_chain wrong=0 mechanism (ADR-0205) 2026-06-02 20:56:57 -07:00
shape.py feat(deduction-serve): Band v6-EX — existential witnesses, decided (ADR-0261) 2026-07-24 14:14:37 -07:00
verb.py feat(deduction-serve): Band v5-VP — verb-predicate arguments, decided (ADR-0260) 2026-07-24 12:51:36 -07:00