Goal:
    G : t  s0 : VSet.t  x : V.t  e : x = x
  ============================
   (Some 0 <=
    (if VSet.mem x s0
     then
      fold_left max
        (map (fun '(n, y) => Some n + lsp0 (VSet.remove x s0) y x) (succs x))
        (if is_left (left e) then Some 0 else None)
     else if is_left (left e) then Some 0 else None))%nbar


DEBUG:Going to execute:
destruct (VSet.mem x s0)