generalize (euclide a b H);intros.
elim s;intro q;intro.
elim p;intro r;intro.
tauto.
Qed.

(** a mod b where b<>0 *)
Lemma rem_euclide : forall (a b:nat)(H:(b<>O)),(remainder_euclide a b H)<b.
unfold remainder_euclide;intros.