Goal:
  
  A : Type
  a : A
  l : list A
  n : nat
  IHl : ∀ n : nat, firstn n (firstn (S n) l) = firstn n l
  ============================
   (firstn n (a :: firstn n l) = firstn n (a :: l))


DEBUG:Going to execute:
<coq-core.plugins.ssreflect::ssrtclintros@0> arg

Goals:
  
  A : Type
  a : A
  l : list A
  IHl : ∀ n : nat, firstn n (firstn (S n) l) = firstn n l
  ============================
   ([] = [])

  
  A : Type
  a : A
  l : list A
  n : nat
  IHl : ∀ n : nat, firstn n (firstn (S n) l) = firstn n l
  ============================
   (a :: firstn n (firstn (S n) l) = a :: firstn n l)


DEBUG:Going to execute:
auto
DEBUG LTAC Evaluated term: n

Goals:
  
  A : Type
  a : A
  l : list A
  IHl : ∀ n : nat, firstn n (firstn (S n) l) = firstn n l
  ============================
   ([] = [])

  
  A : Type
  a : A
  l : list A
  n : nat
  IHl : ∀ n : nat, firstn n (firstn (S n) l) = firstn n l
  ============================
   (a :: firstn n (firstn (S n) l) = a :: firstn n l)


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