proposition: Lemma simple_upath_self: forall g u p, connected_by_path g p u u -> simple_upath g p -> p = (u::nil).
proof: Proof. intros. destruct H as [? [? ?]]. destruct p. inversion H1. simpl in H1; inversion H1. subst v. destruct p. auto. rewrite last_error_cons in H2. 2: unfold not; intros; inversion H3. destruct H0. apply NoDup_cons_2 in H3. exfalso; apply H3. apply last_error_In. auto. 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