SLT-Resolution for the Well-Founded Semantics

  • Authors:
  • Yi-Dong Shen;Li-Yan Yuan;Jia-Huai You

  • Affiliations:
  • Department of Computer Science, Chongqing University, Chongqing 400044, P. R. China e-mail: ydshen@cs.ualberta.ca;Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 e-mail: yuan@cs.ualberta.ca;Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada T6G 2H1 e-mail: you@cs.ualberta.ca

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

Global SLS-resolution and SLG-resolution are two representative mechanisms for top-down evaluation of the well-founded semantics of general logic programs. Global SLS-resolution is linear for query evaluation but suffers from infinite loops and redundant computations. In contrast, SLG-resolution resolves infinite loops and redundant computations by means of tabling, but it is not linear. The principal disadvantage of a nonlinear approach is that it cannot be implemented by using a simple, efficient stack-based memory structure nor can it be easily extended to handle some strictly sequential operators such as cuts in Prolog. In this paper, we present a linear tabling method, called iSLT-resolution, for top-down evaluation of the well-founded semantics. SLT-resolution is a substantial extension of SLDNF-resolution with tabling. Its main features are the following. First, it resolves infinite loops and redundant computations while preserving the linearity. Second, it is terminating and is sound and complete w.r.t. the well-founded semantics for programs with the bounded-term-size property with nonfloundering queries. Its time complexity is comparable with SLG-resolution and polynomial for function-free logic programs. Third, because of its linearity for query evaluation, SLT-resolution bridges the gap between the well-founded semantics and standard Prolog implementation techniques. It can be implemented by an extension to any existing Prolog abstract machines such as WAM or ATOAM.