(** Properties of [diff] *)

(* Specifications: *)
Lemma diff_subset: subset (diff s s') s=true.
Lemma diff_subset_equal:
subset s s'=true -> equal (diff s s') empty=true.
Lemma remove_inter_singleton:
equal (remove x s) (diff s (singleton x))=true.
Lemma diff_inter_empty:
equal (inter (diff s s') (inter s s')) empty=true.
Lemma diff_inter_all:
equal (union (diff s s') (inter s s')) s=true.
Lemma diff_subset: subset (diff s s') s=true.
Lemma diff_subset_equal:
subset s s'=true -> equal (diff s s') empty=true.
Lemma remove_inter_singleton:
equal (remove x s) (diff s (singleton x))=true.
Lemma diff_inter_empty:
equal (inter (diff s s') (inter s s')) empty=true.
Lemma diff_inter_all:
equal (union (diff s s') (inter s s')) s=true.