(*************)
Definition gcdZ (a b : Z) := pi1 Z (is_gcdZ a b) (gcdZ_exists a b).

(* Specifications: *)
Theorem gcdZ_correct : forall a b : Z, is_gcdZ a b (gcdZ a b).
Lemma positive_is_gcdZ : forall a b d : Z, is_gcdZ a b d -> leZ OZ d.
Lemma unicity_is_gcdZ : forall a b d1 d2 : Z, is_gcdZ a b d1 -> is_gcdZ a b d2 -> d2 = d1.
Lemma gcdZ_is_gcdZ : forall a b d : Z, is_gcdZ a b d -> d = gcdZ a b.
Lemma gcd_modZ : forall a b q r : Z, b <> OZ -> is_diveuclZ a b q r -> gcdZ r b = gcdZ b a.