Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  Hle : leq_vertices G n x y
  nneg : n <= 0
  n0 : x <> y
  Hxs : lsp G x (s G) = None
  Vx : VSet.In x (V G)
  H : x <> s G
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  X : correct_labelling G (to_label ∘ lsp G' (s G'))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  l := fun z : V.t =>
       if is_left (V.eq_dec z y)
       then Z.to_nat (- n)
       else to_label (lsp G' (s G) z) : V.t -> nat
  ============================
   (correct_labelling G l)


DEBUG:Going to execute:
subst l
DEBUG LTAC Evaluated term: HI
DEBUG LTAC Evaluated term: (fun z : V.t =>
                            if is_left (V.eq_dec z y)
                            then Z.to_nat (- n)
                            else to_label (lsp G' (s G) z))
DEBUG LTAC Evaluated term: (correct_labelling G l)