Reasoning Engine

The reasoning engine takes Spindle Lisp extracted by the Scanner from across the entire vault, merges it into a single theory, and computes conclusions using Defeasible Reasoning. Every conclusion carries full Provenance — you can trace any result back to the exact file and line that contributed to it.

Pipeline

  1. ExtractScanner finds SPL blocks in Markdown fences and .spl files
  2. Parsespindle-parser converts SPL text into rule objects
  3. Provenance — source file, line number, and page name are attached to each rule and fact
  4. Combine — all rules and facts are merged into a single theory
  5. Validate — check for undefined labels, duplicate definitions
  6. Reasonspindle-core computes conclusions
  7. Annotate — each conclusion is traced back to its proof sources
(given spindle-core-integrated)
(given four-conclusion-types)

Conclusion types

The engine produces four types of conclusion — see Defeasible Reasoning for details:

TagMeaning
+DDefinitely provable
-DDefinitely not provable
+dDefeasibly provable
-dDefeasibly not provable

Feature gate

The reasoning engine is compiled only when --features reason is enabled — see Feature Gates. Without it, zetl reason prints a clear error rather than failing silently.

See also: Reason Commands, Provenance, Spindle Lisp

Backlinks