Goal:
    x : V.t  p : VSet.t  H : ~ VSet.In x p  a : V.t
  ============================
   ((VSet.In a (VSet.remove x (VSet.add x p)) -> VSet.In a p) /\
    (VSet.In a p -> VSet.In a (VSet.remove x (VSet.add x p))))


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