Predicate.PredIdTabletype identifier = pred_ididentifier is the type of the identifier stored in the table. It is meant to be associated with a string
val empty : tableempty is an empty table
val find_id_of_sym : string -> table -> identifier optionfind_id_of_sym_opt sym t returns Some id where id is the identifier of the string sym stored in t, and returns None if no such identifier exists.
val find_sym_from_id : identifier -> table -> stringfind_sym_from_id id t returns the string (i.e. the symbol) corresponding to the identifier id in table t.
val add_sym : string -> table -> identifier * tableadd_sym sym t returns a pair (id,t') where id is the identifier associated with sym in t'. If sym already was in t then t'=t and id is the identifier which it was associated with. Otherwise, a new identifier is generated and the new association is stored in t'.
val pp : Stdlib.Format.formatter -> table -> unitpp f t pretty prints the table t on the formatter f
val fold : (identifier -> string -> 'a -> 'a) -> table -> 'a -> 'afold f table a returns f id1 sym1 (f id2 sym2 ( ... ( f idN symN a) ... )) where the (id,sym) pairs are the ones that are stored in the table table. The order of these key-value pairs in the table is unspecified.