/* c:/users/gregoire fouillard/dropbox/efrei_2013_2014/ia/fichiers_prolog */
homme(bruno).
homme(simon).
homme(auguste).
homme(eric).
homme(christian).
homme(marcel).
homme(gerard).
homme(franck).
homme(charles).
femme(marie).
femme(noemie).
femme(rolande).
femme(augustine).
femme(solange).
femme(christine).
femme(lea).
femme(gisele).
femme(monique).
femme(sonya).
femme(amandine).
mere(marie,bruno).
mere(marie,rolande).
mere(marie,augustine).
mere(marie,eric).
mere(noemie,christian).
mere(noemie,marcel).
mere(rolande,gerard).
mere(rolande,franck).
mere(solange,gisele).
mere(christine,monique).
mere(christine,sonya).
mere(christine,amandine).
mere(lea,charles).
pere(simon,bruno).
pere(simon,rolande).
pere(simon,augustine).
pere(simon,eric).
pere(bruno,christian).
pere(bruno,marcel).
pere(christian,gisele).
pere(auguste,gerard).
pere(auguste,franck).
pere(gerard,monique).
pere(gerard,sonya).
pere(gerard,amandine).
pere(franck,charles).

parent(X,Y) :- mere(X,Y).
parent(X,Y) :- pere(X,Y).
grand_parent(X,Y) :- parent(X,Z) , parent(Z,Y).
est_mere(X) :- mere(X,_).
est_pere(X) :- pere(X,_).
enfant(X,Y) :- pere(Y,X).
enfant(X,Y) :- mere(Y,X).
fille(X,Y) :- enfant(X,Y) , femme(X).
fils(X,Y) :- enfant(X,Y) , homme(X).
soeur(X,Y) :- parent(Z,X) , parent(Z,Y) , femme(X).
frere(X,Y) :- parent(Z,X) , parent(Z,Y) , homme(X).
frere_ou_soeur(X,Y) :- soeur(X,Y).
frere_ou_soeur(X,Y) :- frere(X,Y).
oncle(X,Y) :- frere_ou_soeur(X,Z) , parent(Z,Y), homme(X).
tante(X,Y) :- frere_ou_soeur(X,Z) , parent(Z,Y), femme(X).
cousin(X,Y) :- parent(Z,X) , parent(W,Y) , frere_ou_soeur(Z,W).
ancetre(X,Y) :- parent(X,Z) , grand_parent(Z,Y). 