Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  z : V.t
  x : V.t
  e : EdgeOf G x z
  i : VSet.elt
  ============================
   (VSet.In i (VSet.add x VSet.empty) -> VSet.In i VSet.empty \/ i = x)


DEBUG:Going to execute:
match goal with
           | H:context [ ?P -> False ] |- _ => fold (~ P) in H
           | |- context [ ?P -> False ] => fold (~ P)
           end