DisLog - A System for Reasoningby Dietmar Seipel
in Disjunctive Deductive Databases
DisLog is a system for reasoning in disjunctive deductive databases. It seeks to combine features of disjunctive logic programming, such as the support for uncertain and incomplete information, with those of deductive databases, such as all-result inference capabilities.
The WWW InterfaceThere exists a graphical user interface for demonstration of DisLog under the WWW (currently not available).
Basic OperatorsSeveral basic operators are provided for logical and non-monotonic reasoning: The logical consequence operators derives all logically implied disjunctive clauses from a disjunctive logic program. The non-monotonic operators are semantically founded on generalizations of the well-known closed-world-assumption.
Optimization TechniquesReasoning in disjunctive deductive databases is very complex, even for small examples. Many different optimization techniques are integrated in DisLog to speed up the application performance. The main techniques rely on a clause tree data structure allowing for an efficient and transparent evaluation.
The SystemThe operators of DisLog can be loaded from a library into a Prolog application. DisLog itself is implemented in XPCE/SWI-Prolog. DisLog can be downloaded as a package of the toolkit DDK.