sig
  type symbol
  val kind : Z3.Symbol.symbol -> Z3enums.symbol_kind
  val is_int_symbol : Z3.Symbol.symbol -> bool
  val is_string_symbol : Z3.Symbol.symbol -> bool
  val get_int : Z3.Symbol.symbol -> int
  val get_string : Z3.Symbol.symbol -> string
  val to_string : Z3.Symbol.symbol -> string
  val mk_int : Z3.context -> int -> Z3.Symbol.symbol
  val mk_string : Z3.context -> string -> Z3.Symbol.symbol
  val mk_ints : Z3.context -> int list -> Z3.Symbol.symbol list
  val mk_strings : Z3.context -> string list -> Z3.Symbol.symbol list
end