:- use_module(library(pfl)).
:- set_solver(hve).
%:- set_solver(ve).
%:- set_solver(jt).
%:- set_solver(bdd).
%:- set_solver(bp).
%:- set_solver(cbp).
%:- set_solver(gibbs).
%:- set_solver(lve).
%:- set_solver(lkc).
%:- set_solver(lbp).
bayes burglary ; burglary_table ; [].
bayes earthquake ; earthquake_table ; [].
bayes alarm, burglary, earthquake ; alarm_table ; [].
bayes john_calls, alarm ; john_calls_table ; [].
bayes mary_calls, alarm ; mary_calls_table ; [].
burglary_table(
[ 0.001,
0.999 ]).
earthquake_table(
[ 0.002,
0.998 ]).
alarm_table(
[ 0.95, 0.94, 0.29, 0.001,
0.05, 0.06, 0.71, 0.999 ]).
john_calls_table(
[ 0.9, 0.05,
0.1, 0.95 ]).
mary_calls_table(
[ 0.7, 0.01,
0.3, 0.99 ]).
% ?- john_calls(J), mary_calls(t).