DisLog - A System for Reasoning
in Disjunctive Deductive Databases

by Dietmar Seipel


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 Interface

There exists a graphical user interface for demonstration of DisLog under the WWW (currently not available).

Basic Operators

Several 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 Techniques

Reasoning 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 System

The 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.