intros n q r; elim r.
(* O *)
unfold posOZ in |- *; unfold oppZ in |- *; rewrite (add_OZ (pos n));
elim (minus_n_O n).
reflexivity.
(* S y *)
intros y H; unfold posOZ in |- *; unfold oppZ in |- *; symmetry  in |- *.
exact (tech_add_pos_neg_posZ n y (gt_S_n y n H0)).
Qed.

(* Specifications: *)
(**************)
Lemma tech_div3 :
forall n0 n q r : nat,
S n0 = q * S n + r ->
S n > r -> neg n0 = addZ (multZ (pos n) (neg q)) (pos (n - r)).