Goal:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2 /\ VSet.In x s')


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

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
do_ccl

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr;
            (solve [ split; do_ccl ])

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr;
            (solve [ split; do_ccl ])

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom)

Goals:
  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s2)

  
  G : t
  s1 : VSet.t
  s' : VSet.t
  x0 : V.t
  y0 : V.t
  z : V.t
  p0 : SPath s1 x0 y0
  s0 : VSet.t
  s2 : VSet.t
  x : V.t
  y : V.t
  z' : V.t
  H : VSetProp.Add x s0 s2
  H0 : ~ VSet.In x s0
  e : EdgeOf x y
  p : SPath s0 y z'
  hin : VSet.Empty (VSet.inter s2 s')
  q : SPath s' z' z
  inxs' : VSet.In x s'
  H1 : VSet.In x s2 -> x = x \/ VSet.In x s0
  H2 : VSet.In x s2
  ============================
   (VSet.In x s')


DEBUG:Going to execute:
try do_atom