Goal:
    x : V.t  s : VSet.t
  ============================
   (~ VSet.In x (VSet.remove x s))


DEBUG:Going to execute:
<coq-core.plugins.ltac::decompose_record@0> $1
DEBUG LTAC Evaluated term: x

Goals:
    x : V.t  s : VSet.t  y : VSet.elt
  ============================
   ((VSet.In y (VSet.add x s) -> x = y \/ VSet.In y (VSet.remove x s)) /\
    (x = y \/ VSet.In y (VSet.remove x s) -> VSet.In y (VSet.add x s)))

    x : V.t  s : VSet.t
  ============================
   (~ VSet.In x (VSet.remove x s))


DEBUG:Going to execute:
VSetDecide.MSetDecideAuxiliary.discard_nonMSet
Level 1: Backtrace:

Failed to progress.
Level 1: Backtrace:

Failed to progress.
Level 1: Backtrace:

Failed to progress.
Level 1: Backtrace:

Failed to progress.
Level 0: Backtrace:

Failed to progress.

Goals:
    x : V.t  s : VSet.t  y : VSet.elt
  ============================
   ((VSet.In y (VSet.add x s) -> x = y \/ VSet.In y (VSet.remove x s)) /\
    (x = y \/ VSet.In y (VSet.remove x s) -> VSet.In y (VSet.add x s)))

    x : V.t  s : VSet.t
  ============================
   (~ VSet.In x (VSet.remove x s))


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