From 5b485c8fadc300265a3bc635e501a050084e240e Mon Sep 17 00:00:00 2001 From: Super_JK Date: Sat, 5 Mar 2022 22:03:54 +0100 Subject: [PATCH] initial commit --- .gitignore | 1 + TP1.pl | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 .gitignore create mode 100644 TP1.pl 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