Goal:
    G : t  s0 : VSet.t  x : V.t  e : x = x
  ============================
   (Some 0 <=
    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))%nbar


DEBUG:Going to execute:
match goal with
           | |- (_ <= fold_left ?F _ _)%nbar =>
                 assert
                  (XX :
                   forall l acc,
                   (Some 0 <= acc)%nbar -> (Some 0 <= fold_left F l acc)%nbar);
                  [  | apply XX; cbn; reflexivity ]
           end