Probabilistic Logic Programming with
Well-Founded Negation
Spyros Hadjichristodoulou
Computer Science Department
Stony Brook University
Email: shadjichrist@cs.stonybrook.edu
David S. Warren
Computer Science Department
Stony Brook University
Email: warren@cs.stonybrook.edu
Abstract—Knowledge representation and inference in AI have
been traditionally divided between logic-based and statistical
approaches. During the past decade, the rapidly developing
area of Statistical Relational Learning aims to combine the
two frameworks for representation and inference. In many
cases, these works include probabilistic reasoning within Logic
Programming frameworks. These attempts are restricted in the
sense that they use only two-valued negation-as-failure semantics.
However, well-founded semantics is a widely accepted three-
valued-logic negation semantics scheme, which is implemented
in certain Logic Programming frameworks. In this paper we in-
troduce probabilistic inference under the well-founded semantics
scheme in a single Probabilistic Logic Programming framework,
where the uncertainty can be described using both statistical
information (probabilities) and a third logic value.
I. I NTRODUCTION
Since the early years of Logic Programming, a great effort
has been made to propose proper semantics for computing
Negation in logic programs. Among these are Clark’s comple-
tion semantics [1], and Stable model semantics [2] which form
the basis for both further development of negation semantic
approaches and comparisons among them. Another negation
semantics widely accepted in the database community is the
three-valued Well-Founded Semantics [3], which is used in
an increasing number of applications, from intelligent agents,
inheritance in object logics, to supply-chain analysis [4].
Another very active branch of logic-programming-related
research, has been to incorporate probabilistic inference in var-
ious logic programming systems. The most notable proposals
for the semantics of such systems have been made mostly
during the past decade, and their motivations and influences
come not only from the logic programming field, but also from
game theory (Independent Choice Logic, [5]) and machine
learning (PRISM, [6]). These systems have been used mostly
in problems related to knowledge representation, such as
mining large biological networks (ProbLog, [7]), modeling
dynamic environments with uncertainty and specifying agents
(Independent Choice Logic [5]).
One notable property of all three approaches is that they
handle only 2-valued negation semantics. If an atom is
Undefined with a particular probability, then in that percent-
age of the cases it will be inconsistent to even consider that
choice. The following example further clarifies the motivation
This work was supported in part by ONR grant N000140710928
behind our work; it is a modified version of the well-known
“Barber” example which Russell used to explain his paradox
in Principia Mathematica [8]:
Example I.1. A barber has his shop in a small city. There
is a probability with which he shaves people living close, in
medium distance or far away from his shop, provided that
they don’t shave themselves. Let us assume that there is a
probability distribution which assigns a lower probability to
shave someone who lives further away, than to shave someone
who lives closer. The following program models this situation:
shaves(barber,Y):- lives_close(Y),
¬ shaves(Y,Y).
lives_close(Y):- dist_from_barber(Y,D),
succ_with_prob(D).
succ_with_prob/1 is the probabilistic predicate; it suc-
ceeds with a probability according to whether Y lives close,
in medium range, or far from the barber’s shop. For example,
if alan lives close to the barber’s shop, then there would
be a dist_from_barber(alan,close) fact present in
the database, and lives_close(alan) will be True
with the probability with which the barber shaves people
living close to his shop. The noteworthy question now is
“who shaves the barber, and with what probability?”. If there
were no probabilities in the program, we would only have
a rule saying shaves(barber,Y):- ¬ shaves(Y,Y),
the Well-Founded model would assign Undefined to the
predicate shaves(barber,barber) and True or False
to others depending on whether they did or did not shave them-
selves. Adding probabilities and evaluating the query again,
will assign some probability to shaves(barber,barber)
being Undefined as well. What is meant here is not that
the barber shaves himself with some probability, rather that
in that particular percentage of the cases, it’s inconsistent to
even consider the possibility of the barber shaving himself.
We want to design and implement a system which will be
able to compute the Well-Founded Semantics of probabilistic
logic programs. Our goal is to be able to write and evaluate
logic programs similar to the way they are written in PRISM
[6], with the semantics given using Well-Founded Negation.
In order to accomplish this, we provide a straightforward
extension of PRISM semantics to normal logic programs, and
2012 IEEE 42nd International Symposium on Multiple-Valued Logic
0195-623X/12 $26.00 © 2012 IEEE
DOI 10.1109/ISMVL.2012.26
232