sig
  type vars_entry
  type vars_entry_by_name
  type called_subsystems_diary
  val create_empty_var_diary : unit -> Simplification.vars_entry
  val create_fun_name_in_call_table :
    unit -> Simplification.called_subsystems_diary
  val get_diary_table : Simplification.vars_entry -> (string, unit) Hashtbl.t
  val add_vars_of_cnt_trans_label_to_diary :
    Simplification.vars_entry -> Nts_types.nts_trans_label -> unit
  val register_called_subsystems :
    Simplification.called_subsystems_diary ->
    Nts_types.nts_trans_label -> unit
  val add_vars_of_trans_label_list_to_diary :
    Simplification.vars_entry -> Nts_types.nts_trans_label list -> unit
  val add_fun_name_in_call_table :
    Simplification.called_subsystems_diary -> string -> unit
  val is_name_in_call_table :
    Simplification.called_subsystems_diary -> string -> bool
  val contains_var : Simplification.vars_entry -> Nts_types.nts_var -> bool
  val contains_nts_genrel_var :
    Simplification.vars_entry -> Nts_types.nts_genrel_var -> bool
  val pprint_diary : Simplification.vars_entry -> unit
end