let make_prev_pred func status st auto_state =
  let (_,tr_state) = auto_state in
  let auto = Data_for_aorai.getAutomata () in
  let trans = Path_analysis.get_transitions_to_state st auto in
  let event = (func, status) in
  let op = Data_for_aorai.get_logic_var Data_for_aorai.curOp in
  let func_status = Data_for_aorai.get_logic_var Data_for_aorai.curOp in
  List.fold_left
    (fun conds tr ->
      if tr_state.(tr.numt) then
        let cond, _ = tr.cross in
        let my_pred =
          Logic_const.pand
            (is_state_pred tr.start,
             crosscond_to_pred ~event cond op func_status)
        in
        Logic_const.por (my_pred,conds)
      else conds (* transition can't be taken at that point. *)
    )
    pfalse trans