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


DEBUG:Going to execute:
solve
[ trivial
with eq_true
| reflexivity
| symmetry; trivial
| contradiction
| congruence ]