Asi cognitive-sufficiency-superposition

Cognitive Sufficiency Superposition

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cognitive-sufficiency-superposition" ~/.claude/skills/plurigrid-asi-cognitive-sufficiency-superposition && rm -rf "$T"
manifest: skills/cognitive-sufficiency-superposition/SKILL.md
source content

Cognitive Sufficiency Superposition


name: cognitive-sufficiency-superposition description: Four ASI perspectives (Riehl, Sutskever, Schmidhuber, Bengio) in superposition on the ε-machine gating problem. Collapse to specific strategy based on task measurement. trit: 0 color: "#77DEB1" parents: [cognitive-superposition, dynamic-sufficiency]

Overview

Cognitive Sufficiency Superposition applies the four-pillar ASI framework to the ε-machine sufficiency gate:

|ψ_sufficiency⟩ = α|Riehl⟩ + β|Sutskever⟩ + γ|Schmidhuber⟩ + δ|Bengio⟩

The gate holds ALL perspectives until measurement collapses it.

The Four Perspectives on ε-Machine Gating

Riehl: Segal Type View

#lang rzk-1

-- ε-machine as Segal type
#define EpsilonMachine : U := Segal-type

-- Causal states as objects
#define CausalState : EpsilonMachine → U := object

-- Skill requirements as morphisms
#define SkillReq (S : EpsilonMachine) (s1 s2 : CausalState S) : U
  := hom S s1 s2

-- Sufficiency = composite exists
#define sufficient (S : EpsilonMachine)
                   (current required : CausalState S) : U
  := Σ (path : hom S current required), is-contr path

Key insight: Test sufficiency at identity (directed Yoneda).

Sutskever: Compression View

class SutskeverSufficiency:
    """ε-machine = minimal sufficient statistic."""

    def compression_sufficient(self, loaded: Set[Skill], required: Set[Skill]) -> bool:
        """
        Sufficient if loaded skills can be compressed to program
        that generates required skills.

        K(required | loaded) < K(required) → sufficient
        """
        program = self.compress(loaded)
        generated = self.decompress(program)
        return required <= generated

    def gating_intelligence(self) -> float:
        """Compression ratio = intelligence of gate."""
        return self.bits_saved / self.total_bits

Key insight: Compression ratio measures gating intelligence.

Schmidhuber: Curiosity View

class SchmidhuberSufficiency:
    """Insufficient coverage = exploration opportunity."""

    def curiosity_reward(self, action: Action, coverage: float) -> float:
        """
        Low coverage → high curiosity → learning opportunity.

        Reward = compression progress on ε-machine after seeing failure.
        """
        if coverage >= 0.95:
            return 0  # Already sufficient, no learning

        # Expected learnability from this failure
        return self.expected_compression_progress(action)

    def explore_skills(self, missing: List[Skill]) -> Skill:
        """Load skill that maximizes expected learnability."""
        return max(missing, key=self.expected_learnability)

Key insight: Failures are learning opportunities for ε-machine.

Bengio: GFlowNet View

class BengioSufficiency:
    """Sample sufficient skill sets proportional to success."""

    def sample_sufficient_skills(self, action: Action) -> Set[Skill]:
        """
        GFlowNet: P(skills | action) ∝ P(success | skills, action)

        Don't just maximize - sample DIVERSE sufficient sets.
        """
        # Trajectory balance for skill loading
        trajectory = []
        state = self.initial_skills()

        while not self.is_sufficient(state, action):
            skill = self.P_F.sample(state, action)
            state = state | {skill}
            trajectory.append(skill)

        return state

    def diversity_bonus(self, skill_set: Set[Skill]) -> float:
        """Reward novel skill combinations."""
        return self.novelty(skill_set) * self.success_prob(skill_set)

Key insight: Multiple sufficient sets exist - sample their diversity.

Measurement Collapse

MeasurementCollapses Toε-Machine Operation
verify
RiehlCheck hom-space non-empty
compress
SutskeverMinimize description length
explore
SchmidhuberSeek compressible failures
sample
BengioGFlowNet sample sufficient sets
integrate
ALL FOURWeighted superposition

Integrated Gate

class CognitiveSufficiencyGate:
    """Superposition of four gating strategies."""

    def __init__(self):
        self.riehl = RiehlSufficiency()      # Segal type check
        self.sutskever = SutskeverSufficiency()  # Compression
        self.schmidhuber = SchmidhuberSufficiency()  # Curiosity
        self.bengio = BengioSufficiency()    # GFlowNet

        # Amplitude weights (learned or fixed)
        self.amplitudes = {
            'riehl': 0.25,
            'sutskever': 0.25,
            'schmidhuber': 0.25,
            'bengio': 0.25
        }

    def gate(self, action: Action, loaded: Set[Skill],
             measurement: str = 'integrate') -> Verdict:
        """
        Apply superposition gate with measurement collapse.
        """
        if measurement == 'verify':
            return self.riehl.gate(action, loaded)
        elif measurement == 'compress':
            return self.sutskever.gate(action, loaded)
        elif measurement == 'explore':
            return self.schmidhuber.gate(action, loaded)
        elif measurement == 'sample':
            return self.bengio.gate(action, loaded)
        else:
            # Integrate: weighted vote
            verdicts = {
                'riehl': self.riehl.gate(action, loaded),
                'sutskever': self.sutskever.gate(action, loaded),
                'schmidhuber': self.schmidhuber.gate(action, loaded),
                'bengio': self.bengio.gate(action, loaded),
            }
            return self.weighted_vote(verdicts)

    def weighted_vote(self, verdicts: Dict[str, Verdict]) -> Verdict:
        """Amplitude-weighted voting."""
        scores = {'PROCEED': 0, 'LOAD_MORE': 0, 'ABORT': 0}

        for perspective, verdict in verdicts.items():
            weight = self.amplitudes[perspective] ** 2  # Born rule
            scores[verdict.name] += weight

        return Verdict[max(scores, key=scores.get)]

Narya Bridge Types

-- Superposition as sigma type over perspectives
def SufficiencySuperposition : Type := sig (
  riehl_amplitude : ℝ,
  sutskever_amplitude : ℝ,
  schmidhuber_amplitude : ℝ,
  bengio_amplitude : ℝ,
  normalized : riehl² + sutskever² + schmidhuber² + bengio² ≡ 1
)

-- Collapse as projection
def collapse (measurement : Measurement) (ψ : SufficiencySuperposition)
  : Perspective :=
  match measurement with
  | verify → Riehl
  | compress → Sutskever
  | explore → Schmidhuber
  | sample → Bengio
  | integrate → Integrated ψ

-- ε-machine as Segal type
def EpsilonMachineSegal (S : Category) : Type := sig (
  causal_states : Obj S,
  skill_morphisms : (s1 s2 : causal_states) → Hom S s1 s2,
  segal_composite : (s1 s2 s3 : causal_states) →
    Hom S s1 s2 → Hom S s2 s3 → Hom S s1 s3,
  segal_unique : IsContr (segal_composite ...)
)

GF(3) Conservation

dynamic-sufficiency (-1) ⊗ cognitive-superposition (0) ⊗ gay-mcp (+1) = 0 ✓

The gate (MINUS) observes
The superposition (ERGODIC) coordinates
The color generator (PLUS) produces witnesses

Perspective Trits

PerspectiveTritRole in Gate
Riehl-1Validate (hom-space check)
Sutskever+1Generate (compressed program)
Schmidhuber+1Explore (curiosity-driven)
Bengio0Coordinate (GFlowNet sampling)

Sum: -1 + 1 + 1 + 0 = +1 → Needs MINUS to balance →

dynamic-sufficiency (-1)

Free Energy Analysis

Free Energy = Prediction Error + Complexity
            = 1.237 (measured between sufficiency and superposition)

High free energy → rich synthesis opportunity
Minimize by: updating beliefs (perceptual inference)
           OR acting to change world (active inference)

Commands

# Apply superposition gate
just cognitive-sufficiency action="code:julia:acset"

# Collapse to specific perspective
just cognitive-sufficiency --collapse=verify
just cognitive-sufficiency --collapse=compress
just cognitive-sufficiency --collapse=explore
just cognitive-sufficiency --collapse=sample

# Full integration (maintain superposition)
just cognitive-sufficiency --collapse=integrate

# Show perspective weights
just cognitive-sufficiency --amplitudes

Related Skills

SkillTritConnection
cognitive-superposition
0Parent: four-pillar framework
dynamic-sufficiency
-1Parent: ε-machine gating
curiosity-driven
+1Schmidhuber perspective
gflownet
0Bengio perspective
segal-types
-1Riehl perspective
kolmogorov-compression
+1Sutskever perspective

Skill Name: cognitive-sufficiency-superposition Type: Meta-Skill / Gating / Superposition Trit: 0 (ERGODIC - coordinates perspectives) Free Energy: 1.237 (high tension → rich synthesis) Collapse: Measurement-dependent GF(3): Conserved with dynamic-sufficiency + gay-mcp


Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.