let make_sid_variable session_id role_id =
  let sid_var_string_id =
    Globals.string_id#register_name
      "SID"
      role_id
  in
  let sid_const_string_id =
    string_id#register_name
      (string_of_int session_id)
      role_id
  in
  let sid_var_type =
    type_table#register_type
      sid_var_string_id
      (Base(Nat))
  in
  if sid_var_type <> (Types.Base Types.Natthen
      Semantic_check.add_sem_error
        (18,"pre-defined variable SID has to be of type nat","","","","");
  let sid_const_type =
    type_table#register_type 
      sid_const_string_id 
      (Base(Nat)) 
  in
  if sid_const_type <> (Types.Base Types.Natthen
      Semantic_check.add_sem_error
        (18,"pre-defined constant "^(string_of_int session_id)^" has to be of type nat","","","","");
 let sid_var_id =
    Globals.global_var_id#get_id_of 
      session_id 
      sid_var_string_id 
  in
  let sid_var_mmap_id =
    Globals.memory_map#map_new_var 
      sid_var_id 
  in
(*  let sid_var_value =
    Globals.value_table#set_value
      sid_var_mmap_id
      (If_const(sid_const_string_id))
  in *)
 
  Globals.value_table#set_value
      sid_var_mmap_id
      (If_const(sid_const_string_id));
  sid_var_id