tauchain-prolog-20200117
-
TML (Tau Meta-Language) is a variant of Datalog.
It is intended to serve as
a translator between formal languages (and more uses, see under the Philosophy
section).
The main difference between TML and common Datalog implementations is
that TML works under the Partial Fixed-Point (PFP) semantics, unlike common
implementations that follow the Well-Founded Semantics (WFS) or stratified
Datalog.
By that TML (like with WFS) imposes no syntactic restrictions on
negation, however unlike WFS or stratified Datalog it is PSPACE complete rather
than P complete.
TML's implementation heavily relies on BDDs (Binary Decision
Diagrams) in its internals.
This gives it extraordinary performance in time and
space terms, and allowing negation to be feasible even over large universes.
In
fact negated bodies, as below, do not consume more time or space than positive
bodies by any means, thanks to the BDD mechanism.