proposition: Lemma resp_Disjoint: forall {A B: Type} (X Y: Ensemble B) (f: A -> B), Disjoint _ X Y -> Disjoint _ (respectful_set X f) (respectful_set Y f).
proof: Proof. intros. rewrite <- Included_Complement_Disjoint in *. rewrite <- resp_Complement. apply resp_Included; auto. Qed.
imports: Coq.Classes.Morphisms Coq.Classes.Equivalence Coq.Sets.Ensembles Coq.Sets.Constructive_sets CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext