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)
  K : Z
  G' := Subgraph1.G' G y x K : t
  Vx : VSet.In x (V G)
  ly : Z
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  lx : Z
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  z : Z
  xs : lsp G x (s G) = Some z
  xy : lsp G x y = Some K
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  yx : Z
  lspyx : lsp G' y x = Some yx
  lekyx : - K <= yx
  kx' : Z
  Hkx' : lsp G' (s G) x = Some kx'
  kx'pos : 0 <= kx'
  zofx' : Z.of_nat (to_label (lsp G' (s G) x)) = kx'
  ky' : Z
  Hky' : lsp G' (s G) y = Some ky'
  ky'pos : 0 <= ky'
  zofy' : Z.of_nat (to_label (lsp G' (s G) y)) = ky'
  Hle : kx' + n <= ky'
  H : Some yx = max (lsp G y x) (Some (- K + 0))
  H0 : (lsp G y x <= Some (- K))%nbar
  ============================
   (yx = - K)


DEBUG:Going to execute:
destruct (lsp G y x)

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  K : Z
  G' := Subgraph1.G' G y x K : t
  Vx : VSet.In x (V G)
  ly : Z
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  lx : Z
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  z : Z
  xs : lsp G x (s G) = Some z
  xy : lsp G x y = Some K
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  yx : Z
  lspyx : lsp G' y x = Some yx
  lekyx : - K <= yx
  kx' : Z
  Hkx' : lsp G' (s G) x = Some kx'
  kx'pos : 0 <= kx'
  zofx' : Z.of_nat (to_label (lsp G' (s G) x)) = kx'
  ky' : Z
  Hky' : lsp G' (s G) y = Some ky'
  ky'pos : 0 <= ky'
  zofy' : Z.of_nat (to_label (lsp G' (s G) y)) = ky'
  Hle : kx' + n <= ky'
  z0 : Z
  H : Some yx = max (Some z0) (Some (- K + 0))
  H0 : (Some z0 <= Some (- K))%nbar
  ============================
   (yx = - K)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  K : Z
  G' := Subgraph1.G' G y x K : t
  Vx : VSet.In x (V G)
  ly : Z
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  lx : Z
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  z : Z
  xs : lsp G x (s G) = Some z
  xy : lsp G x y = Some K
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  yx : Z
  lspyx : lsp G' y x = Some yx
  lekyx : - K <= yx
  kx' : Z
  Hkx' : lsp G' (s G) x = Some kx'
  kx'pos : 0 <= kx'
  zofx' : Z.of_nat (to_label (lsp G' (s G) x)) = kx'
  ky' : Z
  Hky' : lsp G' (s G) y = Some ky'
  ky'pos : 0 <= ky'
  zofy' : Z.of_nat (to_label (lsp G' (s G) y)) = ky'
  Hle : kx' + n <= ky'
  H : Some yx = max None (Some (- K + 0))
  H0 : (None <= Some (- K))%nbar
  ============================
   (yx = - K)


DEBUG:Going to execute:
simpl in *
DEBUG LTAC Evaluated term: (lsp G y x)

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  K : Z
  G' := Subgraph1.G' G y x K : t
  Vx : VSet.In x (V G)
  ly : Z
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  lx : Z
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  z : Z
  xs : lsp G x (s G) = Some z
  xy : lsp G x y = Some K
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  yx : Z
  lspyx : lsp G' y x = Some yx
  lekyx : - K <= yx
  kx' : Z
  Hkx' : lsp G' (s G) x = Some kx'
  kx'pos : 0 <= kx'
  zofx' : Z.of_nat (to_label (lsp G' (s G) x)) = kx'
  ky' : Z
  Hky' : lsp G' (s G) y = Some ky'
  ky'pos : 0 <= ky'
  zofy' : Z.of_nat (to_label (lsp G' (s G) y)) = ky'
  Hle : kx' + n <= ky'
  z0 : Z
  H : Some yx = Some (Z.max z0 (- K + 0))
  H0 : z0 <= - K
  ============================
   (yx = - K)

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  K : Z
  G' := Subgraph1.G' G y x K : t
  Vx : VSet.In x (V G)
  ly : Z
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  lx : Z
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  z : Z
  xs : lsp G x (s G) = Some z
  xy : lsp G x y = Some K
  HI' : invariants G'
  HG' : acyclic_no_loop G'
  yx : Z
  lspyx : lsp G' y x = Some yx
  lekyx : - K <= yx
  kx' : Z
  Hkx' : lsp G' (s G) x = Some kx'
  kx'pos : 0 <= kx'
  zofx' : Z.of_nat (to_label (lsp G' (s G) x)) = kx'
  ky' : Z
  Hky' : lsp G' (s G) y = Some ky'
  ky'pos : 0 <= ky'
  zofy' : Z.of_nat (to_label (lsp G' (s G) y)) = ky'
  Hle : kx' + n <= ky'
  H : Some yx = Some (- K + 0)
  H0 : True
  ============================
   (yx = - K)


DEBUG:Going to execute:
injection H