Goal:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
idtac

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
Zify.zify_post_hook

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
idtac

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
zify_saturate

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


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

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
xlia zchecker

Goals:
  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  _a_ : Z
  E : lsp G x y = Some _a_
  H : nx + _a_ <= ny
  hxy0 : _a_ <= nxy
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)

  
  G : t
  invG : invariants G
  acG : acyclic_no_loop G
  x : V.t
  y : V.t
  hx : VSet.In x (V G)
  hy : VSet.In y (V G)
  nxy : Z
  hxy : (lsp G x y <= Some nxy)%nbar
  nx : Z
  eqlspx : lsp G (s G) x = Some nx
  nxpos : 0 <= nx
  eqnx : Z.of_nat (to_label (lsp G (s G) x)) = nx
  ny : Z
  eqlspy : lsp G (s G) y = Some ny
  nypos : 0 <= ny
  eqny : Z.of_nat (to_label (lsp G (s G) y)) = ny
  E : lsp G x y = None
  H : True
  hxy0 : True
  cstr : 0 <= Z.of_nat (to_label (lsp G (s G) x))
  cstr0 : 0 <= Z.of_nat (to_label (lsp G (s G) y))
  z1 : Z
  H1 : 0 < ny - nx - nxy /\ z1 = ny - nx - nxy \/
       ny - nx - nxy <= 0 /\ z1 = 0
  ============================
   (ny - (nx + z1) <= nxy)


DEBUG:Going to execute:
<coq-core.plugins.micromega::Lia@0> $1