%expo/3 :
expo(N,zero,zero) :- nat(N).
expo(zero,N,s(zero)) :- nat(N) , N \== zero.
expo(s(N),X,Y) :- expo(N,X,Z), mult(X,Z,Y).
/*
Exemple :
?- TROIS = s(s(s(zero))) , CINQ = s(s(s(s(s(zero)))),
expo(TROIS , CINQ , TROISEXP5).
TROISEXP5= s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(
s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(
s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(
s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(
s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(zero)))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
yes
*/