Goal:
    x : VSet.elt  y : VSet.elt  p : VSet.t  H : x <> y
  ============================
   (VSet.Equal (VSet.add x (VSet.remove y p)) (VSet.remove y (VSet.add x p)))


DEBUG:Going to execute:
repeat
            match goal with
            | H:context [ ?x = ?y :> ?T ]
              |- _ =>
                  tryif change T with V.t in H then 
                   fail else
                   tryif change T with VSet.t in H then fail else clear H  
            | H:?P
              |- _ =>
                  tryif prop (VSetDecide.MSetDecideAuxiliary.MSet_Prop P)
                   holds by auto  100 with MSet_Prop then 
                   fail else clear H 
            end