let upd_one_trans trans func status loc allowedCrossableTr computedIsActiveSt =
  let b = ref true in
  let expr=
    if allowedCrossableTr.(trans.numt) && (computedIsActiveSt.(trans.start.nums)) then
(* (isCrossable trans func status) && (computedIsActiveSt.(trans.start.nums)) then *)
      conj_crosscond_old
        (crosscond_to_exp trans.cross func status)
        (new_exp (Lval(mk_int_offseted_array_lval curStateOld trans.start.nums)))


    else
      begin
        b:=false;
        (mk_int_exp 0)
      end
  in
  (!b,
   Cil_types.Set(
     (mk_int_offseted_array_lval curTrans trans.numt),
     expr,
     loc
    ))