Goal:
  
  G : t
  n : nat
  IHn : forall (x y : V.t) (s s' : VSet.t),
        VSet.Equal s s' -> lsp00 n s x y = lsp00 n s' x y
  x : V.t
  y : V.t
  s : VSet.t
  s' : VSet.t
  H : VSet.Equal s s'
  ============================
   ((if VSet.mem x s'
     then
      fold_left max (map ?g (succs x))
        (if is_left (V.eq_dec x y) then Some 0 else None)
     else if is_left (V.eq_dec x y) then Some 0 else None) =
    (if VSet.mem x s'
     then
      fold_left max
        (map
           (fun '(n0, y0) => (Some n0 + lsp00 n (VSet.remove x s') y0 y)%nbar)
           (succs x)) (if is_left (V.eq_dec x y) then Some 0 else None)
     else if is_left (V.eq_dec x y) then Some 0 else None))


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