Goal:
  
  G1 : t
  ext : EdgeSet.t
  x : VSet.elt
  xs : V.t
  _b_ : Z
  xt : V.t
  ys : V.t
  _b1_ : Z
  yt : V.t
  _z_ : VSet.t
  x0 : V.t
  x1 : V.t
  x2 : V.t
  x3 : V.t
  ============================
   (VSet.Equal (VSet.add x0 (VSet.add x1 (VSet.add x2 (VSet.add x3 _z_))))
      (VSet.add x2 (VSet.add x3 (VSet.add x0 (VSet.add x1 _z_)))))


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)