proposition: Lemma Prop_join_assoc: forall A (P1 P2 P3 Q R: A -> Prop), Prop_join P1 Q P2 -> Prop_join P2 R P3 -> Prop_join P1 (Union _ Q R) P3.
proof: Proof. unfold Prop_join. intros. destruct H, H0. split; intro a; rewrite Union_spec. + rewrite H0, H. tauto. + intros. destruct H4; firstorder. Qed.
imports: Coq.Classes.Morphisms Coq.Classes.Equivalence Coq.Sets.Ensembles Coq.Sets.Constructive_sets CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext