Please send questions to
st10@humboldt.edu .
/* this example is adapted from Clocksin and Mellish,
"Programming in Prolog", Springer-Verlag, 1981. */
female(victoria).
female(alice).
male(albert).
male(edward).
/* Child has parents Mother and Father */
has_parents(edward, victoria, albert).
has_parents(alice, victoria, albert).
/* Has_sis has sister Is_sis */
has_sister(Has_sis, Is_sis) :- female(Is_sis),
has_parents(Has_sis, M, F),
has_parents(Is_sis, M, F),
\+(Has_sis==Is_sis).
is_parent(P) :- has_parents(_, P, _).
is_parent(P) :- has_parents(_, _, P).