(** Properties of [choose] *)

(* Specifications: *)
Lemma choose_mem_3:
is_empty s=false -> {x:elt|choose s=Some x /\ mem x s=true}.
Lemma choose_mem_4: choose empty=None.
(** Properties of [add] *)
Lemma add_mem_3:
mem y s=true -> mem y (add x s)=true.
Lemma add_equal:
mem x s=true -> equal (add x s) s=true.
Lemma choose_mem_3:
is_empty s=false -> {x:elt|choose s=Some x /\ mem x s=true}.
Lemma choose_mem_4: choose empty=None.
(** Properties of [add] *)
Lemma add_mem_3:
mem y s=true -> mem y (add x s)=true.
Lemma add_equal:
mem x s=true -> equal (add x s) s=true.