let mk_global_predicate name moment params_l pred =
(*let log_var_params = List.map (fun p -> Cil.make_logic_var p Linteger) params_l in *)
let pred_info= Cil_const.make_logic_info name in
(* name of the predicate. *)
pred_info.l_profile <- params_l; (*log_var_params;*)
(* arguments of the predicate. *)
pred_info.l_labels <- List.map (fun x -> LogicLabel(x)) moment;
(* label arguments. *)
pred_info.l_body <- LBpred(unamed pred); (* definition. *)
(*
pred_info.l_type <- None; (* return type. *)
pred_info.l_tparams <- []
*)
Data_for_ltl.add_predicate name pred_info;
globals_queue:=GAnnot(
Dfun_or_pred(pred_info),
(*Dpredicate_def (pred_info,
[] (*moment*),
pred_info.p_profile,
unamed pred
),*)
Cilutil.locUnknown
)::(!globals_queue)