let add_spec_pre stmt_opt asked_bh acc spec =
  let add_pred  acc p = 
      match stmt_opt with
        | None -> add_fct_pre p acc
        | Some s -> add_stmt_spec_pre s p acc
  in
  let acc = List.fold_left (add_pred) acc spec.spec_requires in
  let acc = match asked_bh with None -> acc (* pre as post hyp *)
    | Some bhv -> match get_behav bhv spec.spec_behavior with None -> acc
        | Some b -> List.fold_left add_pred acc b.b_assumes
  in acc