From d56f2581d5a0d1f8219ab69d0e1b3530a6258189 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 14 Oct 2026 19:02:09 +0000 Subject: [PATCH] D-HOLO: pre-register H11 and H12, add connectedness to H6b; record #1550 - H11: stacked logic. A chain of NAL polyfill bricks composed before one evaluation must answer what no single brick does (== oracle), cost less than separate runs, and never inflate confidence (gate disable must fail). - H12: a semantic map of inference functions across OpenNARS, ONA and the NAL polyfill, using Haspelmath's selection and stability rules. - H6b amendment, before any run: connected-component count as a measured column and a doughnut fixture; connectedness is tested, never assumed. - Board: #1550 arc and LATEST_STATE entries; STATUS rows H11, H12. Not run. No code change. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_011BMJnDBAfzcuQh5HeT39Rh --- .claude/board/LATEST_STATE.md | 4 + .claude/board/PR_ARC_INVENTORY.md | 7 ++ .claude/board/STATUS_BOARD.md | 4 +- .../d-holo-address-indexed-algebra-v1.md | 101 +++++++++++++++++- 4 files changed, 111 insertions(+), 5 deletions(-) diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index f59d3d02f..666185905 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,3 +1,7 @@ +## 2026-10-14 — main after #1550 (merged) + +- **On `main` (#1550, merged `5cbb3fd5`):** D-HOLO H1/H5/H6 measured (examples only, no production change): symbolic interval closure cheapest; K-branch evaluation flat in K but orientation-dependent; coordinate-native prefix counting wins only once its build is amortized. Plan `d-holo-address-indexed-algebra-v1.md`; entry `2026-10-14-d-holo-falsifiers.md`. + ## 2026-10-14 — main after #1548 (merged) - **On `main` (#1548, merged `e7c5f790`):** D-NALP-4, exact truth codes for deduction, induction and abduction in `causal_edge::isa::truth::code`, packed by `execute` and `syllogize` (0 of 2³² rows off an independent oracle). Revision and synthesis keep the `f32` path. Board: entries `2026-10-14-isa-truth-exact-codes.md` and `2026-10-14-revision-layer-invariants.md` (Gadamer invariants G1–G7, test-pinned; Rubikon R1–R4, specified, tests open). diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index 3d1184038..2084b5c92 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -1,3 +1,10 @@ +## 2026-10-14 — lance-graph PR #1550 (merged `5cbb3fd5`, branch `ccr-9f3b8075-74u47l-holo`, head `91ca4359`, 10 commits) — D-HOLO: falsifiers H1, H5, H6 for the address-indexed algebra + +- **Added:** plan `d-holo-address-indexed-algebra-v1.md` (pre-registered before any probe); three examples in `lance-graph-mask-risc`: `holo_k_branch_probe` (H1), `holo_coord_probe` (H5), `holo_interval_probe` (H6), each with row-oracle tests. Board entry `2026-10-14-d-holo-falsifiers.md`; rows D-HOLO-H1/H5/H6 and the pre-registrations H6b/H8/H9. Also the owed #1548 board reconciliation. +- **Locked:** v4 only, tier printed, input construction and lowering charged. H6 HOLDS (the symbolic interval arm cheapest in all 24 cells). H1 MIXED: K-branch evaluation is flat in K but beats gate-once only when coverage is stored as row words and the gate is narrow. H5 Q1 holds at N = 100 (31–37×) and FAILS at N = 1 (1.3–1.4×, the occupancy build dominates); the plane inverse is refuted on Q3b. +- **Deferred / open:** H6b, H8, H9 not run; no production terminal selector; D-HOLO stays separate from D-ORACLE-0 (#1549), cross-referenced only. +- **Confidence:** medium; disable runs red for every oracle test, but run-to-run noise on the VM was about 40 %, so differences under 2× are reported as undecided. + ## 2026-10-14 — lance-graph PR #1548 (merged `e7c5f790`, branch `ccr-9f3b8075-74u47l-truth-exact`, head `0e15cff7`, 4 commits) — D-NALP-4: exact truth codes in `causal_edge::isa::truth`; revision-layer invariants - **Added:** `truth::code::{deduction, induction, abduction}` over `u8` codes (integer arithmetic, one half-up rounding); `Opcode::truth_code` routes the three rules there, and `execute` / `syllogize` pack its result. `tests/ce64_truth_exact.rs` (8 tests) against an oracle written independently of the crate (`tests/common/truth_law.rs`); `examples/truth_exact_probe.rs` checks all 2³² inputs per law. Board entry `2026-10-14-revision-layer-invariants.md`: Gadamer gate invariants G1–G7 and the Rubikon goal-revision specifications R1–R4. diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index 2268c1432..f4eba615e 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -7,9 +7,11 @@ Plan: `.claude/plans/relalg-v1.md`. Crate: `crates/lance-graph-relalg` (own work | **D-HOLO-H1** | K-branch evaluation of a coordinate-aligned Boolean constraint (plan `d-holo-address-indexed-algebra-v1`) | Measured 2026-10-14: MIXED, C flat in K; beats gate-once only with row-stored coverage and a narrow gate | == row oracle; total cost at K = 64 ≤ 2× K = 1 and ≤ 0.5× best baseline | | **D-HOLO-H5** | Coordinate-native vs coordinate-crossing: prefix count, perspectives, reverse `memberOf` with inverse build/update cost | Measured 2026-10-14, corrected after review: Q1 CONFIRMED at N = 100 (31–37×), FAILS at N = 1 (1.3–1.4×, the occupancy build dominates); Q2 passes only with row words stored; plane inverse refuted on Q3b (break-even > 1,000) | == row oracle; Range ≥ 5× sweep; break-even N reported; permuted-tile run disagrees | | **D-HOLO-H6** | Closure of address restrictions as interval sets vs masks vs value sweep | Measured 2026-10-14: HOLDS; symbolic cheapest in all 24 cells | == row oracle; symbolic cost flat in area, linear in interval count | -| **D-HOLO-H6b** | Product normal form vs Morton intervals vs dense mask vs hybrid on the Context × Operation reading of the `u8:u8` tile; construction, normalization, ∩/∪/¬, emptiness, equality, bytes, reuse at N = 1..1,000 | Queued (pre-registered, not run) | == row oracle; structured patterns ≤ 0.5× dense at N = 100; hybrid ≤ 1.25× dense on adversarial patterns | +| **D-HOLO-H6b** | Product normal form vs Morton intervals vs dense mask vs hybrid on the Context × Operation reading of the `u8:u8` tile; construction, normalization, ∩/∪/¬, emptiness, equality, bytes, reuse at N = 1..1,000 | Queued (pre-registered, not run; amended with a connectedness column and a doughnut fixture) | == row oracle; structured patterns ≤ 0.5× dense at N = 100; hybrid ≤ 1.25× dense on adversarial patterns; component count vs density as predictor reported | | **D-HOLO-H8** | One formula in three domains: logical algebra, physical realization and semantic leakage compared separately | Queued (pre-registered, not run) | no semantic leakage; families grow only with representation and value algebra | | **D-HOLO-H9** | Relational emptiness decided symbolically (empty operand, disjoint domains, contradictory constraints) vs by fold | Queued (pre-registered, not run) | zero false empties; fraction decided symbolically reported | +| **D-HOLO-H11** | Stacked logic: a chain of NAL polyfill bricks at depth 1–8 composed before one evaluation | Queued (pre-registered, not run; after H6b) | answers no single brick gives, == oracle; cost below d separate runs at d = 4; no confidence inflation, gate disable must inflate | +| **D-HOLO-H12** | Semantic map of inference functions across OpenNARS, ONA, the NAL polyfill (and a MeTTa NAL if pinnable) | Queued (pre-registered, not run) | last system adds zero nodes in both orders; polyfill gaps named; differences classified as distinction or defect | | **D-RA-1** | `Rel` + `normalize` + `symbolic` + R2IL lowering | Shipped #1546 `c21bd165` (11 tests, 11 disable runs red; four comparisons on one lane 8 → 2 ops; 70/2,000 small descriptions refused as written, all run rewritten) | == row oracle over 400 generated descriptions × 5 measures | | **D-RA-2** | Rules into the contract set IR (D-CMR-1/-6); relalg keeps only lowering or is deleted | Queued (maintainer decision) | relalg tests pass unchanged against the contract IR | | **D-RA-3** | Datalog rules as algebra values; names are labels resolved through the label codebook, never strings in a rule | Queued (after D-RA-2) | codebook-built rules == hand-written `Rel`; unknown label refused at resolution | diff --git a/.claude/plans/d-holo-address-indexed-algebra-v1.md b/.claude/plans/d-holo-address-indexed-algebra-v1.md index 94ca9f6fb..413f2f410 100644 --- a/.claude/plans/d-holo-address-indexed-algebra-v1.md +++ b/.claude/plans/d-holo-address-indexed-algebra-v1.md @@ -1,7 +1,7 @@ # D-HOLO — address-indexed algebra: falsifiers H1, H5, H6 (v1) -**Status:** MEASURED 2026-10-14 (H1, H5, H6); H6b, H8, H9 PRE-REGISTERED, not -run. The pre-registration below is unchanged; results are in § Results +**Status:** MEASURED 2026-10-14 (H1, H5, H6); H6b, H8, H9, H11, H12 +PRE-REGISTERED, not run. The pre-registration below is unchanged; results are in § Results (2026-10-14), the next falsifiers in § Next falsifiers. ## Overview @@ -34,6 +34,11 @@ is run. - [x] D-HOLO-H5: coordinate-native vs coordinate-crossing probe, same - [x] D-HOLO-H6: closure of address restrictions probe, same - [x] Results section, board entry, status rows +- [ ] D-HOLO-H6b: normal forms on the Context × Operation tile (with the connectedness column) +- [ ] D-HOLO-H8: semantic diversity does not add instruction families +- [ ] D-HOLO-H9: relational emptiness without a fold +- [ ] D-HOLO-H11: stacked logic (pre-registered after H6b; runs after it) +- [ ] D-HOLO-H12: semantic map of inference functions across NARS systems ## Accounting rules (apply to every falsifier) @@ -533,6 +538,21 @@ distinct mask per context). - Thresholds (group count, interval count, density) where each representation stops being the cheapest are reported, with every counterexample. +**Amendment before any run (2026-10-14): connectedness as a measured column.** +DECISION (operator, 2026-10-14). BASIS: Haspelmath 2003, "The Geometry of +Grammatical Meaning": a gram covers a connected region of a semantic map; a +1-D map makes every region an interval (Fig. 8.19), an implicational +hierarchy makes it a prefix (Fig. 8.20), and the map can have cycles +(Fig. 8.12) and non-connected "doughnuts" (Turkish present, p. 236). +- For every pattern, also report its 4-connected component count on the + 256 × 256 grid and its Morton interval count. +- Add one fixture: a doughnut (a filled rectangle with an interior hole). +- Report whether component count predicts the cheapest representation better + than density does (rank agreement of each predictor with the winner, over + all patterns). +- Connectedness is a selector input to be tested, never a constraint: no + representation may assume it, and the doughnut must still match the oracle. + ### H8 — semantic diversity does not add instruction families - One fixed formula (a restriction ∧ a forward hop ∧ a negation, then count), @@ -572,7 +592,80 @@ route. empty symbolically while the fold finds a row (zero false empties). A "cannot decide" answer is always allowed; it only costs a fold. +### H11 — stacked logic answers more without inflating confidence + +PRE-REGISTERED 2026-10-14, NOT RUN; runs after H6b. DECISION (operator, +2026-10-14). SCOPE: examples only, existing ops; no new opcode, executor or +NARS-specific path (the bet is that stacking needs none). BASIS: the operator's +bet that "thinking becomes smarter through logic stacked", read as reusable, +replayable arithmetic over deterministic addresses. + +**Setup.** `$var` composed algebraically (a chain of bricks at depth +d = 1, 2, 4, 8) before one evaluation, `$var.think()`. Bricks are the existing +NAL polyfill methods (D-NALP, `.claude/plans/nal-polyfill-v1.md`) lowered to +mask-risc / Quack; H6b's measured normal-form costs choose the representation +at the terminal. + +**Three criteria, each with its own falsifier.** +- **Smarter:** a depth-d chain answers a query set that no single brick + answers, and every answer matches the oracle (row oracle; for truth values, + the pinned OpenNARS for Research / ONA fixtures of D-NAL-AUDIT-0). Fails if + the chain adds no answer a single brick lacks, or any answer differs from the + oracle. +- **Cheap stacking:** total cost (construction of every input charged, + composition, the one terminal) at depth d is below d independent evaluations + of the bricks, and cost per brick falls as d grows. Fails if the composed + form costs at least as much as running the bricks separately at d = 4. + Same accounting rules as H1/H5/H6: v4 only, tier printed, median of 11, ns. +- **No confidence inflation:** stacking adds structure, not evidence. The + confidence of a stacked conclusion never exceeds what the truth functions + give for its premises, and two derivation paths sharing an evidential base + are not revised together (NAL-1 stamp rule, `nal_inventory.tsv` + `NAL1.evidential_base_stamp`). The Gadamer gate (G1–G7) must be + load-bearing: a disable run that removes the gate must produce an inflated + confidence on the fixture, or the test is vacuous. + +**Not claimed.** That deeper chains are always better: a depth where the +chain stops adding answers is a result, not a failure. + +### H12 — a semantic map of inference functions across NARS systems + +PRE-REGISTERED 2026-10-14, NOT RUN. DECISION (operator, 2026-10-14). SCOPE: +external systems run outside the build at pinned commits, as oracles only (the +D-NAL-AUDIT-0 fences: no NARS clone, no CE64 migration, no schema migration). +BASIS: Haspelmath's selection and stability rules, applied to reasoning +systems instead of languages. + +**Method.** +- Systems: OpenNARS for Research and ONA (pinned in D-NAL-AUDIT-0), our NAL + polyfill, and a MeTTa NAL implementation if one can be pinned (otherwise the + map is built from three systems and says so). +- Corpus: the D-NAL-AUDIT-0 fixtures plus `nal_inventory.tsv`'s falsifier + column, run on every system. +- Selection rule: an inference function becomes a node if at least two systems + give different results on it (a different truth value beyond the u8 + allowance, a different derived term, or one derives and the other does not). + Functions on which all systems agree are recorded but do not split a node. +- Each system's coverage is a region of the map. Report whether each region is + connected. + +**Measured.** Nodes added by each additional system, in a fixed order and in +reverse order; the nodes our polyfill does not cover; disconnected regions. + +**Decision.** +- Assimilation is complete when the last system added contributes zero new + nodes, in both orders, and our polyfill covers every node or lists the + missing ones as named gaps. +- A difference is classified before it counts as a node: spec-conformant + disagreement (a real distinction), or a defect in one system (reported, not a + node). D-NAL-AUDIT-0 already found the engines disagree with each other and + with Wang's 2009 spec on compound-term confidence; that is the first case to + classify. +- Fails, as a method: if most nodes are introduced by only one system, the map + measures implementation noise, not a shared space of functions. + ### Open beyond these -H11, the end-to-end test: `$var` composed algebraically before `$var.think()`, -with H6b's measured normal-form costs as an input. Not registered yet. +H13 (attention-limited expansion vs full expansion, "saccades") and an +inertness test for every proposed meta-awareness level stay unregistered: H13 +needs a named focus signal, and the levels need a stated meaning.