(*s [(CG_standard_rho root d0 others x)] computes [d0-d] when [root] and [x] are connected by a path of minimal length [d] and [(others x)] when there are not connected *)
Definition CG_standard_rho (root : ad) (d0 : D) (others : ad -> D)
(x : ad) :=
match ad_simple_path_dist root x with
| Some d => Dplus d0 (Dneg d)
| None => others x (* dummy *)
end.

Lemma CG_standard_rho_root :
forall (root : ad) (d0 : D) (others : ad -> D),
CG_standard_rho root d0 others root = d0.