let build_bhv_strategy config =
  let cfg = config.cfg in
  has_asgn_goal := false;
  has_prop_goal := false;
  let has_inv_prop, annots = get_behavior_annots cfg config in
  {
    behavior_name = behavior_name_of_config config;
    info = config;

    has_asgn_goal = !has_asgn_goal;
    has_prop_goal = !has_prop_goal;
    has_inv_prop = has_inv_prop;

    get_annots =
      (fun e -> try Hannots.find annots e with Not_found -> empty_acc);

    global_axioms = get_global_annotations ();

    (* Needed to process calls *)
    called_preconditions =
      (fun kf -> get_ext_preconditions kf (Kernel_function.get_spec kf));
    called_postconditions =
      (fun kf -> get_ext_postconditions kf Normal);
    called_exit_postconditions =
      (fun kf -> get_ext_postconditions kf Exits);
    called_assigns =
      (fun kf -> get_ext_fct_assigns (Kernel_function.get_spec kf));

    strategy_kind = SKannots;
  }