Module UfSymbol
Uninterpreted function symbols
- author
- Christoph Sticksel
Types and hash-consing
Hashtables, maps and sets
val hash_uf_symbol : t -> intHashing function on uninterpreted function symbols
module UfSymbolHashtbl : Stdlib.Hashtbl.S with type UfSymbolHashtbl.key = tHash table over uninterpreted function symbols
module UfSymbolSet : Stdlib.Set.S with type UfSymbolSet.elt = tSet over uninterpreted function symbols
module UfSymbolMap : Stdlib.Map.S with type UfSymbolMap.key = tMap over uninterpreted function symbols
Constructor
val mk_uf_symbol : string -> Type.t list -> Type.t -> tDeclare an uninterpreted symbol
mk_uf_symbol s a rconstructs 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_argumentexception.
Accessor functions
val uf_symbol_of_string : string -> tReturn a previously declared uninterpreted function symbol
Raise exception
Not_foundif symbol has not been declared.
val name_of_uf_symbol : t -> stringReturn the name of the uninterpreted function symbol
Iterators over defined uninterpreted symbols
Pretty-printing
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