Goal:
  
  A : Type
  B : Type
  f : A → B
  a : A
  l : list A
  IHl : ∀ 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
  l0 : list B
  ============================
   ((fix aux (l : list A) (acc : list B) {struct l} : list B :=
       match l with
       | [] => acc
       | x :: l0 => aux l0 (f x :: acc)
       end) l (f a :: l0) = (List.rev (map f l) ++ [f a]) ++ l0)


DEBUG:Going to execute:
<coq-core.plugins.ssreflect::ssrrewrite@0> $1 $2