Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  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
  p : SPath G s0 y z
  IHp : y = z \/ VSet.In y s0
  ============================
   (x = z \/ VSet.In x s')


DEBUG:Going to execute:
destruct IHp

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  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
  p : SPath G s0 y z
  H : y = z
  ============================
   (x = z \/ VSet.In x s')

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  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
  p : SPath G s0 y z
  H : VSet.In y s0
  ============================
   (x = z \/ VSet.In x s')


DEBUG:Going to execute:
subst
DEBUG LTAC Evaluated term: IHp

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  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
  p : SPath G s0 y z
  H : y = z
  ============================
   (x = z \/ VSet.In x s')

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  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
  p : SPath G s0 y z
  H : VSet.In y s0
  ============================
   (x = z \/ VSet.In x s')


DEBUG:Going to execute:
<coq-core.plugins.ltac::subst@1>