Speculative Beats Conservative Justification

Hai-Feng Guo, C. R. Ramakrishnan, I. V. Ramakrishnan


Justifying the truth value of a goal resulting from query evaluation of a logic program corresponds to providing evidence, in terms of a proof, for this truth. In an earlier work we introduced the notion of justification and gave an algorithm for justifying tabled logic programs by post-processing the memo tables created during query evaluation. A conservatve justifier such as the one described in that work proceeds in two separate stages: evaluate the truth of literals (that can possibly contribute to the evidence) in the first stage and construct the justification in the next stage. Justifications built in this fashion seldom fail. Whereas for tabled predicates evaluation amounts to a simple table look-up during justification, for non-tabled predicates this amounts to Prolog-style re-execution. In a conservative justifier a non-tabled literal can be repeatedly re-executed causing unacceptable performance overheads for programs with significant non-tabled components: justification time for a single non-tabled literal can become quadratic in its original evaluation time!

In this paper we introduce the concept of a speculative justifier. In such a justifier we evaluate the truths of literals in tandem with justification. Specifically, we select literals that can possibly provide evidence for the goal's truth, assume that their truth values correspond to the goal's and proceed to build a justification for each of them. Since these truths are not computed before hand, justfications produced in this fashion may fail often. On the other hand non-tabled literals are re-executed less often than conservative justifiers. We discuss the subtle efficiency issues that arise in the construction of speculative justifiers. We show how to judiciously balance the different efficiency concerns and engineer a speculative justifier that addresses the performance problem associated with conservative justifiers. We provide experimental evidence of its efficiency and scalability in justifying the results of our XMC model checker.

Bibtex Entry:

author = {Hai-Feng Guo and  C. R. Ramakrishnan and  I. V. Ramakrishnan},
title = {Speculative Beats Conservative Justification},
booktitle = {International Conference on Logic Programming ({ICLP})},
address = {Paphos, Cyprus},
month = {November},
series = {Lecture Notes in Computer Science},
volume = {2237},
publisher = {Springer},
pages = {150--165},
year = {2001}

Full Paper: [pdf]

Home | Papers

C. R. Ramakrishnan