Definition Equal (s s': t)  := Equal' (proj1_sig s) (proj1_sig s').Definition Subset (s s': t) := Subset' (proj1_sig s) (proj1_sig s').Definition Empty (s: t) := Empty' (proj1_sig s).Definition For_all (P : elt -> Prop) (s: t) := For_all' P (proj1_sig s).Definition Exists (P : elt -> Prop) (s: t) := Exists' P  (proj1_sig s).Definition eq : t -> t -> Prop := Equal.

(* Specifications: *)
Lemma eq_equiv: Equivalence eq.
Lemma mem_spec : forall s x, mem x s = true <-> In x s.
Lemma empty_spec : Empty empty.
Lemma is_empty_spec : forall s, is_empty s = true <-> Empty s.
Lemma add_spec : forall s x y, In y (add x s) <-> E.eq y x \/ In y s.