Goal:
  
  G : t
  y_0 : V.t
  x_0 : V.t
  K : Z
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  e : EdgeOf G' x y
  q : SPath G' s0 y z
  IHq : SPath G s0 y y_0 × SPath G s0 x_0 z
  XX : (y_0, K, x_0) <> (x, e.π1, y)
  ============================
   (SPath G s' x y_0)


DEBUG:Going to execute:
<coq-core.plugins.ltac::econstructor@0>

Goals:
  
  G : t
  y_0 : V.t
  x_0 : V.t
  K : Z
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  e : EdgeOf G' x y
  q : SPath G' s0 y z
  IHq : SPath G s0 y y_0 × SPath G s0 x_0 z
  XX : (y_0, K, x_0) <> (x, e.π1, y)
  ============================
   (DisjointAdd x ?s s')

  
  G : t
  y_0 : V.t
  x_0 : V.t
  K : Z
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  e : EdgeOf G' x y
  q : SPath G' s0 y z
  IHq : SPath G s0 y y_0 × SPath G s0 x_0 z
  XX : (y_0, K, x_0) <> (x, e.π1, y)
  ============================
   (EdgeOf G x ?y)

  
  G : t
  y_0 : V.t
  x_0 : V.t
  K : Z
  s0 : VSet.t
  s' : VSet.t
  x : V.t
  y : V.t
  z : V.t
  d : DisjointAdd x s0 s'
  e : EdgeOf G' x y
  q : SPath G' s0 y z
  IHq : SPath G s0 y y_0 × SPath G s0 x_0 z
  XX : (y_0, K, x_0) <> (x, e.π1, y)
  ============================
   (SPath G ?s ?y y_0)


DEBUG:Going to execute:
try eassumption