proposition: Lemma fits_upath_In_adj: forall l g p e, fits_upath g l p -> In e l -> exists u v, In u p /\ In v p /\ adj_edge g e u v.
proof: Proof. induction l; intros. contradiction. destruct p. simpl in H. contradiction. destruct p. simpl in H. contradiction. destruct H0. subst e. destruct H. exists v. exists v0. split. left; auto. split. right; left; auto. auto. destruct H. destruct (IHl g (v0::p) e) as [x [y [? [? ?]]]]; auto. exists x; exists y. split. right; auto. split. right; auto. 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