Dislog - a system for reasoning in disjunctive deductive databases
Abstract
DisLoG is a system for reasoning in disjunctive -deductive databases. It seeks to combine features of disjunctive logic programming, such as the support for incomplete information, with those of deductive databases, such as all-result inference capabilities. Severa} basic operators are provided for logical and non-monotonic reasoning: The logical consequence operator derives all 'Iogically implied disjunctive clauses from a disjunctive logic program. The nonmonotonic operators are semantically founded on generalizations of the wellknown closed-world-assumption. Reasoning in disjunctive deductive databases is very complex, even for small examples. Many different optimization techniques are integrated in D1sLoG to speed up the application performance. The main techniques rely on a clause tree data structure allowing for an efficient and transparent evaluation_ '¡he operators of D1sLoG can be loaded from a library into a PROLOG application. D1s L0G itself is implemented as a meta-interpreter in SICSTUS-PR0L0G.