Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  Vx : ~ VSet.In x (V G)
  Hx : x = x
  Hy : y <> x
  H : correct_labelling G (fun x : V.t => to_label (lsp G (s G) x))
  zl : Z
  eq : lsp G (s G) y = Some zl
  pos : 0 <= zl
  zof : Z.of_nat (to_label (lsp G (s G) y)) = zl
  Hle : Z.of_nat (to_label (lsp G (s G) x)) + n <= zl
  H0 : n <= 0
  XX : Z.of_nat (Z.to_nat (zl - n)) + Z.of_nat 1 + n <= zl
  ============================
   False


DEBUG:Going to execute:
<coq-core.plugins.ssreflect::ssrrewrite@0> $1 $2

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  Vx : ~ VSet.In x (V G)
  Hx : x = x
  Hy : y <> x
  H : correct_labelling G (fun x : V.t => to_label (lsp G (s G) x))
  zl : Z
  eq : lsp G (s G) y = Some zl
  pos : 0 <= zl
  zof : Z.of_nat (to_label (lsp G (s G) y)) = zl
  Hle : Z.of_nat (to_label (lsp G (s G) x)) + n <= zl
  H0 : n <= 0
  ============================
   (0 <= zl - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  Vx : ~ VSet.In x (V G)
  Hx : x = x
  Hy : y <> x
  H : correct_labelling G (fun x : V.t => to_label (lsp G (s G) x))
  zl : Z
  eq : lsp G (s G) y = Some zl
  pos : 0 <= zl
  zof : Z.of_nat (to_label (lsp G (s G) y)) = zl
  Hle : Z.of_nat (to_label (lsp G (s G) x)) + n <= zl
  H0 : n <= 0
  XX : zl - n + Z.of_nat 1 + n <= zl
  ============================
   False


DEBUG:Going to execute:
try lia
DEBUG LTAC Evaluated term: Z2Nat.id
DEBUG LTAC Evaluated term: Z2Nat.id