Goal:
  
  s : VSet.t
  s' : VSet.t
  s'' : VSet.t
  x : V.t
  hadd : VSetProp.Add x s s'
  hin : ~ VSet.In x s
  H : ~ VSet.In x s''
  ============================
   (~ VSet.In x (VSet.union s s''))


DEBUG:Going to execute:
fun t =>
             tryif Ltac.is_var t then fail "no need to abstract a variable"
               else (let x := fresh "x" in
                     set (x := t) in *; try clearbody x)