let upd_one_state trans_l statenum (*func status*) loc computedIsCrossTr (*nbTransitions*) allowedActiveSt=
  let expr_l=ref [] in
  List.iter
    (fun tr ->
       if (statenum=tr.stop.nums) && (computedIsCrossTr.(tr.numt)) && allowedActiveSt.(statenum) then
         (
           (*if (nbTransitions>1) then*)
             expr_l :=
               (new_exp (Lval(mk_int_offseted_array_lval curTrans tr.numt))
                ::!expr_l)
         (*else
             expr_l := (mk_int_exp 1)::!expr_l*)

         )
    )
    trans_l;

  let expr =
    if !expr_l=[] then mk_int_exp 0
    else mk_expr_disjunction !expr_l
  in
  let offset = Cil.new_exp (Const (CEnum (find_enum statenum)))
  in
  Cil_types.Set(
    (mk_offseted_array_lval curState offset),
    expr,
    loc
  )