Goal:
  
  G1 : t
  G2 : t
  on_edge : forall x y : V.t, EdgeOf G1 x y -> EdgeOf G2 x y
  weight_on_edge : forall (x y : V.t) (e : EdgeOf G1 x y),
                   (on_edge x y e).π1 <= e.π1
  x : V.t
  y : V.t
  p : PathOf G1 x y
  _x_ : V.t
  _y_ : V.t
  _y'_ : V.t
  e : EdgeOf G1 _x_ _y'_
  _p_ : PathOf G1 _y'_ _y_
  weight_on_edge0 : (on_edge _x_ _y'_ e).π1 <= e.π1
  H : weight (map_path _p_) <= weight _p_
  ============================
   ((on_edge _x_ _y'_ e).π1 + weight (map_path _p_) <= e.π1 + weight _p_)


DEBUG:Going to execute:
constr:(false)