Generalization arc Phase 1.1 (Tier F, docs/plans/generalization-arc-2026-07-24.md): "All philosophers teach. Socrates is a philosopher. Therefore Socrates teaches." now reads and decides — the ADR-0258 §6.3 verb-predicate scope-out, and the reading gate for Phase 2's subject serving. generate/proof_chain/verb.py extends v3-MEM's per-individual lowering with a second atom family in one shared space: membership atoms (v3-MEM's own parsers reused verbatim) + verb atoms (individual, verb-lemma-group, object-term). Verb universals instantiate as mem(i,C) -> [~]verb(i), so a copula-minted membership fact discharges a verb rule. The ONE new semantic identification is closed 3sg agreement (verb-specific irregular table + the three regular suffix rules — deliberately NOT the noun table, which would misroute "lives"/"leaves"). Scope-tight segmentation: single-token name/class/verb/object shapes only; everything longer refuses typed (tense_out_of_band joins the closed reason vocabulary). Rendered by render_entailment_verb (member surface, UNKNOWN scoping extended to the verb reading). Rides deduction_serving_enabled (default off); pure widening — every previously-served argument byte-identical, no existing lane case changed outcome. Earned: 4 en_verb_* bands x 720 arena wrong=0 (first seal), ledger resealed at 21 bands; corpus soundness asserted against the independent truth-table oracle over each template's intended lowering (15,120 cases, INV-25). Lane: v2_verb 28 hand-authored real cases 28/28 first run; full lane 134/134 wrong=0 across five splits. Surgical single-line pin update + CLAIMS regen. Stacked on feat/generalization-phase0 (merge that first — shared verify_lane_shas.py / CLAIMS.md / generate_claims.py lane-ADR mapping). [Verification]: verb reader tests 34/34; deduction battery 86/86 (surface +5, e2e +1, lane +1) in-worktree; arena seal + oracle cross-check green; smoke + warmed_session via pre-push gate.
124 lines
2.3 KiB
JSON
124 lines
2.3 KiB
JSON
{
|
|
"aggregate": {
|
|
"correct": 134,
|
|
"declined": 0,
|
|
"n": 134,
|
|
"wrong": 0
|
|
},
|
|
"all_correct": true,
|
|
"arc": "deduction-serve",
|
|
"lane": "deduction_serve",
|
|
"schema_version": 1,
|
|
"splits": {
|
|
"v1": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 4,
|
|
"entailed": 10,
|
|
"invalid": 1,
|
|
"refuted": 5,
|
|
"unknown": 5,
|
|
"valid": 3
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 4,
|
|
"entailed": 10,
|
|
"invalid": 1,
|
|
"refuted": 5,
|
|
"unknown": 5,
|
|
"valid": 3
|
|
},
|
|
"counts": {
|
|
"correct": 28,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 28
|
|
},
|
|
"v2_condmem": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 7,
|
|
"entailed": 10,
|
|
"refuted": 4,
|
|
"unknown": 5
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 7,
|
|
"entailed": 10,
|
|
"refuted": 4,
|
|
"unknown": 5
|
|
},
|
|
"counts": {
|
|
"correct": 26,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 26
|
|
},
|
|
"v2_en": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 5,
|
|
"entailed": 14,
|
|
"refuted": 3,
|
|
"unknown": 4
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 5,
|
|
"entailed": 14,
|
|
"refuted": 3,
|
|
"unknown": 4
|
|
},
|
|
"counts": {
|
|
"correct": 26,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 26
|
|
},
|
|
"v2_member": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 6,
|
|
"entailed": 12,
|
|
"refuted": 3,
|
|
"unknown": 5
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 6,
|
|
"entailed": 12,
|
|
"refuted": 3,
|
|
"unknown": 5
|
|
},
|
|
"counts": {
|
|
"correct": 26,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 26
|
|
},
|
|
"v2_verb": {
|
|
"all_cases_correct": true,
|
|
"by_gold": {
|
|
"declined": 8,
|
|
"entailed": 11,
|
|
"refuted": 4,
|
|
"unknown": 5
|
|
},
|
|
"correct_by_gold": {
|
|
"declined": 8,
|
|
"entailed": 11,
|
|
"refuted": 4,
|
|
"unknown": 5
|
|
},
|
|
"counts": {
|
|
"correct": 28,
|
|
"declined": 0,
|
|
"wrong": 0
|
|
},
|
|
"n": 28
|
|
}
|
|
},
|
|
"wrong_is_zero": true
|
|
}
|