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)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (acyclic_no_loop G')


DEBUG:Going to execute:
apply HG'
DEBUG LTAC Evaluated term: (Some K <= lsp G' (s G) x)%nbar
DEBUG LTAC Evaluated term: lsp_G'_yx
DEBUG LTAC Evaluated term: HI
DEBUG LTAC Evaluated term: (acyclic_no_loop G')

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)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (VSet.In x (V G))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (VSet.In (s G) (V G))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (lsp G x (s G) = None)


DEBUG:Going to execute:
eauto
DEBUG LTAC Evaluated term: HG'

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)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (VSet.In x (V G))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (VSet.In (s G) (V G))

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : VSet.elt
  Vy : VSet.In y (V G)
  ly : Z
  lx : Z
  K := if n <=? 0 then Z.max lx (Z.succ ly - n) else Z.max lx (Z.succ ly) : Z
  G' := G' (s G) x K : t
  Hle : Z.of_nat (to_label (lsp G' (s G) x)) + n <=
        Z.of_nat (to_label (lsp G' (s G) y))
  Vx : VSet.In x (V G)
  Hly : lsp G (s G) y = Some ly
  Hpos : 0 <= ly
  Hlab : Z.of_nat (to_label (lsp G (s G) y)) = ly
  Hlx : lsp G (s G) x = Some lx
  poskx : 0 <= lx
  Hlab' : Z.of_nat (to_label (lsp G (s G) x)) = lx
  xs : lsp G x (s G) = None
  HI' : invariants G'
  XX : (Some K <= lsp G' (s G) x)%nbar
  ============================
   (lsp G x (s G) = None)


DEBUG:Going to execute:
<coq-core.plugins.ltac::eauto@0> $1 $2 $3