Concepts
Symbolic Reasoning
SmartMemory's symbolic reasoning layer routes queries to the cheapest effective method, builds auditable proof trees, and scores confidence across multiple dimensions.
Components
Query Router
Routes queries to the best retrieval method based on pattern analysis:
| Query Type | Method | Cost | Example |
|---|---|---|---|
| Symbolic | Cypher graph traversal | Free | "Who created Python?" |
| Semantic | Vector search | ~$0.0001 | "Find things related to machine learning" |
| Hybrid | Both + merge | ~$0.0001 | "Why did we choose PostgreSQL?" |
Classification priority: hybrid patterns > semantic patterns > symbolic patterns > default (semantic).
Proof Trees
Build auditable reasoning chains by traversing the graph from a decision back to its evidence:
Decision: "Use PostgreSQL"
├── DERIVED_FROM: "PostgreSQL supports JSONB"
│ └── DERIVED_FROM: "Database comparison analysis"
├── DERIVED_FROM: "Team has PostgreSQL experience"
└── CONTRADICTS: "MySQL is simpler to set up"Fuzzy Confidence
Score decisions across 4 dimensions:
| Dimension | Weight | Description |
|---|---|---|
| Evidence | 0.4 | How many supporting edges exist |
| Recency | 0.2 | How recently the decision was made/reinforced |
| Consensus | 0.2 | Reinforcements vs contradictions |
| Directness | 0.2 | Depth of evidence chain (direct = 1.0) |
Residuation
Pause decisions when data is incomplete:
- Create a pending decision with requirements
- When new data arrives, check if requirements are satisfied
- Auto-activate the decision when all requirements are resolved
- Pending decisions have confidence 0.0 (won't appear in high-confidence queries)
REST API
| Method | Endpoint | Description |
|---|---|---|
| POST | /memory/reasoning/query | Route and execute a query |
| POST | /memory/reasoning/proof | Build proof tree for a decision |
| POST | /memory/reasoning/fuzzy-confidence | Get multi-dimensional confidence |