Consider Figure 1.8, the family program, from the Bratko textook.
% Figure 1.8 The family program. parent( pam, bob). % Pam is a parent of Bob parent( tom, bob). parent( tom, liz). parent( bob, ann). parent( bob, pat). parent( pat, jim). female( pam). % Pam is female male( tom). % Tom is male male( bob). female( liz). female( ann). female( pat). male( jim). offspring( Y, X) :- % Y is an offspring of X if parent( X, Y). % X is a parent of Y mother( X, Y) :- % X is the mother of Y if parent( X, Y), % X is a parent of Y and female( X). % X is female grandparent( X, Z) :- % X is a grandparent of Z if parent( X, Y), % X is a parent of Y and parent( Y, Z). % Y is a parent of Z sister( X, Y) :- % X is a sister of Y if parent( Z, X), parent( Z, Y), % X and Y have the same parent and female( X), % X is female and different( X, Y). % X and Y are different predecessor( X, Z) :- % Rule prl: X is a predecessor of Z parent( X, Z). predecessor( X, Z) :- % Rule pr2: X is a predecessor of Z parent( X, Y), predecessor( Y, Z).And add the following facts to the family program.
different(X,Y) :- X\=Y.
parent(pam,joe).
parent(tom,joe).
male(joe).
parent(pam,john).
male(john).
parent(sue,ann).
parent(sue,pat).
female(sue).
parent(george,mary).
parent(george,sue).
parent(george,marge).
male(george).
parent(martha,mary).
parent(martha,sue).
parent(martha,marge).
female(martha).
female(mary).
female(sue).
female(marge).
parent(joe,keith).
male(keith).
married_couple(tom,pam).
married_couple(bob,sue).
married_couple(joe,mary).
married_couple(george,martha).
Students taking the course for graduate credit add the following rule. This is optional for undergraduates.
UP to CSCI 541 assignments document?