Goal:
    _z_ : VSet.t  x0 : V.t  x1 : V.t  x2 : V.t  a : V.t
  ============================
   ((x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_ ->
     x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_) /\
    (x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_ ->
     x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_))


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

Goals:
    _z_ : VSet.t  x0 : V.t  x1 : V.t  x2 : V.t  a : V.t
  ============================
   (x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_ ->
    x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_)

    _z_ : VSet.t  x0 : V.t  x1 : V.t  x2 : V.t  a : V.t
  ============================
   (x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_ ->
    x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_)


DEBUG:Going to execute:
<Coq.Init.Tauto.not_dep_intros>

Goals:
    _z_ : VSet.t  x0 : V.t  x1 : V.t  x2 : V.t  a : V.t
  ============================
   (x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_ ->
    x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_)

    _z_ : VSet.t  x0 : V.t  x1 : V.t  x2 : V.t  a : V.t
  ============================
   (x1 = a \/ x2 = a \/ x0 = a \/ VSet.In a _z_ ->
    x0 = a \/ x1 = a \/ x2 = a \/ VSet.In a _z_)


DEBUG:Going to execute:
repeat
            match goal with
            | |- ?X1 -> ?X2 => intro
            | |- ~ _ => unfold not at 1; intro
            end