Add Morphism add with signature E.eq ==> Subset ++> Subset as add_s_m.
Add Morphism remove with signature E.eq ==> Subset ++> Subset as remove_s_m.
Add Morphism union with signature Subset ++> Subset ++> Subset as union_s_m.
Add Morphism inter with signature Subset ++> Subset ++> Subset as inter_s_m.
Add Morphism diff with signature Subset ++> Subset --> Subset as diff_s_m.
(* [fold], [filter], [for_all], [exists_] and [partition] cannot be proved morphism without additional hypothesis on [f]. For instance: *)

Lemma filter_equal : forall f, compat_bool E.eq f ->
forall s s', s[=]s' -> filter f s [=] filter f s'.