Goal:
  
  A : Type
  B : Type
  a : A
  l : list A
  f : A -> option B
  g : A -> option B
  x : list B
  Hfg : forall (x : A) (y : B), f x = Some y -> g x = Some y
  IHl : forall x : list B,
        map_option_out (map f l) = Some x ->
        map_option_out (map g l) = Some x
  b : B
  fa : f a = Some b
  ============================
   (match map_option_out (map f l) with
    | Some tl => Some (b :: tl)
    | None => None
    end = Some x ->
    match map_option_out (map g l) with
    | Some tl => Some (b :: tl)
    | None => None
    end = Some x)


DEBUG:Going to execute:
move : IHl 
DEBUG LTAC Evaluated term: (Hfg a b fa)
DEBUG LTAC Evaluated term: (Hfg a b fa)