Module Import D := CoqMSetDecide.WDecide_fun E X.

(* Specifications: *)
Lemma notin_empty_1 : ~ In x empty.
Lemma notin_add_1 : ~ In y (add x s) -> ~ E.eq x y.
Lemma notin_add_1' : ~ In y (add x s) -> x <> y.
Lemma notin_add_2 : ~ In y (add x s) -> ~ In y s.
Lemma notin_add_3 : ~ E.eq x y -> ~ In y s -> ~ In y (add x s).
Lemma notin_singleton_1 : ~ In y (singleton x) -> ~ E.eq x y.
Lemma notin_singleton_1' : ~ In y (singleton x) -> x <> y.
Lemma notin_singleton_2 : ~ E.eq x y -> ~ In y (singleton x).
Lemma notin_remove_1 : ~ In y (remove x s) -> E.eq x y \/ ~ In y s.
Lemma notin_remove_2 : ~ In y s -> ~ In y (remove x s).
Lemma notin_remove_3 : E.eq x y -> ~ In y (remove x s).
Lemma notin_remove_3' : x = y -> ~ In y (remove x s).
Lemma notin_union_1 : ~ In x (union s s') -> ~ In x s.
Lemma notin_union_2 : ~ In x (union s s') -> ~ In x s'.
Lemma notin_union_3 : ~ In x s -> ~ In x s' -> ~ In x (union s s').
Lemma notin_inter_1 : ~ In x (inter s s') -> ~ In x s \/ ~ In x s'.
Lemma notin_inter_2 : ~ In x s -> ~ In x (inter s s').
Lemma notin_inter_3 : ~ In x s' -> ~ In x (inter s s').
Lemma notin_diff_1 : ~ In x (diff s s') -> ~ In x s \/ In x s'.
Lemma notin_diff_2 : ~ In x s -> ~ In x (diff s s').
Lemma notin_diff_3 : In x s' -> ~ In x (diff s s').