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
  ============================
   (In (Some e.π1 + lsp0 s0 y z)%nbar
      (map (fun '(n, y) => (Some n + lsp0 (VSet.remove x s') y z)%nbar)
         (map (fun e : Edge.t => (e..w, e..t))
            (filter (fun e : Edge.t => V.eq_dec e..s x)
               (EdgeSet.elements (E G))))))


DEBUG:Going to execute:
<coq-core.plugins.ssreflect::ssrrewrite@0> $1 $2