intros; elim n.
(* O *)
simpl in |- *; reflexivity.
(* S y *)
intros y H; rewrite (tech_mult_posZ y (neg m)); rewrite H.
rewrite (tech_add_neg_negZ (y * m + (y + m)) m).
elim (technical_lemma y m); reflexivity.
Qed.

(* Specifications: *)
(***********************)
Lemma tech_mult_neg_posZ :
forall n m : nat, multZ (neg n) (pos m) = neg (n * m + (n + m)).