Top-down and Bottom-up Evaluation Procedurally Integrated
David S. Warren

TL;DR
This paper presents an integrated approach combining top-down and bottom-up evaluation methods in logic programming, enabling more declarative and efficient Prolog programs through variant and subsumptive tabling.
Contribution
It introduces a procedural integration of top-down and bottom-up evaluation in logic programming using variant and subsumptive tabling with abstraction.
Findings
Enables fully declarative expression of programs previously requiring procedural features
Improves efficiency of logic program evaluation through integrated tabling mechanisms
Demonstrates practical benefits in Prolog program execution
Abstract
This paper describes how 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. This…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
