commit 5b485c8fadc300265a3bc635e501a050084e240e Author: Super_JK Date: Sat Mar 5 22:03:54 2022 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/TP1.pl b/TP1.pl new file mode 100644 index 0000000..98749b1 --- /dev/null +++ b/TP1.pl @@ -0,0 +1,80 @@ +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). \ No newline at end of file