Goal:
  
  G : t
  A : Type
  B : Type
  C : Type
  f : A -> B -> A
  g : A -> C -> A
  h : C -> B
  a : C
  l' : list C
  acc : A
  hfg : forall (acc : A) (x : C), f acc (h x) = g acc x
  IHl' : forall acc : A, fold_left f (map h l') acc = fold_left g l' acc
  ============================
   (fold_left (fun (acc : A) (x : C) => f acc (h x)) l' (f acc (h a)) =
    fold_left g l' (g acc a))


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