let get_preds_wrt_params (transl:bool array) (f:string) (status:Promelaast.funcStatus) =
  (* These two constants are never used, but are syntactically needed to call the conversion function *)
  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
           (* Gets the cross condition of the transition *)
           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


             (* Generates the condition of the transition *)
             (* hyp <-- aoraiStates[trn]!=0  *)
             let hyp = Prel(Rneq,mk_offseted_array_lval_from_term (host_trans_term()) (mk_int_term trn), mk_int_term 0) in
             (* pred <-- hyp ==> pred *)
             let pred = Pimplies (unamed (hyp),unamed pred) in

             (* Adds the implication in the result list *)
             preds:=pred::!preds
         end
    )
    transl;

  if(!preds=[]) then None
  else Some(mk_conjunction(!preds))