elim (gcd_exists_prod (a,b)).
simpl;intro d;intro;exists d;trivial.
Qed.
(** take the first projection of the proof *)
Definition gcd (a b:nat) := let (d,_):=(gcd_exists a b) in d.

(* Specifications: *)
(** the gcd is the gcd! *)
Lemma gcd_is_gcd : forall (a b:nat),(is_gcd (gcd a b) a b).
intros.