/* 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).