proposition: Lemma no_dangling_dst_reset: forall g gen, no_dangling_dst g -> no_edge2gen g gen -> no_dangling_dst (reset_graph gen g).
proof: Proof. intros. unfold no_dangling_dst in *. red in H0. simpl. intros. rewrite graph_has_v_reset in *. destruct H1. rewrite get_edges_reset in H2. rewrite remove_ve_dst_unchanged. split. - apply (H v); assumption. - cut (vgeneration (dst g e) <> gen). 1: intuition auto. unfold gen2gen_no_edge in H0. destruct e as [[vgen vidx] eidx]. pose proof H2. apply get_edges_fst in H2. simpl in H2. subst v. simpl in *. apply H0; intuition auto. split; simpl; 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