Konstantinos F. Sagonas

Learn More
This paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced through tabling (or memoing)[4], which makes it appropriate as(More)
SLG resolution uses tabling to evaluate nonfloundering normal logic pr ograms according to the well-founded semantics. The SLG-WAM, which forms the engine of the XSB system, can compute in-memory recursive queries an <italic>order of magnitute faster</italic> than current deductive databases. At the same time, the SLG-WAM tightly intergrates Prolog code(More)
The use of tabling in logic programming allows bottom-up evaluation to be incorporated in a top-down framework, combining advantages of both. At the engine level, tabling also introduces issues not present in pure top-down evaluation, due to the need for subgoais and answers to access tables during resolution. This article describes the design,(More)
The well-founded semantics has gained wide acceptance partly because it is a skeptical semantics. That is, the well-founded model posits as unknown atoms which are deemed true or false in other formalisms s u c h as stable models. This skepticism makes the well-founded model not only useful in itself, but also suitable as a basis for other forms of(More)
XSB is a logic-based programming system that can serve as an efficient immemory Deductive Database (DDB) engine. XSB fundamentally extends the standard functionality of Prolog to include implementations of SLG resolution (tabling or memoing), and of HiLog. Perhaps the most significant difference between the XSB implementation and conventional DDB(More)
Tabled evaluation is receiving increasing attention in the logic programming community. It avoids many of the shortcomings of SLD execution and provides a more flexible and often considerably more efficient execution mechanism for logic programs. In particular, tabled execution terminates more often than execution based on SLD-resolution. In this article,(More)