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)
  K := 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) : nat
  l := fun z : V.t =>
       if is_left (V.eq_dec z x) then K else to_label (lsp G (s G) z)
    : V.t -> nat
  ============================
   False


DEBUG:Going to execute:
unshelve refine (let XX := Hle l _ in _)
DEBUG LTAC Evaluated term: False_rect
DEBUG LTAC Evaluated term: VSetFact.not_mem_iff
DEBUG LTAC Evaluated term: (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))
DEBUG LTAC Evaluated term: (fun z : V.t =>
                            if is_left (V.eq_dec z x)
                            then K
                            else to_label (lsp G (s G) z))