Hostname: page-component-74656f9884-8r8nv Total loading time: 0 Render date: 2026-11-09T19:57:49.874Z Has data issue: false hasContentIssue false

Top-down and Bottom-up Evaluation Procedurally Integrated

Published online by Cambridge University Press:  10 August 2018

DAVID S. WARREN*
Affiliation:
Stony Brook University, Stony Brook, NY, 11794-4400USA (e-mail: warren@cs.stonybrook.edu) XSB Inc., Setauket, NY, 11733USA (e-mail: warren@xsb.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

This paper describes how the Logic Programming System XSB combines top-down and bottom-up computation through the mechanisms of variant tabling and subsumptive tabling with abstraction, respectively.

It is well known that top-down evaluation of logical rules in Prolog has a procedural interpretation as recursive procedure invocation (Kowalski 1986). Tabling adds the intuition of short-circuiting redundant computations (Warren 1992). This paper shows how to introduce into tabled logic program evaluation a bottom-up component, whose procedural intuition is the initialization of a data structure, in which a relation is initially computed and filled, on first demand, and then used throughout the remainder of a larger computation for efficient lookup. This allows many Prolog programs to be expressed fully declaratively, programs which formerly required procedural features, such as assert, to be made efficient.

Information

Type
Original Article
Copyright
Copyright © Cambridge University Press 2018