Instance proper_set_incl A :
Morphisms.Proper (set_eq ==> set_eq ==> Basics.impl) (@set_incl A).
Instance eq_setI U : Proper (set_eq ==> set_eq ==> set_eq) (@setI U).

Lemma setI_setU_distr {U} (s1 s2 s3 : set U) :
((s1 :|: s2) :&: s3) <--> ((s1 :&: s3) :|: (s2 :&: s3)).