Inductive and_sp (A : Set) (B : Prop) : Set :=
conj_sp : A -> B -> and_sp A B.
(*s Given a path, one may find a shortest path withour repetition *)

Lemma ad_path_then_simple_path :
forall (l : list ad) (last : ad) (d : D),
CG_path last d l ->
{sl : list ad &
{d0 : D &
and_sp (CG_path last d0 (first l :: sl))
(ad_list_stutters (first l :: sl) = false /\ Dle d0 d = true)}}.