intros.
intro.
apply H0.
eapply (Set_add1 (B:=B) (x:=x) (y:=y)); auto.
Qed.
End ListSetLemmas.
Hint Unfold IsEmpty Included.
Hint Resolve Set_remove2 Set_add1 AllWaysIncluded Set_union1 Set_union2
Set_add2.

Lemma Listeq_dec :
forall A : Set,
(forall a b : A, {a = b} + {a <> b}) ->
forall x y : list A, {x = y} + {x <> y}.