2.6 KiB
2.6 KiB
Geolog Q&A Session
Date: 2026-03-17
Q1: Is this project complete?
Answer: Yes, the core functionality is complete and production-ready.
What Geolog Does
Geolog is a reasoning engine for geometric logic. It lets you:
- Define theories with types, functions, relations, and rules
- Build concrete models of those theories
- Automatically derive facts using the chase algorithm
- Check rules using tensor algebra
- Solve models using automated search
Evidence of Completeness
- 30,000+ lines of Rust code
- 168 tests, all passing
- 30 working examples
- Full documentation (README, architecture guide, syntax reference)
What's Done
- Parser and type checker
- Chase algorithm with equality handling
- Tensor algebra for rule checking
- Solver for model search
- Persistent storage with version control
- Interactive REPL
Minor Gaps
- 11 TODO comments for optimizations
- Some edge cases with product types
- Lean4 formalization is in progress
These gaps don't block normal use.
Q2: Are tensor algebra and chase algorithm expressive enough for Geolog?
Answer: Yes for core geometric logic. There are specific gaps around product types and disjunction.
Fully Supported
| Feature | How It Works |
|---|---|
Relations like R(x,y) |
Tensor + Chase |
| Existentials in premises | Tensor system |
Equations like f(x) = y |
Congruence closure |
Nested functions like f(g(x)) |
Tensor contraction |
| Creating new elements | Chase handles ∃x. ... in conclusions |
| Merging elements | Chase handles x = y conclusions |
Gaps
Product types have limited support:
- Functions with product domains in conclusions don't work
- Existentials over product sorts don't work
- Field projections in equations (
x.field = y) don't compile
Disjunction is incomplete:
- When a rule concludes
A or B, the chase fires both A and B - This is correct but may add more facts than needed
- A proper implementation would choose one branch
Errors are silent:
- When tensor compilation fails, the rule is skipped without warning
- This can hide problems in complex axioms
By Design (Not Bugs)
Geolog uses geometric logic, which excludes:
- Negation (no
not R(x)) - Classical implication (no
if A then B) - Arithmetic (no
x + 1 = y)
These are intentional limits, not missing features.
Bottom Line
The mechanisms handle all standard geometric logic axioms:
- Reflexivity, transitivity, composition
- Category laws, Petri net rules, graph reachability
The gaps only matter for axioms with complex record/product operations in conclusions.