proposition: Lemma reachable_partialgraph_reachable (g: PreGraph V E): forall (n: V), Included (reachable g n) (reachable (predicate_partialgraph g (reachable g n)) n).
proof: Proof. intros. intro; intros. unfold Ensembles.In in *. rewrite reachable_ind2_reachable in H. induction H. + apply reachable_refl. simpl; unfold predicate_vvalid. split; auto. apply reachable_refl; auto. + apply reachable_edge with y; auto. apply partialgraph_edge; auto. rewrite reachable_ind2_reachable; auto. apply reachable_edge with y; auto. rewrite reachable_ind2_reachable; auto. Qed.
imports: Coq.Arith.Arith Coq.Logic.ProofIrrelevance Coq.Logic.FunctionalExtensionality Coq.Classes.Morphisms Coq.Classes.Equivalence 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 CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_ind CertiGraph.graph.graph_gen CertiGraph.graph.graph_relation