falsify(`false').
falsify(not P) :- satisfy(P).
falsify(P and Q) :- falsify(P); falsify(Q).
falsify(P or Q) :- falsify(P), falsify(Q).
satisfy(`true').
satisfy(not P) :- falsify(P).
satisfy(P and Q) :- satisfy(P), satisfy(Q).
satisfy(P or Q) :- satisfy(P); satisfy(Q).
Question
Exercise 2.5 and 2.11