Goal:
  
  G1 : t
  ext : EdgeSet.t
  x : VSet.elt
  e : EdgeSet.elt
  es : list EdgeSet.elt
  ih : VSet.In x (fold_right fold_fun VSet.empty es) <->
       (exists e : EdgeSet.elt,
          In e es /\ (x = e..s \/ x = e..t) /\ VSet.In x (V G1))
  ============================
   (VSet.In x (fold_right fold_fun VSet.empty es) ->
    exists e0 : EdgeSet.elt,
      (e = e0 \/ In e0 es) /\ (x = e0..s \/ x = e0..t) /\ VSet.In x (V G1))


DEBUG:Going to execute:
move  =>/ih [e0 [? ?]]; exists e0; split => //