Goal:
    x : V.t  p : VSet.t  a : V.t
  ============================
   ((VSet.In a (VSet.add x (VSet.add x p)) -> VSet.In a (VSet.add x p)) /\
    (VSet.In a (VSet.add x p) -> VSet.In a (VSet.add 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