filho(bob,pam). 
filho(bob,tom).
filho(liz,tom).
filho(ann,bob).
filho(pat,bob).
filho(jim,pat).

mulher(pam).
mulher(liz).
mulher(ann).
mulher(pat).

homem(jim).
homem(tom).
homem(bob).

progenitor(X,Y):- filho(Y,X).

avo(Z,X):- filho(X,Y), filho(Y,Z).
neto(X,Z):- avo(Z,X).
mae(X,Y):- filho(Y,X), mulher(X).
irma(Y,Z):- filho(Y,X), filho(Z,X),mulher(Y),mulher(Z),Y\=Z.

antecessor(X,Y):- filho(Y,X).
antecessor(X,Y):- filho(Y,Z), antecessor(X,Z).
