Single Time-Stamped Tries for Retroactive Call Subsumption
Flavio Cruz, Ricardo Rocha

TL;DR
This paper introduces Retroactive Call Subsumption (RCS) and a new Single Time Stamped Trie (STST) design to improve answer sharing in Prolog tabling, enabling more flexible and efficient subgoal answer consumption.
Contribution
It presents a novel RCS extension that decouples call order from subsumption, along with an efficient STST table space design for answer sharing.
Findings
RCS allows more general subgoals to retroactively subsume previous calls.
The STST design simplifies answer sharing across subgoals.
Experimental results show improved performance on realistic programs.
Abstract
Tabling is an evaluation strategy for Prolog programs that works by storing answers in a table space and then by using them in similar subgoals. Some tabling engines use call by subsumption, where it is determined that a subgoal will consume answers from a more general subgoal in order to reduce the search space and increase efficiency. We designed an extension, named Retroactive Call Subsumption (RCS), that implements call by subsumption independently of the call order, thus allowing a more general subgoal to force previous called subgoals to become answer consumers. For this extension, we propose a new table space design, the Single Time Stamped Trie (STST), that is organized to make answer sharing across subsumed/subsuming subgoals simple and efficient. In this paper, we present the new STST table space design and we discuss the main modifications made to the original Time Stamped…
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.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Logic, programming, and type systems · Parallel Computing and Optimization Techniques
