Goal:
  
  s0 : VSet.t
  s1 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  H1 : DisjointAdd x s0 s1
  H2 : DisjointAdd y s1 s2
  z : VSet.elt
  ============================
   (VSet.In z s2 <-> x = z \/ VSet.In z (VSet.add y s0))


DEBUG:Going to execute:
fun => <coq-core.plugins.ltac::split@0>

Goals:
  
  s0 : VSet.t
  s1 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  H1 : DisjointAdd x s0 s1
  H2 : DisjointAdd y s1 s2
  z : VSet.elt
  ============================
   (VSet.In z s2 -> x = z \/ VSet.In z (VSet.add y s0))

  
  s0 : VSet.t
  s1 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  H1 : DisjointAdd x s0 s1
  H2 : DisjointAdd y s1 s2
  z : VSet.elt
  ============================
   (x = z \/ VSet.In z (VSet.add y s0) -> VSet.In z s2)


DEBUG:Going to execute:
intro Hz