geolog-zeta-fork/notes/002-design-decisions.md
2026-03-20 11:30:19 +01:00

2.1 KiB

Design Decisions

Geometric Logic Foundation

  • Axioms as Sequents: forall vars. premises |- conclusion
  • Positive Conclusions: Existentials and disjunctions allowed, but never negation
  • Geometric Morphisms: Preserved by design for category-theoretic semantics

Identity System

  • Luid ("Local Universe ID"): Globally unique across all structures
  • Slid ("Structure-Local ID"): Index within a single structure
  • Bidirectional mapping enables persistent identity despite structure changes

Storage

  • Append-Only: Elements only tombstoned, never deleted
  • Patch-based Versioning: Each commit is a delta from parent
  • GeologMeta: Single homoiconic theory instance storing all data

Type System

  • Postfix Application: x f not f(x) — categorical style
  • Derived Sorts: Products of base sorts for record domains
  • Product Domains: Functions can take record arguments: [x: M, y: M] -> M
  • Relations → Prop: Relations are functions to Prop

Chase Algorithm

  • Fixpoint Iteration: Derives consequences until closure
  • Congruence Closure: Merges elements when axioms conclude x = y
  • Tensor Algebra: Efficient axiom checking via sparse tensors
  • Termination: Unit laws no longer cause infinite loops

Solver Architecture

  • Explicit Search Tree: Not implicit in call stack
  • Refinement Preorder: Structures can grow (carriers, functions, relations)
  • Obligations vs Unsat: Axiom obligation = need to witness conclusion (not failure)
  • Tactics-based: AutoTactic composes CheckTactic, ForwardChainingTactic, PropagateEquationsTactic

Query Compilation

  • QueryOp Intermediate: SQL-like operators (Scan, Filter, Join, Project)
  • Optimization Passes: Filter fusion, projection pushdown
  • Store-aware: Compiled directly to GeologMeta queries with indexing

Tensor Algebra

  • Sparse Representation: Roaring Bitmaps for efficient membership
  • Lazy Expression Trees: Tensor products fused with contractions
  • Boolean Semiring: AND for product, OR for sum