Goal:
  
  G : t
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  e : EdgeOf x y
  p : SPath s0 y z
  IHp : forall (z0 : V.t) (e : EdgeOf z z0) (s' : VSet.t)
          (Hs : DisjointAdd z s0 s'),
        sweight (add_end p e Hs) = sweight p + e.π1
  z0 : V.t
  e0 : EdgeOf z z0
  s'0 : VSet.t
  Hs : DisjointAdd z s' s'0
  ============================
   (e.π1 + sweight (add_end p e0 (DisjointAdd_add3 d Hs)) =
    e.π1 + sweight p + e0.π1)


DEBUG:Going to execute:
rewrite IHp