proposition: Lemma graph_vertex_lmc_ramif: forall g v new_v, graph_has_v g v -> graph_rep g |-- vertex_rep (nth_sh g (vgeneration v)) g v * (vertex_rep (nth_sh g (vgeneration v)) (lgraph_mark_copied g v new_v) v -* graph_rep (lgraph_mark_copied g v new_v)).
proof: Proof. intros. destruct H. sep_apply (graph_gen_lmc_ramif g v new_v H). destruct v as [gen index]. simpl vgeneration in *. simpl vindex in *. sep_apply (gen_vertex_lmc_ramif g gen index new_v H0). cancel. apply wand_frame_ver. Qed.
imports: VST.veric.compcert_rmaps VST.msl.shares VST.msl.wand_frame VST.concurrency.conclib CertiGraph.lib.List_ext CertiGraph.msl_ext.log_normalize CertiGraph.msl_ext.ramification_lemmas CertiGraph.graph.graph_model CertiGraph.CertiGC.GCGraph CertiGraph.CertiGC.env_graph_gc CertiGraph.msl_ext.iter_sepcon Coq.Lists.List