```    1/*
2A simple Bayesian network from Figure 2 in
3J. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs with annotated
4disjunctions. In International Conference on Logic Programming,
5volume 3131 of LNCS, pages 195.209. Springer, 2004.
6*/
7:- use_module(library(pita)).    8
9:- if(current_predicate(use_rendering/1)).   10:- use_rendering(c3).   11:- endif.   12
13:- pita.   14
17burg(t):0.1; burg(f):0.9.
18% there is a burglary with probability 0.1
19earthq(t):0.2; earthq(f):0.8.
20% there is an eartquace with probability 0.2
21alarm(t):-burg(t),earthq(t).
22% if there is a burglary and an earthquake then the alarm surely goes off
23alarm(t):0.8 ; alarm(f):0.2:-burg(t),earthq(f).
24% it there is a burglary and no earthquake then the alarm goes off with probability 0.8
25alarm(t):0.8 ; alarm(f):0.2:-burg(f),earthq(t).
26% it there is no burglary and an earthquake then the alarm goes off with probability 0.8
27alarm(t):0.1 ; alarm(f):0.9:-burg(f),earthq(f).
28% it there is no burglary and no earthquake then the alarm goes off with probability 0.1
29
?- `prob(alarm(t),Prob)`. % what is the probability that the alarm goes off? % expected result 0.30000000000000004 ?- `prob(alarm(f),Prob)`. % what is the probability that the alarm doesn't go off? % expected result 0.7000000000000002 ?- `prob(alarm(t),Prob)`,`bar(Prob,C)`. % what is the probability that the alarm goes off? % expected result 0.30000000000000004 ?- `prob(alarm(f),Prob)`,`bar(Prob,C)`. % what is the probability that the alarm doesn't go off? % expected result 0.7000000000000002