An implementation of Datalog in Rust which uses continuous truth values. It currently only supports in-memory truth tables.
- Cause tracking
- Computing non-binary truth values
- Reverse-mode automatic differentiation for non-binary truth values
- Program mutation
- Genetic optimization
Originally, I created this system to learn the rules of board games from examples. Once I discovered the existing field of inductive logic programming, I mostly abandoned the project, since existing research in the field had surpassed it.