let get_bhv_pre kf bhv =
  let add_bhv_pre_hyp b acc = (* add both requires and assumes as precond *)
    let kind = WpStrategy.Ahyp in
      WpStrategy.add_prop_fct_bhv_pre acc kind kf b ~impl_assumes:false
  in
  let pre = add_bhv_pre_hyp bhv (WpStrategy.empty_acc) in
  let pre = (* also add the default behavior precond *)
    if (Cil.is_default_behavior bhv) then pre
    else match Cil.find_default_behavior (Kernel_function.get_spec kf) with 
      | None -> pre
      | Some bdef -> add_bhv_pre_hyp bdef pre
  in
    pre