Goal:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  ============================
   (~ VSet.In y_0 (snodes G' p'))


DEBUG:Going to execute:
<coq-core.plugins.ltac::intro@1> $1
DEBUG LTAC Evaluated term: DisjointAdd_add2

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  ============================
   False


DEBUG:Going to execute:
epose proof (lsp0_spec_le _ (SPath_sub _ _ p1)) as HH;
            unfold lsp in Hxs
DEBUG LTAC Evaluated term: left
DEBUG LTAC Evaluated term: split
DEBUG LTAC Evaluated term: HH
DEBUG LTAC Evaluated term: from_G'
DEBUG LTAC Evaluated term: p1

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  ============================
   False


DEBUG:Going to execute:
epose proof (lsp0_spec_le _ (SPath_sub _ _ p1)) as HH

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= lsp0 G ?s x_0 y_0)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp G x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s2 p1)) <= lsp0 G ?s1 x_0 y_0)%nbar
  ============================
   False


DEBUG:Going to execute:
unfold lsp in Hxs
DEBUG LTAC Evaluated term: (lsp0_spec_le G (SPath_sub G ?s0 p1))
DEBUG LTAC Evaluated term: (lsp0_spec_le G (SPath_sub G ?s2 p1))

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= lsp0 G ?s x_0 y_0)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s2 p1)) <= lsp0 G ?s1 x_0 y_0)%nbar
  ============================
   False


DEBUG:Going to execute:
now erewrite -> Hxs in HH

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= lsp0 G ?s x_0 y_0)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s2 p1)) <= lsp0 G ?s1 x_0 y_0)%nbar
  ============================
   False


DEBUG:Going to execute:
erewrite -> Hxs in HH

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= lsp0 G ?s x_0 y_0)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s2 p1)) <= lsp0 G ?s1 x_0 y_0)%nbar
  ============================
   False


DEBUG:Going to execute:
t; easy

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= lsp0 G ?s x_0 y_0)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s2 p1)) <= lsp0 G ?s1 x_0 y_0)%nbar
  ============================
   False


DEBUG:Going to execute:
t

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s p1)) <= None)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= None)%nbar
  ============================
   False


DEBUG:Going to execute:
easy
DEBUG LTAC Evaluated term: Hxs
DEBUG LTAC Evaluated term: Hxs
DEBUG LTAC Evaluated term: Hxs
DEBUG LTAC Evaluated term: Hxs

Goals:
  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s p1)) <= None)%nbar
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  y_0 : V.t
  x_0 : V.t
  Vx : VSet.In x_0 (V G)
  Vy : VSet.In y_0 (V G)
  Hxs : lsp0 G (V G) x_0 y_0 = None
  K : Z
  x : V.t
  k : Z
  p : SPath G (V G) x_0 x
  Hk : sweight p = k
  p' := sto_G' p : SPath G' (V G) x_0 x
  p1 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  p2 : SPath G (VSet.remove y_0 (V G)) x_0 y_0
  HH : (Some (sweight (SPath_sub G ?s0 p1)) <= None)%nbar
  ============================
   False


DEBUG:Going to execute:
easy0 || (solve [ intuition eauto  3 with core terms ])