elim H;intros.
split;try tauto.
intros.
case (eq_nat_dec d 1);intro;try tauto.
case (eq_nat_dec d p);intro;try tauto.
elim (H1 d n n0 H2).
elim H;intros.
split;try tauto.
intros;intro.
elim (H1 a H4);auto.
Qed.

(* Specifications: *)
(** a number n is either prime or not (it is decidable) *)
Lemma prime_dec : forall (n:nat),{is_prime n}+{~(is_prime n)}.
intro.