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


DEBUG:Going to execute:
repeat
            match goal with
            | H:?x = ?x |- _ => clear H
            | H:?x = ?y |- _ => rewrite -> H in *; clear H
            end