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)
  Hle : leq_vertices G n x y
  nneg : n <= 0
  n0 : x <> y
  Hxs : lsp G x (s G) = None
  Vx : ~ VSet.In x (V G)
  e : y = y
  Hy : x <> y
  XX : Z.of_nat
         (if is_left (right Hy)
          then 0%nat
          else
           if is_left (V.eq_dec x x)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) x)) + n <=
       Z.of_nat
         (if is_left (left e)
          then 0%nat
          else
           if is_left (V.eq_dec y x)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) y))
  ============================
   False


DEBUG:Going to execute:
destruct (V.eq_dec x x) as [?| ?]

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)
  Hle : leq_vertices G n x y
  nneg : n <= 0
  n0 : x <> y
  Hxs : lsp G x (s G) = None
  Vx : ~ VSet.In x (V G)
  e : y = y
  Hy : x <> y
  e0 : x = x
  XX : Z.of_nat
         (if is_left (right Hy)
          then 0%nat
          else
           if is_left (left e0)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) x)) + n <=
       Z.of_nat
         (if is_left (left e)
          then 0%nat
          else
           if is_left (V.eq_dec y x)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) y))
  ============================
   False

  
  G : t
  HI : invariants G
  HG : acyclic_no_loop G
  n : Z
  x : V.t
  y : V.t
  Vy : ~ VSet.In y (V G)
  Hle : leq_vertices G n x y
  nneg : n <= 0
  n0 : x <> y
  Hxs : lsp G x (s G) = None
  Vx : ~ VSet.In x (V G)
  e : y = y
  Hy : x <> y
  n1 : x <> x
  XX : Z.of_nat
         (if is_left (right Hy)
          then 0%nat
          else
           if is_left (right n1)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) x)) + n <=
       Z.of_nat
         (if is_left (left e)
          then 0%nat
          else
           if is_left (V.eq_dec y x)
           then (Z.to_nat (- n) + 1)%nat
           else to_label (lsp G (s G) y))
  ============================
   False


DEBUG:Going to execute:
simpl in *
DEBUG LTAC Evaluated term: (V.eq_dec x x)