80 lines
1009 B
Prolog
80 lines
1009 B
Prolog
homme(adrien).
|
|
homme(hugo).
|
|
homme(bernard).
|
|
homme(alain).
|
|
homme(guy).
|
|
homme(pierre).
|
|
|
|
femme(veronique).
|
|
|
|
parent(adrien,hugo).
|
|
parent(hugo,bernard).
|
|
parent(hugo,alain).
|
|
parent(adrien,guy).
|
|
parent(guy,pierre).
|
|
parent(guy,veronique).
|
|
|
|
sparent(X,Y):-
|
|
parent(P,X),
|
|
parent(P,Y),
|
|
X \= Y.
|
|
|
|
frere(X,Y):-
|
|
homme(X),
|
|
sparent(X,Y).
|
|
|
|
soeur(X,Y):-
|
|
femme(X),
|
|
sparent(X,Y).
|
|
|
|
friterie(X,Y):-
|
|
(frere(X,Y);soeur(X,Y)).
|
|
|
|
|
|
neuneu(X,Y):-
|
|
parent(P,X),
|
|
friterie(P,Y).
|
|
|
|
niece(X,Y):-
|
|
femme(X),
|
|
neuneu(X,Y).
|
|
|
|
neveu(X,Y):-
|
|
homme(X),
|
|
neuneu(X,Y).
|
|
|
|
cous(X,Y):-
|
|
parent(P,X),
|
|
friterie(P,Z),
|
|
parent(Z,Y).
|
|
|
|
oncle(X,Y):-
|
|
frere(P,X),
|
|
parent(P,Y).
|
|
|
|
tante(X,Y):-
|
|
soeur(P,X),
|
|
parent(P,Y).
|
|
|
|
cousin(X,Y):-
|
|
homme(X),
|
|
cous(X,Y).
|
|
|
|
cousine(X,Y):-
|
|
femme(X),
|
|
cous(X,Y).
|
|
|
|
ancetre(X,Y):-
|
|
parent(X,Y).
|
|
|
|
ancetre(X,Y):-
|
|
parent(X,Z),
|
|
ancetre(Z,Y).
|
|
|
|
ancetre(X,Y,0):-
|
|
ancetre(X,Y).
|
|
|
|
ancetre(X,Y,N):-
|
|
parent(X,Z),
|
|
M is N - 1,
|
|
ancetre(Z,Y,M). |