Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : VSet.mem y (V G) = false
  ============================
   (n <= 0 /\ (x = y \/ (Some n <= lsp G x (s G))%nbar) ->
    leq_vertices G n x y)


DEBUG:Going to execute:
intros [e [Hxy| Hxs]] l Hl

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : VSet.mem y (V G) = false
  e : n <= 0
  Hxy : x = y
  l : labelling
  Hl : correct_labelling G l
  ============================
   (Z.of_nat (l x) + n <= Z.of_nat (l y))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : VSet.mem y (V G) = false
  e : n <= 0
  Hxs : (Some n <= lsp G x (s G))%nbar
  l : labelling
  Hl : correct_labelling G l
  ============================
   (Z.of_nat (l x) + n <= Z.of_nat (l y))


DEBUG:Going to execute:
subst

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : VSet.mem y (V G) = false
  e : n <= 0
  Hxy : x = y
  l : labelling
  Hl : correct_labelling G l
  ============================
   (Z.of_nat (l x) + n <= Z.of_nat (l y))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : VSet.mem y (V G) = false
  e : n <= 0
  Hxs : (Some n <= lsp G x (s G))%nbar
  l : labelling
  Hl : correct_labelling G l
  ============================
   (Z.of_nat (l x) + n <= Z.of_nat (l y))


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