split.
split;try (apply one_min_div).
intros.
elim H1;intros.
case (rel_prime_dec b d');intro.
assert (divides c d').
apply gauss with b;trivial.
elim H0;intros.
apply H6;unfold is_cd;tauto.
generalize (gcd_is_gcd b d');intro.
assert ((gcd b d')<>1).
intro;apply n.
unfold rel_prime;rewrite <- H5;trivial.
generalize (gcd_div_l (gcd b d') b d' H4);intro.
generalize (gcd_div_r (gcd b d') b d' H4);intro.
assert (divides a (gcd b d')).
apply divides_trans with d';[apply H2 | apply H7].
elim H5.
apply divides_antisym.
apply one_min_div.
elim H;intros;apply H10;unfold is_cd;tauto.
Qed.

(* Specifications: *)
(** if gcd(a,b*c)=1 then gcd(a,b)=1 and gcd(a,c)=1 *)
Lemma mult_rel_prime : forall (a b c:nat),(rel_prime a (b*c))->((rel_prime a b)/\(rel_prime a c)).
intros.