% Add lots and lots of other family relationship definitions, like % brother, sister, mother, uncle, grandparent, cousin, descandant, blood-relation % related, etc, etc. % be careful not to get confused over whether uncle(A, B) means % "A's uncle is B" or "A is the uncle of B". male(tim-ant). female(jill-emu). married(tim-ant, jill-emu). male(jim-bat). female(meg-gum). married(jim-bat, meg-gum). male(joe-ant). parent(joe-ant, tim-ant). parent(joe-ant, jill-emu). male(mike-ant). parent(mike-ant, tim-ant). parent(mike-ant, jill-emu). female(pam-ant). parent(pam-ant, tim-ant). parent(pam-ant, jill-emu). female(amy-bat). parent(amy-bat, jim-bat). parent(amy-bat, meg-gum). male(bill-bat). parent(bill-bat, jim-bat). parent(bill-bat, meg-gum). married(joe-ant, amy-bat). female(mab-cat). married(mike-ant, mab-cat). male(matt-dog). married(pam-ant, matt-dog). female(emma-ham). married(bill-bat, emma-ham). female(ann-ant). parent(ann-ant, joe-ant). parent(ann-ant, amy-bat). male(bob-ant). parent(bob-ant, joe-ant). parent(bob-ant, amy-bat). male(jim-ant). parent(jim-ant, joe-ant). parent(jim-ant, amy-bat). male(joe-dog). parent(joe-dog, pam-ant). parent(joe-dog, matt-dog). female(sal-dog). parent(sal-dog, pam-ant). parent(sal-dog, matt-dog). female(moll-bat). parent(moll-bat, bill-bat). parent(moll-bat, emma-ham). male(bob-fig). married(ann-ant, bob-fig). male(tim-fig). married(bob-ant, tim-fig). female(pat-hat). married(jim-ant, pat-hat). male(tom-ink). married(moll-bat, tom-ink). female(mary-ant). parent(mary-ant, jim-ant). parent(mary-ant, pat-hat). female(amy-ant). parent(amy-ant, jim-ant). parent(amy-ant, pat-hat). male(jim-ink). parent(jim-ink, moll-bat). parent(jim-ink, tom-ink). son(A, B) :- male(B), parent(B, A). ancestor(A, B) :- parent(A, B). ancestor(A, B) :- parent(C, B), ancestor(A, C). % but not % ancestor(A, B) :- ancestor(A, C), parent(C, B).