simple induction x.
auto.
intros.
cut ({a = a0} + {a <> a0}).
intro Eq_dec; elim Eq_dec.
intro Eq; rewrite Eq; left; auto with datatypes.
elim H.
auto with datatypes.
unfold not in |- *; intros; right; intro.
elim H0; auto.
auto.
Qed.

Lemma set_add_intro2 :
forall (a b : A) (x : set), a = b -> set_In a (set_add b x).