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)
  Hle : leq_vertices G n x y
  Vx : ~ VSet.In x (V G)
  e : EdgeSet.elt
  H : EdgeSet.In e (E G)
  n0 : e..s <> x
  n1 : e..t <> x
  ============================
   (Z.of_nat
      (if is_left (right n0)
       then
        if n <=? 0
        then (Z.to_nat (Z.of_nat (to_label (lsp G (s G) y)) - n) + 1)%nat
        else to_label (lsp G (s G) y)
       else to_label (lsp G (s G) e..s)) + e..w <=
    Z.of_nat
      (if is_left (right n1)
       then
        if n <=? 0
        then (Z.to_nat (Z.of_nat (to_label (lsp G (s G) y)) - n) + 1)%nat
        else to_label (lsp G (s G) y)
       else to_label (lsp G (s G) e..t)))


DEBUG:Going to execute:
apply lsp_correctness