Inductive and_sp (A : Set) (B : Prop) : Set :=
        conj_sp : A -> B -> and_sp A B.Inductive and_sp (A : Set) (B : Prop) : Set :=
        conj_sp : A -> B -> and_sp A B.

(* Specifications: *)
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)}}.
Lemma CG_path_app_4 : forall (l1 l2 : list ad) (last x : ad) (d : D), CG_path last d (l1 ++ x :: l2) -> {d1 : D & {d2 : D & and_sp (CG_path x d1 (l1 ++ x :: nil) * CG_path last d2 (x :: l2)) (d = Dplus d2 d1)}}.