murdered(X,Y,Day):- motive(X,Y),owns_gun(X),no_alibi(X,Day). no_alibi(X,Day):-alibi(X,Y,Day), liar(Y). no_alibi(X,Day):-not(alibi(X,_,Day)). motive(X,Y):-interest(X,Y);revenge(X,Y). interest(X,Y):- inheritor(X,Y);owns_money(X,Y);seen_committing_crime(X,Y). alibi(luc,bernard,tue). alibi(paul,bernard,tue). alibi(louis,luc,tue). alibi(alain,luc,thu). %thursday liar(alain). revenge(paul,jean). revenge(luc,jean). inheritor(bernard, jean). inheritor(jean, louis). owns_money(louis,jean). owns_money(luc,jean). seen_committing_crime(alain,jean). owns_gun(luc). owns_gun(louis). owns_gun(alain). solve(X):- murdered(X,jean,tue).