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
  b : B
  fa : f a = Some b
  ============================
   ((forall x : list B, None = Some x -> map_option_out (map g l) = Some x) ->
    None = Some x ->
    match map_option_out (map g l) with
    | Some tl => Some (b :: tl)
    | None => None
    end = Some x)


DEBUG:Going to execute:
<coq-core.plugins.ltac::discriminate@0>