proposition: Lemma gen_has_index_reset: forall (g: LGraph) gen1 gen2 idx, gen_has_index (reset_graph gen1 g) gen2 idx <-> gen_has_index g gen2 idx /\ gen1 <> gen2.
proof: Proof. intros. unfold gen_has_index. unfold nth_gen. simpl. rewrite remove_ve_glabel_unchanged. destruct (Nat.eq_dec gen1 gen2). - subst. rewrite reset_nth_gen_info_same. simpl. intuition auto with *. - rewrite reset_nth_gen_info_diff by auto. intuition auto. Qed.
imports: Coq.ZArith.ZArith Coq.Program.Basics Coq.micromega.Lia compcert.lib.Integers compcert.common.Values VST.veric.base VST.veric.Clight_lemmas VST.veric.val_lemmas VST.veric.shares VST.msl.seplog VST.msl.shares VST.zlist.sublist VST.floyd.coqlib3 VST.floyd.functional_base VST.floyd.data_at_rec_lemmas VST.zlist.list_solver CertiGraph.lib.EquivDec_ext CertiGraph.lib.List_ext CertiGraph.graph.graph_model CertiGraph.graph.graph_gen