Goal:
  
  G : t
  HI : invariants
  HG : acyclic_no_loop
  x : V.t
  n : Z
  y : V.t
  He : EdgeSet.In (x, n, y) (E G)
  ============================
   ((lsp (s G) x + Some n <= lsp (s G) y)%nbar ->
    Z.of_nat (to_label (lsp (s G) x)) + n <=
    Z.of_nat (to_label (lsp (s G) y)))


DEBUG:Going to execute:
destruct (Z_of_to_label_s x) as [xl [eq [pos ->]]]

Goals:
  
  G : t
  HI : invariants
  HG : acyclic_no_loop
  x : V.t
  n : Z
  y : V.t
  He : EdgeSet.In (x, n, y) (E G)
  ============================
   (VSet.In x (V G))

  
  G : t
  HI : invariants
  HG : acyclic_no_loop
  x : V.t
  n : Z
  y : V.t
  He : EdgeSet.In (x, n, y) (E G)
  xl : Z
  eq : lsp (s G) x = Some xl
  pos : 0 <= xl
  ============================
   ((lsp (s G) x + Some n <= lsp (s G) y)%nbar ->
    xl + n <= Z.of_nat (to_label (lsp (s G) y)))


DEBUG:Going to execute:
rewrite ?eq
DEBUG LTAC Evaluated term: (Z_of_to_label_s x)