%divisionEntiere/4 : retourne les deux valeurs ...

divisionEntiere(A,B , zero,A) :- infe(A,B).
divisionEntiere(A,B , Q,R) :-
          moins(A,B , NA),
          divisionEntiere(NA,B , NQ,R),
          addi(s(zero),NQ,Q).

%divi/3

divi(A,B , Q) :- divisionEntiere(A,B , Q,_).

%modu/3

modu(A,B , R) :- divisionEntiere(A,B , _,R).

/*

Exemples :

?- QUINZE = s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(zero))))))))))))))) ,
   HUIT = s(s(s(s(s(s(s(s(zero)))))))),
   divi(QUINZE , HUIT , UN).

QUINZE = s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(zero)))))))))))))))

HUIT = s(s(s(s(s(s(s(s(zero))))))))

UN = s(zero)

yes

?- QUINZE = s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(zero))))))))))))))) ,
   HUIT = s(s(s(s(s(s(s(s(zero)))))))),
   modu(QUINZE , HUIT , SEPT).

QUINZE = s(s(s(s(s(s(s(s(s(s(s(s(s(s(s(zero)))))))))))))))

HUIT = s(s(s(s(s(s(s(s(zero))))))))

SEPT = s(s(s(s(s(s(s(zero)))))))

yes

*/