intros.
elim
(gcd_unicity_apart_sign a b d1 d2 (gcdZ_is_gcd a b d1 H)
(gcdZ_is_gcd a b d2 H0)).
intros; exact H1.
intros;
apply
(le_opp_OZ2 d2 d1 H1 (positive_is_gcdZ a b d2 H0)
(positive_is_gcdZ a b d1 H)).
Qed.

(* Specifications: *)
(*****************)
Lemma gcdZ_is_gcdZ : forall a b d : Z, is_gcdZ a b d -> d = gcdZ a b.
intros. apply (unicity_is_gcdZ a b (gcdZ a b) d (gcdZ_correct a b) H).