[
Abstract
The distribution semantics is one of the most prominent approaches for the combination of logic programming and probability theory. Many languages follow this semantics, such as Independent Choice Logic, PRISM, pD, Logic Programs with Annotated Disjunctions (LPADs) and ProbLog.
When a program contains functions symbols, the distribution semantics is welldefined only if the set of explanations for a query is finite and so is each explanation. Welldefinedness is usually either explicitly imposed or is achieved by severely limiting the class of allowed programs. In this paper we identify a larger class of programs for which the semantics is welldefined together with an efficient procedure for computing the probability of queries. Since LPADs offer the most general syntax, we present our results for them, but our results are applicable to all languages under the distribution semantics.
We present the algorithm “Probabilistic Inference with Tabling and Answer subsumption” (PITA) that computes the probability of queries by transforming a probabilistic program into a normal program and then applying SLG resolution with answer subsumption. PITA has been implemented in XSB and tested on six domains: two with function symbols and four without. The execution times are compared with those of ProbLog, cplint and CVE. PITA was almost always able to solve larger problems in a shorter time, on domains with and without function symbols.
22 November 2010
WellDefinedness and Efficient Inference for Probabilistic Logic
Prog.]WellDefinedness and Efficient Inference for Probabilistic Logic
Programming under the Distribution Semantics
F. Riguzzi and T. Swift]
FABRIZIO RIGUZZI
ENDIF – University of Ferrara
Via Saragat 1, I44122, Ferrara, Italy
Email: fabrizio.riguzzi@unife.it
and TERRANCE SWIFT
CENTRIA – Universidade Nova de Lisboa
Email: tswift@cs.suysb.edu
[–LABEL:lastpage
Note: This article will appear in Theory and Practice of Logic Programming,
©Cambridge University Press,
robabilistic Logic Programming, Tabling, Answer Subsumption, Logic Programs with Annotated Disjunction, Program Transformation
1 Introduction
Many real world domains can only be represented effectively if we are able to model uncertainty. Accordingly, there has been an increased interest in logic languages representing probabilistic information, stemming in part from their successful use in Machine Learning. In particular, languages that follow the distribution semantics [Sato (1995)] have received much attention in the last few years. In these languages a theory defines a probability distribution over logic programs, which is extended to a joint distribution over programs and queries. The probability of a query is then obtained by marginalizing out the programs.
Examples of languages that follow the distribution semantics are Independent Choice Logic [Poole (1997)], PRISM [Sato and Kameya (1997)], pD [Fuhr (2000)], Logic Programs with Annotated Disjunctions (LPADs) [Vennekens et al. (2004)] and ProbLog [De Raedt et al. (2007)]. All these languages have the same expressive power as a theory in one language can be translated into another [Vennekens and Verbaeten (2003), De Raedt et al. (2008)]. LPADs offer the most general syntax as the constructs of all the other languages can be directly encoded in LPADs.
When programs contain functions symbols, the distribution semantics has to be defined in a slightly different way: as proposed in [Sato (1995)] and [Poole (1997)]: the probability of a query is defined with reference to a covering set of explanations for the query. For the semantics to be welldefined, both the covering set and each explanation it contains must be finite. To ensure that the semantics is welldefined, [Poole (1997)] requires programs to be acyclic, while [Sato and Kameya (1997)] directly imposes the condition that queries must have a finite covering set of finite explanations.
Since acyclicity is a strong requirement ruling out many interesting programs, in this paper we propose a looser requirement to ensure the welldefinedness of the semantics. We introduce a definition of bounded termsize programs and queries, which are based on a characterization of the WellFounded Semantics in terms of an iterated fixpoint [Przymusinski (1989)]. A bounded termsize program is such that in each iteration of the fixpoint the size of true atoms does not grow indefinitely. A bounded termsize query is such that the portion of the program relevant to the query is bounded termsize. We show that if a query is bounded termsize, then it has a finite set of finite explanations that are covering, so the semantics is welldefined.
We also present the algorithm “Probabilistic Inference with Tabling and Answer subsumption” (PITA) that builds explanations for every subgoal encountered during a derivation of a query. The explanations are compactly represented using Binary Decision Diagrams (BDDs) that also allow an efficient computation of the probability. Specifically, PITA transforms the input LPAD into a normal logic program in which the subgoals have an extra argument storing a BDD that represents the explanations for its answers. As its name implies, PITA uses tabling to store explanations for a goal. Tabling has already been shown useful for probabilistic logic programming in [Kameya and Sato (2000), Riguzzi (2008), Kimmig et al. (2009), Mantadelis and Janssens (2010), Riguzzi and Swift (2011)]. However, PITA is novel in its exploitation of a tabling feature called answer subsumption to combine explanations coming from different clauses.
PITA draws inspiration from [De Raedt et al. (2007)], which first proposed to use BDDs for computing the probability of queries for the ProbLog language, a minimalistic probabilistic extension of Prolog; and from [Riguzzi (2007)] which applied BDDs to the more general LPAD syntax. Other approaches for reasoning on LPADs include [Riguzzi (2008)], where SLG resolution is extended by repeatedly branching on disjunctive clauses, and the CVE system [Meert et al. (2009)] which transforms LPADs into an equivalent Bayesian network and then performs inference on the network using the variable elimination algorithm.
PITA was tested on a number of datasets, both with and without function symbols, in order to evaluate its efficiency. The execution times of PITA were compared with those of cplint [Riguzzi (2007)], CVE [Meert et al. (2009)] and ProbLog [Kimmig et al. (2011)]. PITA was able to solve successfully more complex queries than the other algorithms in most cases and it was also almost always faster both on datasets with and without function symbols.
The paper is organized as follows. Section 2 illustrates the syntax and semantics of LPADs over finite universes. Section 3 discusses the semantics of LPADs with function symbols. Section 4 defines dynamic stratification for LPADs, provides conditions for the welldefinedness of the LPAD semantics with function symbols, and discusses related work on termination of normal programs. Section 5 gives an introduction to BDDs. Section 6 briefly recalls tabling and answer subsumption. Section 7 presents PITA and Section 8 shows its correctness. Section 9 discusses related work. Section 10 describes the experiments and Section 11 discusses the results and presents directions for future works.
2 The Distribution Semantics for Functionfree Programs
In this section we illustrate the distribution semantics for functionfree program using LPADs as the prototype of the languages following this semantics.
A Logic Program with Annotated Disjunctions [Vennekens et al. (2004)] consists of a finite set of annotated disjunctive clauses of the form
In such a clause are logical atoms, logical literals, and real numbers in the interval such that . The term is called the head and is called the body. Note that if and a clause corresponds to a normal program clause, also called a nondisjunctive clause. If , the head of the clause implicitly contains an extra atom that does not appear in the body of any clause and whose annotation is . For a clause , we define as if ; and as otherwise. Moreover, we define as , as and as .
If the LPAD is ground, a clause represents a probabilistic choice between the nondisjunctive clauses obtained by selecting only one atom in the head. As usual, if the LPAD is not ground, is assigned a meaning by computing its grounding, .
By choosing a head atom for each ground clause of an LPAD we get a normal logic program called a world of the LPAD (an instance of the LPAD in [Vennekens et al. (2004)]). A probability distribution is defined over the space of worlds by assuming independence between the choices made for each clause.
More specifically, an atomic choice is a triple where , is a minimal substitution that grounds and . means that, for the ground clause , the head was chosen. A set of atomic choices is consistent if , i.e., only one head is selected for a ground clause. A composite choice is a consistent set of atomic choices. The probability of a composite choice is the product of the probabilities of the individual atomic choices, i.e. .
A selection is a composite choice that, for each clause in , contains an atomic choice in . Since does not contain function symbols, is finite and so is each . We denote the set of all selections of a program by . A selection identifies a normal logic program , called a world of , defined as: . denotes the set of all the worlds of . Since selections are composite choices, we can assign a probability to worlds: .
Throughout this paper, we consider only sound LPADs, in which every world has a total model according to the WellFounded Semantics (WFS) [Van Gelder et al. (1991)]. In this way, uncertainty is modeled only by means of the disjunctions in the head and not by the semantics of negation. Thus in the following, means that the ground atom is true in the wellfounded model of the program ^{1}^{1}1We sometimes abuse notation slightly by saying that an atom is true in a world to indicate that is true in the (unique) wellfounded model of ..
In order to define the probability of an atom being true in an LPAD , note that the probability distribution over possible worlds induces a probability distribution over Herbrand interpretations by assuming if is the wellfounded model of () and 0 otherwise. We can thus compute the probability of an interpretation as
We can extend the probability distribution on interpretation to ground atoms by assuming if belongs to and 0 otherwise, where is a ground atom of the Herbrand base and stands for . Thus the probability of a ground atom being true, according to an LPAD can be obtained as
Alternatively, we can extend the probability distribution on programs to ground atoms by assuming if is true in and 0 otherwise. Thus the probability of being true is
The probability of being false is defined similarly.
Example 1
Consider the dependency of sneezing on having the flu or hay fever:
This program models the fact that sneezing can be caused by flu or hay fever. The query is true in 5 of the 9 worlds of the program and its probability of being true is
Even if we assumed independence between the choices for individual ground clauses, this does not represents a restriction, in the sense that this still allows to represent all the joint distributions of atoms of the Herbrand base that are representable with a Bayesian network over those variables. Details of the proof are omitted for lack of space.
3 The Distribution Semantics for Programs with Function Symbols
If a nonground LPAD contains function symbols, then the semantics given in the previous section is not welldefined. In this case, each world is the result of an infinite number of choices and the probability ) is 0 since it is given by the product of an infinite number of factors all smaller than 1. Thus, the probability of a formula is 0 as well, since it is a sum of terms all equal to 0. The distribution semantics with function symbols was defined in [Sato (1995)] and [Poole (2000)]. Here we follow the approach of [Poole (2000)].
A composite choice identifies a set of worlds that contains all the worlds associated to a selection that is a superset of : i.e., We define the set of worlds identified by a set of composite choices as
Given a ground atom , we define the notion of explanation, covering set of composite choices and mutually incompatible set of explanations. A composite choice is an explanation for if is true in every world of . In Example 1, the composite choice is an explanation for . A set of composite choices is covering with respect to if every world in which is true is such that . In Example 1, the set of composite choices
(1) 
is covering for . Two composite choices and are incompatible if their union is inconsistent, i.e., if there exists a clause and a substitution grounding such that and . A set of composite choices is mutually incompatible if for all and are incompatible. As illustration, the set of composite choices
is mutually incompatible for the theory of Example 1. [Poole (2000)] proved the following results

Given a finite set of finite composite choices, there exists a finite set of mutually incompatible finite composite choices such that .

If and are both mutually incompatible finite sets of finite composite choices such that then
Thus, we can define a unique probability measure where is defined as the set of sets of worlds identified by finite sets of finite composite choices: . It is easy to see that is an algebra over . Then is defined by where is a finite mutually incompatible set of finite composite choices such that . As is the case for ICL, is a probability space [Kolmogorov (1950)].
Definition 1
The probability of a ground atom is given by
4 Dynamic Stratification of LPADs
One of the most important formulations of stratification is that of dynamic stratification. [Przymusinski (1989)] shows that a program has a 2valued wellfounded model iff it is dynamically stratified, so that it is the weakest notion of stratification that is consistent with the WFS. As presented in [Przymusinski (1989)], dynamic stratification computes strata via operators on 3valued interpretations – pairs of the form , where and are subsets of the Herbrand base of a normal program .
Definition 2
For a normal program , sets and of ground atoms, and a 3valued interpretation we define

is not true in ; and there is a clause in , a ground substitution such that and for every either is true in , or };

is not false in ; and for every clause in and ground substitution such that there is some such that is false in or .
[Przymusinski (1989)] shows that and are both monotonic, and defines as the least fixed point of and as the greatest fixed point of ^{2}^{2}2Below, we will sometimes omit the program in these operators when the context is clear.. In words, the operator extends the interpretation to add the new atomic facts that can be derived from knowing ; adds the new negations of atomic facts that can be shown false in by knowing (via the uncovering of unfounded sets). An iterated fixed point operator builds up dynamic strata by constructing successive partial interpretations as follows.
Definition 3 (Iterated Fixed Point and Dynamic Strata)
For a normal program let
Let denote the fixed point interpretation , where is the smallest (countable) ordinal such that both sets and are empty. We refer to as the depth of program . The stratum of atom , is the least ordinal such that (where may be either in the true or false component of ).
[Przymusinski (1989)] shows that the iterated fixed point is in fact the wellfounded model and that any undefined atoms of the wellfounded model do not belong to any stratum – i.e. they are not added to for any ordinal . Thus, a program is dynamically stratified if every atom belongs to a stratum.
Dynamic stratification captures the order in which recursive components of a program must be evaluated. Because of this, dynamic stratification is useful for modeling operational aspects of program evaluation. Fixedorder dynamic stratification [Sagonas et al. (2000)], used in Section 7, models programs whose wellfounded model can be evaluated using a fixed literal selection strategy. In this class, the definition of in Definition 2 is replaced by^{3}^{3}3Without loss of generality, we assume throughout that the fixed literal selection strategy is lefttoright as in Prolog.:

is not false in ; and for every clause in and ground substitution such that there is some such that is false in or , and for all , is true in .
[Sagonas et al. (2000)] describes how fixedorder dynamic stratification captures those programs that a tabled evaluation can evaluate with a fixed literal selection strategy (i.e. without the SLG operations of simplification and delay).
Example 2
The following program has a 2valued wellfounded model and so is dynamically stratified, but does not belong to other stratification classes in the literature, such as local, modular, or weak stratification. s s. s p, q, r. p q, r, s. q r, p. r p, q. p, q, and r all belong to stratum 0, while s belongs to stratum 1. Note that the above program also meets the definition of fixedorder dynamically stratified as does the simple program p p. p. which is not locally, modularly, or weakly stratified. Fixedorder stratification is more general than local stratification, and than modular stratification (since modular stratified programs can be decidably rearranged so that they have failing prefixes). It is neither more nor less general than weak stratification.
As seen by the above examples, fixedorder dynamic stratification is a fairly weak property for a program to have. The above definitions of (fixedorder) dynamic stratification for normal programs can be straightforwardly adapted to LPADs – an LPAD is (fixedorder) dynamically stratified if each is (fixedorder) dynamically stratified.
4.1 Conditions for WellDefinedness of the Distribution Semantics
When a given LPAD contains function symbols there are two reasons why the distribution semantics may not be welldefined for . First, a world of may not have a twovalued wellfounded model; and second, may contain an atom that does not have a finite set of finite explanations that is covering (cf. Section 3). As noted in Section 2, we consider only sound LPADs in this paper and in this section address the problem of determining whether may contain a atom that does not have a finite set of finite explanations that is covering.
As is usual in logic programming, we assume that a program is defined over a language with a finite number of function and constant symbols. Given such an assumption, placing an upper bound on the size of terms in a derivation implies that the number of different terms in a derivation must be finite – and for certain methods of derivation, such as tabled or bottomup evaluations, that the derivation itself is finite.
To motivate our definitions, consider the normal program : p(s(X)) p(X). p(0). This program does not have a model with a finite number of true or undefined atoms, and accordingly, there is no upper limit on the size of atoms produced either in a bottomup derivation of the program (e.g. using the fixedpoint characterization of Definition 3), or in a topdown evaluation of the query p(Y). However, the superficially similar program, : p(X) p(f(X)). p(0). does have a model with a finite number of true and undefined atoms. Of course, the model for the program does not have a finite number of false atoms, but (default) false atoms are generally not explicitly represented in derivations. The model can in fact be produced by various derivation techniques, such as an alternating fixed point computation [van Gelder (1989)] based on sets of true and of true or undefined atoms; or by tabling with term depth abstraction [Tamaki and Sato (1986)].
From the perspective of the distribution semantics consider , the extension of with the clause q : 0.5 p(X). and , the similar extension of . Recall from Definition 1 that the probability of an atom in an LPAD is defined as a probability measure that is constructed from finite sets of finite composite choices: accordingly, the distribution semantics for is welldefined if and only if it has a finite set of finite explanations that is covering. In , q has such a finite set of finite explanations that is covering, and so its distribution semantics is welldefined. However, in , q does not have a finite set of finite explanations that is covering, and so the distribution semantics is not welldefined for q, even though every world of has a total wellfounded model.
The following definition captures these intuitions, basing the notion of bounded termsize on the preceding definition of dynamic stratification.
Definition 4 (Bounded Termsize Programs)
Let be the ground instantiation of a normal program. and . Then an application of (Definition 2) has the bounded termsize property if there is a integer such that the size of every ground substitution used to produce an atom in is less than . itself has the bounded termsize property if every application of used to construct has the bounded termsize property with the same bound . Finally, an LPAD has the bounded termsize property if each world of has the bounded termsize property.
Note that does not have the bounded termsize property, but does. While determining whether a program is bounded termsize is clearly undecidable in general, shows that need not be finite if is bounded termsize. However, the model of may be characterized as follows^{4}^{4}4The proof of this and other theorems is given in the online Appendix to this paper..
Theorem 1
Let be a normal program. Then has a finite number of true atoms iff has the bounded termsize property.
Theorem 1 gives a clear modeltheoretic characterization of bounded termsize normal programs: note that if is infinite, then may have an infinite number of false or undefined atoms. In the context of LPADs, the bounded termsize property ensures the welldefinedness of the distribution semantics.
Theorem 2
Let be a sound bounded termsize LPAD, and let . Then has a finite set of finite explanations that is covering.
The proof of Theorem 2 is presented in the online Appendix; here we indicate the intuition behind the proof. First, we note that it is straightforward to show that since each world of an LPAD has a finite number of true atoms by Theorem 1, explanations are finite. On the other hand, showing that a query has a finite covering set of explanations is less obvious, as could have an infinite number of worlds. The proof addresses this by showing that has a finite number of models, in turn shown by demonstrating the existence of a bound on the maximal size of any true atom in any world of . The existence of is shown by contradiction by demonstrating that if no bound existed, a world could be constructed that was not bounded termsize. The idea is explained in the following example.
Example 3
Consider the program This program has an infinite number of finite models, which consist of true atoms depending on the selections made for instantiations of the first clause, and so no finite bound exists for this program. However such a program also has a selection that gives rise to an infinite model and so is not bounded termsize.
Although bounded termsize programs have appealing properties, such programs can make only weak use of function symbols. For instance, a program containing the Prolog predicate member/2 would not be bounded termsize, although as any Prolog programmer knows, a query to member/2 will terminate whenever the second argument of the query is ground. We capture this intuition with bounded termsize queries. The definition of such queries relies on the notion of an atom dependency graph, whose definition we state for LPADs.
Definition 5 (Atom Dependency Graph)
Let be a ground LPAD. Then the atom dependency graph of is a graph such that and an edge iff there is a clause such that

and if ; or

.
Definition 5 includes dependencies among atoms in the head of a disjunctive LPAD clause, similar to how dependencies are defined in disjunctive logic programs. Given a ground LPAD , the atom dependency graph of is used to bound the search space of a (relevant) derivation in a world of under the WFS.
Definition 6 (Bounded Termsize Queries)
Let be a ground LPAD, and an atomic query to (not necessarily ground). Then the atomic search space of consists of the union of all ground instantiations of in together with all atoms reachable in the atom dependency graph of from any ground instantiation of . Let
The query is bounded termsize if is a bounded termsize program.
4.2 Comparisons of Termination Properties
We next consider how the concepts of bounded termsize programs and queries relate to some other classes of programs for which termination has been studied. Since the definitions of the previous section are based on LPADs, and other work in the literature is often based on disjunctive logic programs, we restrict our attention to normal programs, for which the semantics coincide.
[Baselice et al. (2009)] studies the class of finitely recursive programs, which is a superset of finitary programs previously introduced into the literature by the authors. The paper first defines a dependency graph, which for normal programs is essentially the same as Definition 5. A finitely recursive normal program, then, is one for which in its atom dependency graph, only a finite number of vertices are reachable from any vertex. It is easy to see that neither bounded termsize programs nor finitely recursive programs are a subclass of each other. A program containing simply member/2 (and a constant) is finitely recursive, but is not bounded termsize. However, the program p(X) p(f(X)). has bounded termsize, as does the program p(s(X)) q(X),p(X). p(0). although neither is finitely recursive (for the last program, the failure of q(X) means that all applications of have bounded termsize). However, note that for any program that is finitely recursive, all ground atomic queries to will have bounded termsize. Therefore, if is finitely recursive, every ground atomic query to will be bounded termsize, even if itself isn’t bounded termsize.
Another recent work [Calimeri et al. (2008)] defines the class finitelyground programs. We do not present its formalism here, but Corollary 1 of [Calimeri et al. (2008)] states that if a program is finitelyground, it will have a finite number of answer sets and each answer set will be finite (as represented by the set of true atoms in the model). By Theorem 1 of this paper, such a program will have bounded termsize, so that finitelyground programs may be coextensive with bounded termsize programs. On the other hand, [Calimeri et al. (2008)] notes that finitelyground programs and finitely recursive programs are incompatible. Nonrange restricted programs are not finitelyground, although they can be finitely recursive. As discussed above, any ground atomic query to a finitely recursive program will have bounded termsize, so that finitelyground programs must be a proper subclass of those programs for which all ground atomic queries have bounded termsize.
To summarize for normal programs:

Finitely recursive and bounded termsize programs are incompatible, but finitely recursive programs are a proper subclass of those programs for which all ground atomic queries are bounded termsize.

Finitelyground and bounded termsize programs appear to be coextensive, but finitelyground programs are a proper subclass of those programs for which all ground atomic queries are bounded termsize.
5 Representing Explanations by Means of Decision Diagrams
In order to represent explanations we can use Multivalued Decision Diagrams (MDDs) [Thayse et al. (1978)]. An MDD represents a function taking Boolean values on a set of multivalued variables by means of a rooted graph that has one level for each variable. Each node has one child for each possible value of the multivalued variable associated to . The leaves store either 0 or 1. Given values for all the variables , an MDD can be used to compute the value of by traversing the graph starting from the root and returning the value associated to the leaf that is reached.
Given a set of explanations , we obtain a Boolean function in the following way. Each ground clause appearing in is associated to a multivalued variable with as many values as atoms in the head of . In other words, each atomic choice is represented by the propositional equation . Equations for a single explanation are conjoined and the conjunctions for the different explanations are disjoined. The set of explanations in Equation (1) can be represented by the function . The MDD shown in Figure 1(a) represents .


Given a MDD , we can identify a set of explanations associated to that is obtained by considering each path from the root to a 1 leaf as an explanation. It is easy to see that if is a set of explanations and is obtained from , and represent the same set of worlds, i.e., that .
Note that is mutually incompatible because at each level we branch on a variable so that the explanations associated to the leaves that are descendants of a child of a node are incompatible with those of any other children of .
By converting a set of explanations into a mutually incompatible set of explanations, MDDs allow the computation of (Section 3) given any . This is equivalent to computing the probability of a DNF formula which is #Pcomplete [DBLP:journals/siamcomp/Valiant79]. Decision diagrams offer a practical solution for this problem and were shown better than other methods [De Raedt et al. (2007)].
Decision diagrams can be built with various software packages that provide highly efficient implementation of Boolean operations. However, most packages are restricted to work with Binary Decision Diagrams, i.e., decision diagrams where all the variables are Boolean. To manipulate MDDs with a BDD package, we must represent multivalued variables by means of binary variables. Various options are possible, we found that the following, proposed in [De Raedt et al. (2008)], gives the best performance. For a variable having values, we use Boolean variables and we represent the equation for by means of the conjunction
and the equation by means of the conjunction
The BDD representation of the function is given in Figure 1(b). The Boolean variables are associated with the following parameters:
.
6 Tabling and Answer Subsumption
The idea behind tabling is to maintain in a table both subgoals encountered in a query evaluation and answers to these subgoals. If a subgoal is encountered more than once, the evaluation reuses information from the table rather than reperforming resolution against program clauses. Although the idea is simple, it has important consequences. First, tabling ensures termination for a wide class of programs, and it is often easier to reason about termination in programs using tabling than in basic Prolog. Second, tabling can be used to evaluate programs with negation according to the WFS. Third, for queries to wide classes of programs, such as datalog programs with negation, tabling can achieve the optimal complexity for query evaluation. And finally, tabling integrates closely with Prolog, so that Prolog’s familiar programming environment can be used, and no other language is required to build complete systems. As a result, a number of Prologs now support tabling including XSB, YAP, BProlog, ALS, and Ciao. In these systems, a predicate is evaluated using SLDNF by default: the predicate is made to use tabling by a declaration such as table p/n that is added by the user or compiler.
This paper makes use of a tabling feature called answer subsumption. Most formulations of tabling add an answer to a table for a subgoal only if is a not a variant (as a term) of any other answer for . However, in many applications it may be useful to order answers according to a partial order or (upper semi)lattice. As an example, consider the case of a lattice on the values of the second argument of a binary predicate . Answer subsumption may be specified by a declaration such as table p(_,or/3  zero/1). where is the bottom element of the lattice and is the join operation of the lattice. For example, if a table had an answer and a new answer were derived, the answer is replaced by , where is the join of and obtained by calling . In the PITA algorithm for LPADs presented in Section 7 the last argument of an atom is used to store explanations for the atom in the form of BDDs and the operation is the logical disjunction of two explanations ^{5}^{5}5The logical disjunction can be seen as subsuming and over the partial order af implication defined on propositional formulas that represent explanations.. Answer subsumption over arbitrary upper semilattices is implemented in XSB for stratified programs [Swift (1999b)].
For formal results in this section and Section 8 we use SLG resolution [Chen and Warren (1996)], under the forestoftrees representation [Swift (1999a)]; this framework is extended with answer subsumption in the proof of Theorem 4. However, first we present a theorem stating that bounded termsize queries (Definition 6) to normal programs are amenable to topdown evaluation using tabling. Although SLG has been shown to finitely terminate for other notions of bounded termsize queries, the concept as presented in Definition 6 is based on a bottomup fixedpoint definition of WFS, and only bounds the size of substitutions used in of Definition 2, but not of . In fact, to prove termination of SLG with respect to bounded termsize queries, SLG must be extended so that its New Subgoal operation performs what is called termdepth abstraction [Tamaki and Sato (1986)], explained informally as follows. An SLG evaluation can be formalized as a forest of trees in which each tree corresponds to a unique (up to variance) subgoal. The SLG New Subgoal operation checks to see if a given selected subgoal is the root of any tree in the current forest. If not, then a new tree with root is added to the forest. Without termdepth abstraction, an SLG evaluation of the query p(a) and the program consisting of the single clause p(X) p(f(X)). would create an infinite number of trees. However, if the New Subgoal operation uses termdepth abstraction, any subterm in over a prespecified maximal depth would be replaced by a new variable. For example, in the above program if the maximal depth were specified as 3, the subgoal p(f(f(f(a)))) would be rewritten to p(f(f(f(X)))) for the purposes of creating a new tree. The subgoal p(f(f(f(a)))) would consume any answer from the tree for p(f(f(f(X)))) where the binding for unified with . In this manner it can be ensured that only a finite number of trees were created in the forest. This fact, together with the size bound on the derivation of answers provided by Definition 6 ensures the following theorem, where a finitely terminating evaluation may terminate normally or may terminate through floundering.
Theorem 3
Let be fixedorder dynamically stratified normal program, and a bounded termsize query to . Then there is an SLG evaluation of to using termdepth abstraction that finitely terminates.
By the discussion of Section 4.2, Theorem 3 shows that there is an SLG evaluation with termdepth abstraction will finitely terminate on any ground query to a finitely recursive [Baselice et al. (2009)] or finitelyground [Calimeri et al. (2008)] program that is fixedorder stratified ^{6}^{6}6The proof of Theorem 3 relies on a delayminimal evaluation of that does not produced any conditional answers – that is, an evaluation that does not explore the space of atoms that are undefined in .. While SLG itself is ideally complete for all normal programs, the PITA implementation is restricted to fixedorder stratified programs, so that Theorem 3 is used in the proof of the termination results of Section 8.
7 Program Transformation
The first step of the PITA algorithm is to apply a program transformation to an LPAD to create a normal program that contains calls for manipulating BDDs. In our implementation, these calls provide a Prolog interface to the CUDD^{7}^{7}7http://vlsi.colorado.edu/~fabio/ C library and use the following predicates^{8}^{8}8BDDs are represented in CUDD as pointers to their root node.

init, end: for allocation and deallocation of a BDD manager, a data structure used to keep track of the memory for storing BDD nodes;

zero(BDD), one(BDD), and(+BDD1,+BDD2,BDDO), or(+BDD1,+BDD2,
BDDO), not(+BDDI,BDDO): Boolean operations between BDDs; 
add_var(+N_Val,+Probs,Var): addition of a new multivalued variable with N_Val values and parameters Probs;

equality(+Var,+Value,BDD): BDD represents Var=Value, i.e. that the random variable Var is assigned Value in the BDD;

ret_prob(+BDD,P): returns the probability of the formula encoded by BDD.
add_var(+N_Val,+Probs,Var) adds a new random variable associated to a new instantiation of a rule with N_Val head atoms and parameters list Probs. The PITA transformation uses the auxiliary predicate get_var_n(+R,+S,+Probs,Var) to wrap add_var/3 and avoid adding a new variable when one already exists for an instantiation. As shown below, a new fact var(R,S,Var) is asserted each time a new random variable is created, where R is an identifier for the LPAD clause, S is a list of constants, one for each variable of the clause, and Var is an integer that identifies the random variable associated with clause R under the grounding represented by S. The auxiliary predicate has the following definition
The PITA transformation applies to atoms, literals and clauses. If is an atom, is with the variable added as the last argument. If is an atom, is with the variable added as the last argument. In either case for an atom , is the value of the last argument of , If is negative literal , is the conditional
where is with the variable added as the last argument. In other words the input BDD, , is negated if it exists; otherwise the BDD for the constant function is returned.
A nondisjunctive fact is transformed into the clause
A disjunctive fact . where the parameters sum to 1, is transformed into the set of clauses ^{9}^{9}9The second argument of is the empty list because a fact does not contain variables since the program is bounded termsize.
In the case where the parameters do not sum to one, the clause is first transformed into and then into the clauses above, where the list of parameters is but the th clause (the one for ) is not generated.
The definite clause . is transformed into the clause
The disjunctive clause
where the parameters sum to 1, is transformed into the set of clauses
where is a list containing each variable appearing in . If the parameters do not sum to 1, the same technique used for disjunctive facts is used.
In order to answer queries, the goal prob(Goal,P) is used, which is defined by
where implements . Moreover, various predicates of the LPAD should be declared as tabled. For a predicate , the declaration is table p(_1,…,_n,or/3zero/1), which indicates that answer subsumption is used to form the disjunct of multiple explanations. At a minimum, the predicate of the goal and all the predicates appearing in negative literals should be tabled with answer subsumption. As shown in Section 10, it is usually better to table every predicate whose answers have multiple explanations and are going to be reused often.
8 Correctness of PITA Evaluation
In this section we show a result regarding the PITA transformation and its tabled evaluation on bounded termsize queries: this result takes as a starting point the welldefinedness result of Theorem 2.
The main result of this section, Theorem 4, makes explicit mention of BDD data structures, which are considered to be ground terms for the purposes of formalization and are not specified further. Accordingly, the BDD operations used in the PITA transformation: and/3, or/3, not/2, one/1, zero/1, and equality/3, are all taken as (infinite) relations on terms, so that these predicates can be made part of a program’s ground instantiation in the normal way. As a result, the ground instantiation of instantiates all variables in with all BDD terms. Similarly, for the purposes of proving correctness, a ground program is assumed to be extended with the relation var(RuleName,[],Var) to associate a random variable with the identifier of each clause (see Appendix C for more details). Note that since Theorem 4 assumes a bounded termsize query, the semantics is welldefined so the BDD and var/3 terms are finite. In other words, the representation of each explanation of each atom are finite, and each atom has a finite covering set of explanations.
Lemma 1 shows that the PITA transformation does not affect the property of a query being bounded termsize. a result that is used in the proof of Theorem 4.
Lemma 1
Let be an LPAD and a bounded termsize query to . Then the query to has bounded termsize.
Theorem 4 below states the correctness of the tabling implementation of PITA, since the BDD returned for a tabled query is the disjunction of a covering set of explanations for that query. The proof uses an extension of SLG evaluation that includes answer subsumption to collect explanations by disjoining BDDs, but that is restricted to the fixedorder dynamically stratified programs of Section 4. This formalism models the programs and implementation tested in Section 10.
Theorem 4 (Correctness of PITA Evaluation)
Let be a fixedorder dynamically stratified LPAD and a ground bounded termsize atomic query. Then there is an SLG evaluation of against , such that answer subsumption is declared on using BDDdisjunction where finitely terminates with an answer for and represents a covering set of explanations for .
9 Related Work
[Mantadelis and Janssens (2010)] presented an algorithm for answering queries to ProbLog programs that uses tabling. Our work differs from this in two important ways. The first is that we use directly XSB tabling with answer subsumption while [Mantadelis and Janssens (2010)] use some userdefined predicates that manipulate extra tabling data structures. The second difference is that in [Mantadelis and Janssens (2010)] explanations are stored in trie data structures that are then translated into BDDs. When translating the tries into BDDs, the algorithm of [Mantadelis and Janssens (2010)] finds shared substructures, i.e., subexplanations shared by many explanations. By identifying shared structures the construction of BDDs is sped up since subexplanations are transformed into BDD only once. In our approach, we similarly exploit the repetition of structures but we do it while finding explanations: by storing in the table the BDD representation of the explanations of each answer, every time the answer is reused its BDD does not have to be rebuilt. Thus our optimization is guided by the derivation of the query. Moreover, if a BDD is combined with another BDD that already contains the first as a subgraph, we rely on the highly optmized CUDD functions for the identification of the repetition and the simplification of the combining operation. In this way we exploit structure sharing as well without the intermediate pass over the trie data strucutres.
10 Experiments
PITA was tested on two datasets that contain function symbols: the first is taken from [Vennekens et al. (2004)] and encodes a Hidden Markov Model (HMM) while the second from [De Raedt et al. (2007)] encodes biological networks. Moreover, it was also tested on the four testbeds of [Meert et al. (2009)] that do not contain function symbols. PITA was compared with the exact version of ProbLog [De Raedt et al. (2007)] available in the git version of Yap as of 10 November 2010, with the version of cplint [Riguzzi (2007)] available in Yap 6.0 and with the version of CVE [Meert et al. (2009)] available in ACEilProlog 1.2.20^{10}^{10}10All experiments were performed on Linux machines with an Intel Core 2 Duo E6550 (2333 MHz) processor and 4 GB of RAM..
The first problem models a hidden Markov model with states 1, 2 and 3, of which 3 is an end state. This problem is encoded by the program
s(0,1):1/3 s(0,2):1/3 s(0,3):1/3.  
s(T,1):1/3 s(T,2):1/3 s(T,3):1/3  
T1 is T1, T1=0, s(T1,F), + s(T1,3). 
For this experiment, we query the probability of the HMM being in state 1 at time N for increasing values of N, i.e., we query the probability of s(N,1). In PITA and ProbLog, we did not use reordering of BDDs variables^{11}^{11}11For each experiment with PITA and ProbLog, we used either group sift automatic reordering or no reordering of BDDs variables depending on which gave the best results.. In PITA we tabled and in ProbLog we tabled the same predicate using the technique described in [Mantadelis and Janssens (2010)]. The execution times of PITA, ProbLog, CVE and cplint are shown in Figure 2. In this problem tabling provides an impressive speedup, since computations can be reused often.
The biological network programs compute the probability of a path in a large graph in which the nodes encode biological entities and the links represents conceptual relations among them. Each program in this dataset contains a nonprobabilistic definition of path plus a number of links represented by probabilistic facts. The programs have been sampled from a very large graph and contain 200, 400, , 10000 edges. Sampling was repeated ten times, to obtain ten series of programs of increasing size. In each program we query the probability that the two genes HGNC_620 and HGNC_983 are related. We used two definitions of path. The first, from [Kimmig et al. (2011)], performs loop checking explicitly by keeping the list of visited nodes:
(3) 
The second exploits tabling for performing loop checking:
(4) 
The possibility of using lists (that require function symbols) allowed in this case more modeling freedom. In PITA, the predicates , and are tabled in both cases. For ProbLog we used its implementation of tabling for loop checking in the second program. As in PITA, , and are tabled.
We ran PITA, ProbLog and cplint on the graphs starting from the smallest program. In each series we stopped after one day or at the first graph for which the program ended for lack of memory^{12}^{12}12CVE was not applied to this dataset because the current version can not handle graph cycles.. In cplint, PITA and ProbLog we used group sift reordering of BDDs variables. Figure 3(a) shows the number of subgraphs for which each algorithm was able to answer the query as a function of the size of the subgraphs, while Figure 3(b) shows the execution time averaged over all and only the subgraphs for which all the algorithms succeeded. Figure 4 alternately shows the execution times averaged, for each algorithm, over all the graphs on which the algorithm succeeded. In these Figures PITA and PITAt refers to PITA applied to path programs (3) and (4) respectively and similarly for ProbLog and ProbLogt.
PITA applied to program (3) was able to solve more subgraphs and in a shorter time than cplint and all cases of ProbLog. On path definition (4), on the other hand, ProbLogt was able to solve a larger number of problems than PITAt and in a shorter time. For PITA the vast majority of time for larger graphs was spent on BDD maintenance. This shows that, even if tabling consumes more memory when finding the explanations, BDDs are built faster and use less memory, probably due to the fact that tabling allows less redundancy (only one BDD is stored for an answer) and supports a bottomup construction of the BDDs, which is usually better.
The four datasets of [Meert et al. (2009)], served as a final suite of benchmarks. bloodtype encodes the genetic inheritance of blood type, growingbody contains programs with growing bodies, growinghead contains programs with growing heads and uwcse encodes a university domain. The best results for ProbLog were obtained by using ProbLog’s tabling in all experiments except growinghead. The execution times of cplint, ProbLog, CVE and PITA are shown in Figures 5(a) and 5(b), 6(a) and 6(b)^{13}^{13}13For the missing points at the beginning of the lines a time smaller than was recorded. For the missing points at the end of the lines the algorithm exhausted the available memory.. In the legend PITA means that dynamic BDD variable reordering was disabled, while PITAdr has group sift automatic reordering enabled. Similarly for ProbLog and ProbLogdr.
In bloodtype, growingbody and growinghead PITA without variable reordering was the fastest, while in uwcse PITA with group sift automatic reordering was the fastest. These results show that variable reordering has a strong impact on performances: if the variable order that is obtained as a consequence of the sequence of BDD operations is already good, automatic reordering severely hinders performances. Fully understanding the effect of variable reordering on performances is subject of future work.
11 Conclusion and Future Works
This paper has made two main contributions. The first is the identification of bounded termsize programs and queries as conditions for the distribution semantics to be welldefined when LPADs contain function symbols. As shown in Section 4.2, boundedtermsize programs and queries sometimes include programs that other termination classes do not. Given the transformational equivalence of LPADs and other probabilistic logic programming formalisms that use the distribution semantics, these results may form a basis for determining welldefinedness beyond LPADs.
As a second contribution, the PITA transformation provides a practical reasoning algorithm that was directly used in the experiments of Section 10. The experiments substantiate the PITA approach. Accordingly, PITA should be easily portable to other tabling engines such as that of YAP, Ciao and B Prolog if they support answer subsumption over general semilattices. PITA is available in XSB Version 3.3 and later, downloadable from http://xsb.sourceforge.net. A user manual is included in XSB manual and can also be found at http://sites.unife.it/ml/pita.
In the future, we plan to extend PITA to the whole class of sound LPADs by implementing the SLG delaying and simplification operations for answer subsumption; an implementation of tabling with termdepth abstraction (Section 6) is also underway. Finally, we are developing a version of PITA that is able to answer queries in an approximate way, similarly to [Kimmig et al. (2011)].
References
 Baselice et al. (2009) Baselice, S., Bonatti, P., and Criscuolo, G. 2009. On finitely recursive programs. Theory and Practice of Logic Programming 9, 2, 213–238.
 Calimeri et al. (2008) Calimeri, F., Cozza, S., Ianni, G., and Leone, N. 2008. Computable functions in asp: Theory and implementation. In International Conference on Logic Programming. LNCS, vol. 5366. Springer, 407–424.
 Chen and Warren (1996) Chen, W. and Warren, D. S. 1996. Tabled evaluation with delaying for general logic programs. Journal of the Association for Computing Machinery 43, 1, 20–74.
 De Raedt et al. (2008) De Raedt, L., Demoen, B., Fierens, D., Gutmann, B., Janssens, G., Kimmig, A., Landwehr, N., Mantadelis, T., Meert, W., Rocha, R., Santos Costa, V., Thon, I., and Vennekens, J. 2008. Towards digesting the alphabetsoup of statistical relational learning. In NIPS2008 Workshop on Probabilistic Programming, 13 December 2008, Whistler, Canada.
 De Raedt et al. (2007) De Raedt, L., Kimmig, A., and Toivonen, H. 2007. ProbLog: A probabilistic Prolog and its application in link discovery. In Internation Joint Conference on Artificial Intelligence. IJCAI, 2462–2467.
 Fuhr (2000) Fuhr, N. 2000. Probabilistic datalog: Implementing logical information retrieval for advanced applications. Journal of the American Society of Information Sciences 51, 2, 95–110.
 Kameya and Sato (2000) Kameya, Y. and Sato, T. 2000. Efficient EM learning with tabulation for parameterized logic programs. In International Conference on Computational Logic. LNCS, vol. 1861. Springer, 269–284.
 Kimmig et al. (2011) Kimmig, A., Demoen, B., De Raedt, L., Costa, V. S., and Rocha, R. 2011. On the implementation of the probabilistic logic programming language problog. Theory and Practice of Logic Programming 11, Special Issue 23, 235–262.
 Kimmig et al. (2009) Kimmig, A., Gutmann, B., and Santos Costa, V. 2009. Trading memory for answers: Towards tabling ProbLog. In International Workshop on Statistical Relational Learning, 24 July 2009, Leuven, Belgium. KU Leuven.
 Kolmogorov (1950) Kolmogorov, A. N. 1950. Foundations of the Theory of Probability. Chelsea Publishing Company.
 Mantadelis and Janssens (2010) Mantadelis, T. and Janssens, G. 2010. Dedicated tabling for a probabilistic setting. In Technical Communications of the International Conference on Logic Programming. LIPIcs, vol. 7. Schloss Dagstuhl  LeibnizZentrum fuer Informatik, 124–133.
 Meert et al. (2009) Meert, W., Struyf, J., and Blockeel, H. 2009. CPLogic theory inference with contextual variable elimination and comparison to BDD based inference methods. In International Conference on Inductive Logic Programming. LNCS, vol. 5989. Springer, 96–109.
 Muggleton (2000) Muggleton, S. 2000. Learning stochastic logic programs. Electronic Transactions on Artificial Intelligence 4, B, 141–153.
 Poole (1997) Poole, D. 1997. The independent choice logic for modelling multiple agents under uncertainty. Artificial Intelligence 94, 12, 7–56.
 Poole (2000) Poole, D. 2000. Abducing through negation as failure: stable models within the independent choice logic. Journal of Logic Programming 44, 13, 5–35.
 Przymusinski (1989) Przymusinski, T. 1989. Every logic program has a natural stratification and an iterated least fixed point model. In Symposium on Principles of Database Systems. ACM Press, 11–21.
 Riguzzi (2007) Riguzzi, F. 2007. A top down interpreter for LPAD and CPlogic. In Congress of the Italian Association for Artificial Intelligence. LNAI, vol. 4733. Springer, 109–120.
 Riguzzi (2008) Riguzzi, F. 2008. Inference with logic programs with annotated disjunctions under the well founded semantics. In International Conference on Logic Programming. LNCS, vol. 5366. Springer, 667–771.
 Riguzzi and Swift (2011) Riguzzi, F. and Swift, T. 2011. The PITA system: Tabling and answer subsumption for reasoning under uncertainty. Theory and Practice of Logic Programming, International Conference on Logic Programming Special Issue 11, 45, 433–449.
 Sagonas et al. (2000) Sagonas, K., Swift, T., and Warren, D. S. 2000. The limits of fixedorder computation. Theoretical Computer Science 254, 12, 465–499.
 Sato (1995) Sato, T. 1995. A statistical learning method for logic programs with distribution semantics. In International Conference on Logic Programming. MIT Press, 715–729.
 Sato and Kameya (1997) Sato, T. and Kameya, Y. 1997. Prism: A language for symbolicstatistical modeling. In International Joint Conference on Artificial Intelligence. IJCAI, 1330–1339.
 Swift (1999a) Swift, T. 1999a. A new formulation of tabled resolution with delay. In Recent Advances in Artifiial Intelligence. LNAI, vol. 1695. Sringer, 163–177.
 Swift (1999b) Swift, T. 1999b. Tabling for nonmonotonic programming. Annals of Mathematics and Artificial Intelligence 25, 34, 201–240.
 Tamaki and Sato (1986) Tamaki, H. and Sato, T. 1986. OLDT resolution with tabulation. In International Conference on Logic Programming. LNCS, vol. 225. Springer, 84–98.
 Thayse et al. (1978) Thayse, A., Davio, M., and Deschamps, J. P. 1978. Optimization of multivalued decision algorithms. In International Symposium on MultipleValued Logic. IEEE Computer Society Press, 171–178.
 van Gelder (1989) van Gelder, A. 1989. The alternating fixpoint of logic programs with negation. In Symposium on Principles of Database Systems. ACM, 1–10.
 Van Gelder et al. (1991) Van Gelder, A., Ross, K. A., and Schlipf, J. S. 1991. The wellfounded semantics for general logic programs. Journal of the Association for Computing Machinery 38, 3, 620–650.
 Vennekens and Verbaeten (2003) Vennekens, J. and Verbaeten, S. 2003. Logic programs with annotated disjunctions. Tech. Rep. CW386, K. U. Leuven.
 Vennekens et al. (2004) Vennekens, J., Verbaeten, S., and Bruynooghe, M. 2004. Logic programs with annotated disjunctions. In International Conference on Logic Programming. LNCS, vol. 3131. Springer, 195–209.
Appendix A Proof of WellDefinedness Theorems (Section 4.1)
To prove Theorem 1 we start with a lemma that states one half of the equivalence, and also describes an implication of the bounded termsize property for computation.
Lemma 2
Let be a normal program with the bounded termsize property. Then

Any atom in has a finite stratum, and was computed by a finite number of applications of .

There are a finite number of true atoms in .
For 2), note that bounding the size of as used in Definition 2 bounds the size of the ground clause , and so bounds the size of for any . Since the true atoms in are defined as a fixedpoint of for a given , there must be a finite number of them.
Similarly, since the size of is bounded by an integer , and since is monotonic for any reaches its fixed point in a finite number of applications, and in fact only a finite number of applications of are required to compute true atoms in . In addition, it can be the case that only a finite number of times, so that can contain only a finite number of strata.
Theorem 1
Let be a normal program. Then has a finite number of
true atoms iff has the bounded termsize property.
The implication was shown by the previous Lemma, so that it remains to prove that if has a finite number of true atoms, then has the bounded termsize property. To show this, since the number of true atoms in is finite, all derivations of true atoms using of Definition 2 can be constructed using only a finite set of ground clauses. For this to be possible, the maximum term size of any literal in any such clause is finitely bounded, so that has the bounded termsize property.
Theorem 2
Let be a sound bounded termsize LPAD, and let