This page describes a proposed research upgrade to AGISystem2’s reasoning toolbox: STAR and UNSTAR. These are not new HDC operations; they are engine primitives that repeatedly apply a strategy-provided “step” function to approximate forward saturation (closure) or reverse explanation search.

Status: research / proposed (not implemented). This is a direction for improving multi-step holographic reasoning under explicit budgets and with strategy-specific scoring/indexing.

1. The Reasoning Equation, Extended

AGISystem2’s holographic path is often summarized as:

One-shot pattern
Answer ≈ UNBIND(KB, QueryKey) → decode/cleanup → candidates

QueryKey is “what you already know” (relation + bound arguments). UNBIND produces a residual that must be mapped back to entities/facts by a strategy-aware decoder.

STAR generalizes this by treating the residuals as new states that can be stepped again:

STAR (forward closure)
state0 = seed state1.. = STEP.forward(state0) state2.. = STEP.forward(state1) ... repeat until fixpoint or budget

UNSTAR is the reverse analogue: step backwards from a goal-state to enumerate plausible preconditions/explanations.

2. Why this is interesting

Intuition

One-shot UNBIND can recover “the missing piece” when the KB contains a directly matching structure. Multi-step inference needs chaining: the thing you recovered becomes part of a new query. STAR/UNSTAR provide a standard place to do that chaining with consistent budgets and metrics.

3. What the engine needs: a StepOperator

STAR/UNSTAR are strategy-agnostic loops. The strategy (and session context) provide the step function and optional normalization:

type State = HVec type Candidate = { state: State score: number witnesses?: number provenance?: unknown } interface StepOperator { forwardStep(state: State): Candidate[] backwardStep?(state: State): Candidate[] normalize?(state: State): State fingerprint?(state: State): string }

4. EXACT vs Dense: “closure” means different things

Strategy family Forward step What STAR approximates Key requirement
EXACT (lossless) Subset-match facts and emit residuals (quotient-like UNBIND) Can behave like true closure (enumeration) under realistic budgets Posting-list / bitset index to avoid O(|KB|) scans
Dense / Metric-Affine / EMA (approx) UNBIND + decode via similarity (top-K candidates) Beam-search closure: “best derivations under a budget” Pruning/thresholds are essential; dedup is approximate

5. Where this fits

STAR/UNSTAR are meant as internal research primitives that can later support higher-level Session APIs (batch Q/A, proof-to-NL, RAG-style retrieval over theories), without forcing every task to fall back to fully symbolic search.

Next step (engine integration)

See DS40 for a proposal to integrate STAR/UNSTAR as closure tactics inside the existing HDC-first engine (budgets, caching, strategy-aware step operators), rather than creating a separate reasoning engine.