let assign_value rhs_session_id global_id term =
  
  (*
    The [get_if_value_type] function may raise an exception if the variables
    in the term do not already have a value in the [value_table]
  *)

  let if_value_term = get_if_value_type rhs_session_id term in
  let real_if_value_term =
    match if_value_term with
(*      If_lst(l) -> assign_set_value l*)
      If_set(l) -> assign_set_value l
    | _ -> if_value_term
  in
  Globals.value_table#set_value (memory_map#get_map global_id) real_if_value_term