(* OZ *)
simpl in |- *; reflexivity.
(* pos n *)
intros; simpl in |- *; reflexivity.
(* neg n *)
intros; elim n.
(* neg O *)
simpl in |- *; symmetry  in |- *.
elim (addZ_opposite y I); intros. elim H0; intros; elim H2; intros; exact H4.
(* neg (S n0) *)
intros; unfold succZ in |- *; rewrite (tech_mult_negZ n0 y).
elim (addZ_associativity (multZ (neg n0) y) (oppZ y) y).
elim (addZ_opposite y I); intros. elim H1; intros; elim H3; intros. rewrite H5.
symmetry  in |- *; exact (add_OZ (multZ (neg n0) y)).
Qed.

(* Specifications: *)
(*****************)
Lemma mult_predZ_l :
forall x y : Z, multZ (predZ x) y = addZ (multZ x y) (oppZ y).
(*****************)
Lemma mult_succZ_r : forall x y : Z, multZ x (succZ y) = addZ (multZ x y) x.
intros; elim x.