Goal:
  
  G : t
  s : VSet.t
  IH : forall m : nat,
       (m < VSet.cardinal s)%nat ->
       forall s : VSet.t,
       VSet.cardinal s = m ->
       forall (x y : V.t) (n : Z),
       lsp0 s x y = Some n -> exists p : SPath s x y, sweight p = n
  y : V.t
  Hx : VSet.mem y s = true
  ============================
   (exists p : SPath s y y, sweight p = 0)


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

Goals:
  
  G : t
  s : VSet.t
  IH : forall m : nat,
       (m < VSet.cardinal s)%nat ->
       forall s : VSet.t,
       VSet.cardinal s = m ->
       forall (x y : V.t) (n : Z),
       lsp0 s x y = Some n -> exists p : SPath s x y, sweight p = n
  y : V.t
  Hx : VSet.mem y s = true
  ============================
   (SPath s y y)

  
  G : t
  s : VSet.t
  IH : forall m : nat,
       (m < VSet.cardinal s)%nat ->
       forall s : VSet.t,
       VSet.cardinal s = m ->
       forall (x y : V.t) (n : Z),
       lsp0 s x y = Some n -> exists p : SPath s x y, sweight p = n
  y : V.t
  Hx : VSet.mem y s = true
  ============================
   (sweight ?p = 0)


DEBUG:Going to execute:
constructor

Goals:
  
  G : t
  s : VSet.t
  IH : forall m : nat,
       (m < VSet.cardinal s)%nat ->
       forall s : VSet.t,
       VSet.cardinal s = m ->
       forall (x y : V.t) (n : Z),
       lsp0 s x y = Some n -> exists p : SPath s x y, sweight p = n
  y : V.t
  Hx : VSet.mem y s = true
  ============================
   (SPath s y y)

  
  G : t
  s : VSet.t
  IH : forall m : nat,
       (m < VSet.cardinal s)%nat ->
       forall s : VSet.t,
       VSet.cardinal s = m ->
       forall (x y : V.t) (n : Z),
       lsp0 s x y = Some n -> exists p : SPath s x y, sweight p = n
  y : V.t
  Hx : VSet.mem y s = true
  ============================
   (sweight ?p = 0)


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