proposition: Lemma NoDup_rev: forall {A: Type} (l: list A), NoDup l -> NoDup (rev l).
proof: Proof. induction l; intros. simpl; auto. simpl. apply NoDup_app_inv. apply IHl. apply NoDup_cons_1 in H; auto. apply NoDup_cons. unfold not; intros; contradiction. apply NoDup_nil. intros. apply in_rev in H0. unfold not; intros. destruct H1. subst a. apply NoDup_cons_2 in H. contradiction. contradiction. Qed.
imports: Coq.Logic.Classical CertiGraph.lib.List_ext CertiGraph.lib.EquivDec_ext CertiGraph.graph.graph_model CertiGraph.graph.graph_relation CertiGraph.graph.path_lemmas CertiGraph.graph.graph_gen CertiGraph.graph.FiniteGraph