Goal:
  
  A : Type
  x : nat
  y : nat
  a : A
  args : list A
  IHx : ∀ (y : nat) (args : list A),
          firstn (x + y) args = firstn x args ++ firstn y (skipn x args)
  ============================
   (a :: firstn x args ++ firstn y (skipn x args) =
    a :: firstn x args ++ firstn y (skipn x args))


DEBUG:Going to execute:
rewrite app_comm_cons
DEBUG LTAC Evaluated term: IHx
DEBUG LTAC Evaluated term: IHx