Module UfSymbol
Uninterpreted function symbols
- author
- Christoph Sticksel
Types and hash-consing
Hashtables, maps and sets
val hash_uf_symbol : t -> int
Hashing function on uninterpreted function symbols
module UfSymbolHashtbl : Stdlib.Hashtbl.S with type UfSymbolHashtbl.key = t
Hash table over uninterpreted function symbols
module UfSymbolSet : Stdlib.Set.S with type UfSymbolSet.elt = t
Set over uninterpreted function symbols
module UfSymbolMap : Stdlib.Map.S with type UfSymbolMap.key = t
Map over uninterpreted function symbols
Constructor
val mk_uf_symbol : string -> Type.t list -> Type.t -> t
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.
Accessor functions
val uf_symbol_of_string : string -> t
Return a previously declared uninterpreted function symbol
Raise exception
Not_found
if symbol has not been declared.
val name_of_uf_symbol : t -> string
Return the name of the uninterpreted function symbol
Iterators over defined uninterpreted symbols
Pretty-printing
val pp_print_uf_symbol : Stdlib.Format.formatter -> t -> unit
Pretty-print a symbol
val string_of_uf_symbol : t -> string
Return a string representation of a symbol