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_ext : forall f f', compat_bool E.eq f -> (forall x, f x = f' x) ->
forall s s', s[=]s' -> filter f s [=] filter f' s'.