proposition: Lemma predicate_partialgraph_gpredicate_subgraph (g: Graph) (p: V -> Prop): (predicate_partialgraph g p) ~=~ (gpredicate_subgraph p (Intersection _ (weak_edge_prop p g) (evalid g)) g).
proof: Proof. split; [| split; [| split]]; simpl; intros. + rewrite Intersection_spec. reflexivity. + rewrite !Intersection_spec. unfold predicate_weak_evalid. unfold weak_edge_prop. tauto. + auto. + auto. Qed.
imports: Coq.Logic.ProofIrrelevance Coq.Sets.Ensembles Coq.Sets.Finite_sets Coq.Classes.Morphisms CertiGraph.lib.Coqlib CertiGraph.lib.Ensembles_ext CertiGraph.lib.relation_list CertiGraph.lib.List_ext CertiGraph.lib.Equivalence_ext CertiGraph.lib.EquivDec_ext VST.msl.Coqlib2 Coq.Lists.List CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_ind