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 : (Some (sweight p) <= lsp0 s0 y z)%nbar
  ee : VSet.mem x s' = true
  ============================
   (Some (e.π1 + sweight p)%Z <=
    fold_left max
      (map (fun '(n, y) => Some n + lsp0 (VSet.remove x s') y z) (succs x))
      (if is_left (V.eq_dec x z) then Some 0 else None))%nbar


DEBUG:Going to execute:
fun => <coq-core.plugins.ltac::etransitivity@0>