(*s If there is no cycle of negative weight in the old graph [cg1], and the distance from [y] to [x] is $\geq -d$, then there is no simple cycle of negative weight in the new graph  [cg2] either: *)

(* Specifications: *)
Lemma CG_add_4 :
(forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg1 x0 d0 (x0 :: l) -> Dle Dz d0 = true) ->
Ddle (Some (Dneg d)) (ad_simple_path_dist cg1 y x) = true ->
forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg2 x0 d0 (x0 :: l) ->
ad_list_stutters l = false -> Dle Dz d0 = true.
Lemma CG_add_5_1 :
forall n : nat,
(forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg1 x0 d0 (x0 :: l) -> Dle Dz d0 = true) ->
Ddle (Some (Dneg d)) (ad_simple_path_dist cg1 y x) = true ->
forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg2 x0 d0 (x0 :: l) -> length l <= n -> Dle Dz d0 = true.
Lemma CG_add_5 :
(forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg1 x0 d0 (x0 :: l) -> Dle Dz d0 = true) ->
Ddle (Some (Dneg d)) (ad_simple_path_dist cg1 y x) = true ->
forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg2 x0 d0 (x0 :: l) -> Dle Dz d0 = true.