UfSymbolUninterpreted function symbols
val hash_uf_symbol : t -> intHashing function on uninterpreted function symbols
Hash table over uninterpreted function symbols
Declare an uninterpreted symbol
mk_uf_symbol s a r constructs and returns an uninterpreted symbol with its name, the type of its arguments and the type of its result.
Uninterpreted symbols can only be constructed with this function in order to ensure that they are properly declared.
Declaring an uninterpreted function again with the same signature is harmless and will simply return the previously declared symbol. However, re-declaring an uninterpreted function with a different signature will raise an Invalid_argument exception.
Import an uninterpreted symbol from a different instance into this hashcons table
We may have clashes if we import fresh uninterpreted symbols from one instance to another.
val uf_symbol_of_string : string -> tReturn a previously declared uninterpreted function symbol
Raise exception Not_found if symbol has not been declared.
val name_of_uf_symbol : t -> stringReturn the name of the uninterpreted function symbol
Return the type of the arguments of the uninterpreted symbol
fold_declarations f a computes (f sN aN rN ... (f s2 a2 r2 (f s1 a1 r1 a))...), where sI, aI and rI, respectively are the name of the uninterpreted symbol, the types of its arguments and the type of its value.
iter_declarations f t iterates f over all declarations, calling f s a r on each, where s, a and r, respectively are the name of the uninterpreted symbol, the types of its arguments and the type of its value.
val pp_print_uf_symbol : Stdlib.Format.formatter -> t -> unitPretty-print a symbol
val string_of_uf_symbol : t -> stringReturn a string representation of a symbol