Section CGAdd.
Variable cg1 : CGraph1.
Variable x y : ad.
Variable d : D.
Definition cg2 := CG_add cg1 x y d.
(*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: *)
End CGAdd.
(*s Properties of the range of the graph *)
Definition cg_range := DMerge D.

Lemma cg_add_out_of_range_1 :
forall (cg : CGraph1) (x y : ad) (d : D),
(forall (x0 : ad) (d0 : D) (l : list ad),
CG_path cg x0 d0 (x0 :: l) -> Dle Dz d0 = true) ->
in_dom D x (cg_range cg) = false ->
N.eqb y x = false ->
forall (x0 : ad) (d0 : D) (l : list ad),
CG_path (CG_add cg x y d) x0 d0 (x0 :: l) -> Dle Dz d0 = true.