intros; cut (posOZ q = oppZ (negOZ q)); intros. rewrite H0.
elim (tech_opp_pos_negZ n); intros; elim H1.
rewrite (mult_opp_opp Z IdZ addZ multZ OZ oppZ Z_ring (pos n) (negOZ q) I I).
exact (tech_div2 n0 n q H).
elim q; reflexivity.
Qed.

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