Section ListSetLemmas.
Variable A : Set.
Hypothesis Aeq_dec : forall x y : A, {x = y} + {x <> y}.
intros.
cut (set_In x B \/ set_In x C).
intro H1; elim H1.
tauto.
auto.
eapply (set_union_elim (Aeq_dec:=Aeq_dec)); auto.
Qed.
intros.
cut (set_In x C \/ set_In x B).
intro; apply set_union_intro.
auto.
cut (set_In x B \/ set_In x C).
tauto.
eapply (set_union_elim (Aeq_dec:=Aeq_dec)).
auto.
Qed.
intro; intro; intro.
induction  B as [| a B HrecB].
auto.
simpl in |- *.
elim (Aeq_dec y a).
intros.
right.
auto.
simpl in |- *.
intro.
intro.
elim H.
intro.
left; auto.
intro.
right.
auto.
Qed.

Lemma Set_add1 :
forall (B : set A) (x y : A),
set_In x (set_add Aeq_dec y B) -> x <> y -> set_In x B.