Draft — This content has not been approved for publication.

Scope

All repositories implementing Non-Axiomatic Reasoning System (NARS) concepts — NAL inference, temporal reasoning, goal-directed planning, and truth value propagation. NARS is a distinct reasoning paradigm from PLN, based on the Assumption of Insufficient Knowledge and Resources (AIKR). For PLN and other probabilistic reasoning, see Reasoning and Search.

Active Repositories

RepoLanguageUpstreamMaturityPurpose
metta-narsMeTTa + Schemepatham9OperationalONA-style NARS in MeTTa: NAL 1–5 inference, temporal reasoning, goal-directed planning. Scheme compilation via metta-morph for 10–100× speedup. Includes Python NAR.py interface and LLM integration.
OpenNARS-for-ApplicationsCpatham9OperationalHigh-performance C implementation of NARS for real-time control. Full NAL inference, decision-making, and memory management. Used as foundation for NACE and robotics integration (nartech_ros).
estreamMeTTapatham9OperationalNAL-based empirical reasoning over event streams. Declarative inference rules (NAL 1–5), temporal inference, belief management, goal-based planning.
ParsSWI-Prologpatham9OperationalPLN/NAL inference engine with NARS-style truth values and stamp tracking. Implements NAL 1–5 rules with truth value propagation in Prolog.
NASTLMeTTapatham9ExperimentalNAL truth values applied to Signal Temporal Logic. Propositional logic, quantification, and STL operators in MeTTa.

How They Fit Together

The NARS ecosystem spans three implementation strategies:

  • C (systems-level): OpenNARS-for-Applications is the high-performance engine for real-time control — robotics, game AI, embedded applications. It is the foundation that NACE extends with causal exploration.
  • MeTTa (symbolic): metta-nars, estream, and NASTL implement NAL reasoning natively in MeTTa, running on PeTTa. metta-nars is the most complete, with estream specializing in temporal event processing and NASTL exploring STL extensions.
  • Prolog (logic): Pars implements NAL inference in SWI-Prolog with explicit stamp tracking, bridging NAL and PLN truth value systems.

The MeTTa-native repos (metta-nars, estream, Pars, NASTL) are authored by Patrick Hammer (patham9). OpenNARS-for-Applications is the reference OpenNARS implementation maintained locally as a patham9 fork — it has a broader contributor base upstream under the opennars organization.

Quick Start

# metta-nars (MeTTa, compiled via metta-morph for speed)
cd metta-nars && sh build.sh && sh run_scheme_repl_compiled.sh

# OpenNARS-for-Applications (C, standalone)
cd OpenNARS-for-Applications && sh build.sh && ./NAR

# estream (MeTTa, requires sibling PeTTa checkout)
cd ../PeTTa && sh run.sh ../estream/estream.metta

# Pars (Prolog)
cd Pars && sh build.sh && sh run.sh

Relationship to PLN

NARS and PLN are complementary reasoning paradigms within Hyperon:

  • PLN is grounded in probability theory — truth values represent estimated probabilities with confidence.
  • NARS is grounded in the Assumption of Insufficient Knowledge and Resources — truth values represent frequency and confidence from limited experience, with built-in mechanisms for operating under resource constraints.

The 2025 whitepaper proposes unifying both within a Context Quantaloid framework — different computational strategies instantiated from the same algebraic structure. This remains theoretical; currently PLN and NARS are separate implementations sharing the MeTTa substrate.

Excluded from This Family

  • NACE, AIRIS_Public, AIRIS-general: Full agent architectures that use NARS reasoning but are cognitive systems, not reasoning libraries. Would fit a future "Cognitive Agents" family.
  • NarsGPT, NARS-GPT: GPT+NARS wrapper projects under opennars/ — Python applications integrating OpenNARS with GPT APIs. Not MeTTa ecosystem implementations.
  • nartech_ros: ROS integration layer for NARS robotics. Would fit a "Robotics and Embodiment" family.

Forks and Mirrors

The MeTTa-native repos (metta-nars, estream, Pars, NASTL) are a cohesive patham9-centered cluster. OpenNARS-for-Applications is a local patham9 fork of a broader upstream OpenNARS codebase. No numbered mirror/fork pattern within this family.

Current State vs. Whitepaper

  • Context Quantaloid unification of PLN and NARS (whitepaper): Proposed. PLN and NARS are currently separate implementations with no shared algebraic framework.
  • NARS on MORK: Not yet implemented. Current NARS repos run on PeTTa or standalone C, not natively on MORK's trie structures.

Recommended Entry Points

  • NARS in MeTTa: Start with metta-nars — it has the most complete NAL coverage and can compile via metta-morph for interactive speed.
  • High-performance NARS: OpenNARS-for-Applications for real-time C applications.
  • Temporal reasoning: estream for event-stream NAL processing.
  • PLN-NARS bridge: Pars implements both PLN and NAL truth value systems in Prolog.

Gaps and Consolidation Opportunities

  • No MORK-native NARS: All implementations run above the substrate layer. MORK-native NAL inference would enable the scale needed for the Context Quantaloid vision.
  • Fragmented temporal reasoning: estream and NASTL both address temporal aspects but from different angles (event streams vs. STL). A unified temporal NAL module would reduce duplication.
  • Single-author ecosystem: All five repos are maintained by one contributor. Bus factor is a concern for long-term sustainability.



Discussion