82 lines
2.6 KiB
Markdown
82 lines
2.6 KiB
Markdown
|
|
# Geolog Summary
|
||
|
|
|
||
|
|
*Date: 2026-03-19*
|
||
|
|
|
||
|
|
## What Is Geolog?
|
||
|
|
|
||
|
|
Geolog is a **Geometric Logic REPL** — a reasoning engine written in Rust that implements type theory with semantics in topoi. It was AI-generated by Claude Opus 4.5.
|
||
|
|
|
||
|
|
## Core Concepts
|
||
|
|
|
||
|
|
### Axioms
|
||
|
|
|
||
|
|
An axiom is an "if-then" rule: "If premises are true, then conclusion must be true."
|
||
|
|
|
||
|
|
```
|
||
|
|
forall x, y, z. friends(x,y), friends(y,z) |- knows(x,z)
|
||
|
|
```
|
||
|
|
|
||
|
|
Similar to Datalog rules, but extended with:
|
||
|
|
- Existentials in conclusions (`|- exists x. R(x)`)
|
||
|
|
- Disjunctions (`|- A \/ B`)
|
||
|
|
- Equality conclusions (`|- x = y`)
|
||
|
|
|
||
|
|
### Chase Algorithm
|
||
|
|
|
||
|
|
Repeatedly applies axioms until no new facts can be derived (fixpoint). Basic blocks:
|
||
|
|
|
||
|
|
1. **Axioms** — the rules to apply
|
||
|
|
2. **Structure** — carriers (element sets), functions, relations
|
||
|
|
3. **Bindings** — variable-to-element mappings
|
||
|
|
4. **Tensor system** — finds violations (premises true, conclusion false)
|
||
|
|
5. **Fire conclusion** — adds relations, defines functions, creates elements, adds equations
|
||
|
|
6. **Congruence closure** — union-find for tracking element equality
|
||
|
|
|
||
|
|
### Union-Find
|
||
|
|
|
||
|
|
Data structure for tracking equivalence classes. Used for congruence closure when axioms conclude `x = y`. More efficient than naive dictionary + sets approach:
|
||
|
|
- Naive: O(n) per union
|
||
|
|
- Union-find: O(1) amortized per union
|
||
|
|
|
||
|
|
### Language Syntax
|
||
|
|
|
||
|
|
Geolog's syntax is not based on any single existing language. Influences:
|
||
|
|
- **Postfix application** (`x f` not `f(x)`) — category theory
|
||
|
|
- **Sequent notation** (`premises |- conclusion`) — proof theory
|
||
|
|
- **Path separators** (`/` not `.`) — unique to Geolog
|
||
|
|
|
||
|
|
## Skeptical Assessment of Applications
|
||
|
|
|
||
|
|
### Claimed Use Cases
|
||
|
|
- Business process workflow orchestration
|
||
|
|
- Formal verification
|
||
|
|
- Database query design
|
||
|
|
- Petri net reachability
|
||
|
|
|
||
|
|
### Reality
|
||
|
|
|
||
|
|
| Claim | Assessment |
|
||
|
|
|-------|------------|
|
||
|
|
| Workflow orchestration | No APIs, no integrations, no distributed execution — just a REPL |
|
||
|
|
| Formal verification | Lean4 proofs "in progress"; not comparable to Coq/Lean/TLA+ |
|
||
|
|
| Database query design | Not a database — no persistence at scale, no SQL, no transactions |
|
||
|
|
| Petri net reachability | Toy examples only, not industrial-scale |
|
||
|
|
|
||
|
|
### What It Actually Is
|
||
|
|
|
||
|
|
A **research/educational tool** for:
|
||
|
|
- Learning geometric logic and chase algorithms
|
||
|
|
- Experimenting with category-theoretic ideas
|
||
|
|
- Prototyping constraint systems
|
||
|
|
- Academic exploration
|
||
|
|
|
||
|
|
**Not suitable for:** Production systems, real workflow orchestration, industrial formal verification, or database replacement.
|
||
|
|
|
||
|
|
## Project Status
|
||
|
|
|
||
|
|
- Version: 0.1.0
|
||
|
|
- 30,000+ lines of Rust
|
||
|
|
- 168 tests (all passing)
|
||
|
|
- 30 example files
|
||
|
|
- Well-documented but unproven in real-world use
|