proposition: Lemma Intersection_Complement: forall A (P Q: Ensemble A), Same_set A (Intersection A (Complement A P) (Complement A Q)) (Complement A (Union A P Q)).
proof: Proof. intros. unfold Same_set, Included, Complement, Ensembles.In. split; intros. + rewrite Union_spec. rewrite Intersection_spec in H. tauto. + rewrite Union_spec in H. rewrite Intersection_spec. tauto. Qed.
imports: Coq.Classes.Morphisms Coq.Classes.Equivalence Coq.Sets.Ensembles Coq.Sets.Constructive_sets CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext