entier(N,N). entier(N,M) :- N1 is N+1, entier(N1,M). racine(N,R) :- entier(0,R), R2 is R*R, R2 =< N, Rplus is (R+1)*(R+1), N < Rplus. liste(1,[1]). liste(N,[N|L]) :- M is N-1, liste(M,L). genere(N,L) :- N1 is N*N, liste(N1,L). insetion(X,L,[X|L]). insertion(X,[Y|L1],[Y|L2]) :- insertion(X,L1,L2). permutation([T|L],R) :-