proposition: Lemma va_reachable_through_partialgraph_eq: forall (g1 g2 : Graph) S, Included (reachable_through_set g1 S) (vguard g1) -> Included (reachable_through_set g2 S) (vguard g2) -> ((predicate_partial_labeledgraph g1 (reachable_through_set g1 S)) ~=~ (predicate_partial_labeledgraph g2 (reachable_through_set g2 S)))%LabeledGraph -> reachable_through_vertices_at S g1 = reachable_through_vertices_at S g2.
proof: Proof. intros. apply va_reachable_through_vertices_identical2. apply GSG_PartialGraphPreserve2; auto. + hnf; intros. apply reachable_through_set_foot_valid in H2; auto. + hnf; intros. apply reachable_through_set_foot_valid in H2; auto. Qed.
imports: Coq.Logic.Classical VST.msl.seplog VST.msl.log_normalize VST.msl.ramification_lemmas CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext CertiGraph.lib.EnumEnsembles CertiGraph.lib.List_ext CertiGraph.lib.Relation_ext CertiGraph.lib.Equivalence_ext CertiGraph.lib.Morphisms_ext CertiGraph.msl_ext.log_normalize CertiGraph.msl_ext.iter_sepcon CertiGraph.msl_ext.ramification_lemmas CertiGraph.msl_ext.abs_addr CertiGraph.msl_ext.seplog CertiGraph.graph.graph_model CertiGraph.graph.graph_gen CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_computable CertiGraph.graph.reachable_ind CertiGraph.graph.subgraph2 CertiGraph.graph.dag CertiGraph.graph.FiniteGraph