Goal:
  
  A : Type
  B : Type
  f : A → B
  a : A
  l : list A
  IHl : ∀ n : nat, mapi_rec (λ _ : nat, f) l n = map f l
  n : nat
  ============================
   (f a :: mapi_rec (λ _ : nat, f) l (S n) = f a :: map f l)


DEBUG:Going to execute:
rewrite IHl