proposition: Lemma GSG_VGenPreserve: forall P (G: LabeledGraph V E DV DE DG) x lx gx, gx = vgamma (Graph_PointwiseGraph (labeledgraph_vgen G x lx)) x -> Included P (vguard G) -> Included P (vguard (labeledgraph_vgen G x lx)) -> vertices_identical P (Graph_PointwiseGraph (labeledgraph_vgen G x lx)) (spatialgraph_vgen (Graph_PointwiseGraph G) x gx).
proof: Proof. intros. rewrite vertices_identical_spec. intros. simpl. destruct_eq_dec x x0. + subst; auto. + apply compute_vgamma_local; auto. - apply H1; auto. - apply H0; auto. - simpl. unfold update_vlabel. destruct_eq_dec x x0; congruence. - simpl; intros. tauto. 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