proposition: Lemma heaprel_reset: forall h gen, heap_relation h (reset_nth_heap gen h).
proof: Proof. intros. red. unfold gen_size, nth_space. simpl. destruct (le_lt_dec (length (spaces h)) gen). - rewrite reset_nth_space_overflow by assumption. split; intros; reflexivity. - split; intros; destruct (Nat.eq_dec n gen). + subst. rewrite reset_nth_space_same; simpl; [reflexivity | assumption]. + rewrite reset_nth_space_diff; [reflexivity | assumption]. + subst. rewrite reset_nth_space_same; simpl; [reflexivity | assumption]. + rewrite reset_nth_space_diff; [reflexivity | assumption]. 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