proposition: Lemma Intersection_Union_distr_l: forall A P Q R, Same_set (Intersection A (Union A Q R) P) (Union A (Intersection A Q P) (Intersection A R P)).
proof: Proof. intros. rewrite Same_set_spec; intro x. rewrite !Intersection_spec, !Union_spec, !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