let get_preds_wrt_params (transl:bool array) (f:string) (status:Promelaast.funcStatus) =
let op = Cil_const.make_logic_var "_aorai_op" Linteger in
let st = Cil_const.make_logic_var "_aorai_status" Linteger in
let preds = ref [] in
Array.iteri
(fun trn b ->
if b then
begin
let llclause = Data_for_aorai.getParametrizedCondOfTransition trn in
let llclauseUnderContexte = Logic_simplification.simplifyDNFwrtCtx llclause f status in
if llclauseUnderContexte=[] or llclauseUnderContexte=[[PTrue]] then
()
else
let cond = Logic_simplification.dnfToCond llclauseUnderContexte in
let pred = crosscond_to_pred false cond op st in
let hyp = Prel(Rneq,mk_offseted_array_lval_from_term (host_trans_term()) (mk_int_term trn), mk_int_term 0) in
let pred = Pimplies (unamed (hyp),unamed pred) in
preds:=pred::!preds
end
)
transl;
if(!preds=[]) then None
else Some(mk_conjunction(!preds))