Goal:
    x : VSet.elt  p : VSet.t  H : ~ VSet.In x p  a : VSet.elt
  ============================
   (VSet.In a (VSet.remove x (VSet.add x p)) <-> VSet.In a p)


DEBUG:Going to execute:
match goal with
           | H:?T
             |- _ =>
                 progress change T with V.t in H;
                  repeat
                   match goal with
                   | J:_ |- _ => progress change T with V.t in J
                   | |- _ => progress change T with V.t
                   end
           | H:forall x : ?T, _
             |- _ =>
                 progress change T with V.t in H;
                  repeat
                   match goal with
                   | J:_ |- _ => progress change T with V.t in J
                   | |- _ => progress change T with V.t
                   end
           end