Goal:
  
  A : Type
  a : A
  l : list A
  l' : list A
  IHl : ∀ v : nat, v < #|l| → nth_error (l ++ l') v = nth_error l v
  v : nat
  H : v < S #|l|
  ============================
   (nth_error (a :: l ++ l') v = nth_error (a :: l) v)


DEBUG:Going to execute:
destruct v

Goals:
  
  A : Type
  a : A
  l : list A
  l' : list A
  IHl : ∀ v : nat, v < #|l| → nth_error (l ++ l') v = nth_error l v
  H : 0 < S #|l|
  ============================
   (nth_error (a :: l ++ l') 0 = nth_error (a :: l) 0)

  
  A : Type
  a : A
  l : list A
  l' : list A
  IHl : ∀ v : nat, v < #|l| → nth_error (l ++ l') v = nth_error l v
  v : nat
  H : S v < S #|l|
  ============================
   (nth_error (a :: l ++ l') (S v) = nth_error (a :: l) (S v))


DEBUG:Going to execute:
trivial
DEBUG LTAC Evaluated term: v

Goals:
  
  A : Type
  a : A
  l : list A
  l' : list A
  IHl : ∀ v : nat, v < #|l| → nth_error (l ++ l') v = nth_error l v
  H : 0 < S #|l|
  ============================
   (nth_error (a :: l ++ l') 0 = nth_error (a :: l) 0)

  
  A : Type
  a : A
  l : list A
  l' : list A
  IHl : ∀ v : nat, v < #|l| → nth_error (l ++ l') v = nth_error l v
  v : nat
  H : S v < S #|l|
  ============================
   (nth_error (a :: l ++ l') (S v) = nth_error (a :: l) (S v))


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