【演習問題2:パズル``アガサ殺人事件'' (TPTP/PUZ001-1)】

true-->lives(agatha),lives(butler),lives(charles).
true-->hates(agatha,agatha),hates(agatha,charles).
true-->killed(butler,agatha);killed(charles,agatha).

killed(A,B)-->n_richer(A,B).
killed(A,B)-->hates(A,B).
hates(agatha,A)-->hates(butler,A).
lives(A),n_richer(A,agatha)-->hates(butler,A).

hates(agatha,A),hates(charles,A)-->false.
hates(A,agatha),hates(A,butler),hates(A,charles)-->false.