This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
TP-PL/TP1.pl
2022-03-05 22:03:54 +01:00

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