(*s Adding a lis of adresses connected to [root] with weight $0$ *)
Fixpoint CG_add_root (root : ad) (cg : CGraph1) (l : list ad) {struct l} :
CGraph1 :=
match l with
| nil => cg
| x :: l' => CG_add_root root (CG_add cg root x Dz) l'
end.

Lemma CG_add_root_rooted_2 :
forall (l : list ad) (cg : CGraph1) (root : ad),
ad_list_stutters l = false ->
(forall a0 : ad, ad_in_list a0 l = true -> CG_edge cg root a0 = None) ->
forall a : ad,
ad_in_list a l = true -> CG_edge (CG_add_root root cg l) root a = Some Dz.