core/docs/analysis
Shay 5f274b75b7 feat(deductive): binary relations + multi-variable grounding (finite propositional)
Extends evals/deductive_logic/grounding.py from unary predicates / single-var rules to
binary relations + multi-variable universal rules, still by FINITE PROPOSITIONAL
grounding into the regime the ROBDD engine + the independent truth-table oracle both
decide. wrong==0 stays structural. This is the real capability step a RuleTaker/
ProofWriter-style mirror needs (the unary fragment alone is trivial).

- atom_n lowers pred(a,b) -> pred__a__b; arity-1 is byte-identical to the old atom, so
  the live unary panel lowers unchanged (proven by an exact-string back-compat test).
- multi-variable universal rules ground over n^k assignments — transitivity now decides.
- range-restriction: a rule with a head variable unbound in the body refuses (unsafe_rule)
  — it grounds soundly but is outside the clean regime real benchmarks use.
- typed refusals: arity>=3/functions, explicit quantifiers, variable-free rules, bounds.

Honest ceilings (documented in docs/analysis/relational-grounding-extension-2026-06-04.md):
- THE binding constraint is the GOLD, not the grammar: the truth-table oracle is
  O(2^atoms), so grounding refuses above MAX_GROUND_ATOMS=20 => binary problems cap at
  ~4 entities/predicate. A real lift needs a 2nd genuinely-independent sub-enumeration
  oracle (not built).
- OPEN-WORLD only: RuleTaker/ProofWriter's main splits are closed-world + NAF; a future
  adapter MUST refuse CWA/NAF (mapping CWA "False"->"refuted" is a wrong=0 breach).
- arity <= 2, function-free.

Validated: held-out differential fuzz (400 random binary problems, oracle-golded) = 0
engine/oracle mismatches; unary back-compat byte-identical; INV-25b reproducibility green;
deductive lane wrong=0 16/16; smoke 87.
2026-06-04 20:17:33 -07:00
..
composition-capability-scope.md docs: mark ADR-0174 Phase 5a shipped in composition-capability-scope 2026-06-03 16:23:53 -07:00
composition-wall-execution-plan-2026-06-03.md feat(r4): flip cv-0005 to serving — train_sample 6/44/0 -> 7/43/0 (ADR-0207 §5 step 2) 2026-06-03 22:20:12 -07:00
comprehension-primitive-inventory.md Add canonical composition analysis docs 2026-06-03 15:35:58 -07:00
deductive-logic-phase-2-benchmark-runway-2026-06-04.md docs: session record (2026-06-04) + mark runway PR-1/PR-2 shipped 2026-06-04 16:54:03 -07:00
extraction-richness-audit-2026-06-03.md docs: ratify ADR-0207 — GSM8K comprehension/composition substrate 2026-06-03 19:42:47 -07:00
field-reasoner-wedge-design-and-falsification-2026-06-04.md docs: field-reasoner wedge design + falsification dossier 2026-06-04 19:22:16 -07:00
field-wedge-ablation-result-2026-06-04.md feat(field-wedge): ablation verdict — field is decoration on additive (C3) (Phase W.2) 2026-06-04 19:44:22 -07:00
gsm8k-lift-program-strategy-2026-06-04.md fix(gsm8k): disable unsound serving bridges — restore sealed wrong=0 (0/5 -> 0/0) 2026-06-04 01:55:05 -07:00
pivot-to-deductive-logic-2026-06-04.md feat: ratify independent-gold invariant (INV-25) + SHA-pin deductive lane 2026-06-04 15:56:28 -07:00
question-layer-gap-survey.md Harden no-reference n-times comparative guard 2026-06-03 15:22:42 -07:00
real-gsm8k-capability-measurement-2026-06-04.md docs: fourth lift attempt falsified (strict sum-reader 0/2) — exhaustive 2026-06-04 02:52:24 -07:00
relational-grounding-extension-2026-06-04.md feat(deductive): binary relations + multi-variable grounding (finite propositional) 2026-06-04 20:17:33 -07:00
solver-operation-coverage.md Harden no-reference n-times comparative guard 2026-06-03 15:22:42 -07:00
universal-structure-and-field-symbol-coherence-gate-2026-06-04.md feat: Phase 2 — finite-entity grounding compiler + Phase 1.5 finding 2026-06-04 16:32:03 -07:00
wiring-promotion-gate-brief-2026-06-03.md docs: composition-wall execution scope (ADR-0207 §5 step 2) 2026-06-03 21:14:02 -07:00