Goal:
    A : Type  B : Type  f : A → B  l : list A
  ============================
   (∀ l0 : list B,
      (fix aux (l : list A) (acc : list B) {struct l} : list B :=
         match l with
         | [] => acc
         | x :: l1 => aux l1 (f x :: acc)
         end) l l0 = List.rev (map f l) ++ l0)


DEBUG:Going to execute:
induction l; simpl
DEBUG LTAC Evaluated term: (app_nil_r (List.rev (map f l)))
DEBUG LTAC Evaluated term: (app_nil_r (List.rev (map f l)))
DEBUG LTAC Evaluated term: []