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)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  Hle : kx + n <= Z.of_nat (Z.to_nat (- n))
  H0 : 0 <= kx
  ============================
   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 : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


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

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
Zify.zify; xlia zchecker

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
Zify.zify

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations;
            Zify.zify_post_hook; zify_saturate

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations;
            Zify.zify_post_hook

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros; Zify.zify_pre_hook

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
intros

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
Zify.zify_pre_hook

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
idtac

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
zify_elim_let

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K := Z.succ (- n - n) : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  ============================
   False


DEBUG:Going to execute:
<coq-core.plugins.zify::TRANS@3>

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = Z.succ (- n - n)
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = Z.succ (- n - n)
  ============================
   False


DEBUG:Going to execute:
zify_op

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = Z.succ (- n - n)
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = Z.succ (- n - n)
  ============================
   False


DEBUG:Going to execute:
<coq-core.plugins.zify::TRANS@0>

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
Zify.zify_iter_specs

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
fun => <coq-core.plugins.zify::ITER@0>

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
Zify.zify_to_euclidean_division_equations

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
lazymatch Zify.zify_convert_to_euclidean_division_equations_flag
           with
           | true =>
               Zify.zify_internal_to_euclidean_division_equations
           | false => idtac
           end

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
Zify.zify_convert_to_euclidean_division_equations_flag

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  heq_K : K = - n - n + 1
  ============================
   (0 <= - n)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  K : Z
  G' := G' (s G) x K : t
  e : y = y
  Hy : 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
  X : correct_labelling G (fun x : V.t => to_label (lsp G' (s G) x))
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  XX : correct_labelling G
         (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))
  kx : Z
  Hkx : lsp0 G' (V G) (s G) x = Some kx
  YY : K + 0 <= kx
  H0 : 0 <= kx
  Hle : kx + n <= - n
  heq_K : K = - n - n + 1
  ============================
   False


DEBUG:Going to execute:
constr:(false)