sig
  type t = Hstring.t
  val type_int : Smt_sig.S.Type.t
  val type_real : Smt_sig.S.Type.t
  val type_bool : Smt_sig.S.Type.t
  val type_proc : Smt_sig.S.Type.t
  val declare : Hstring.t -> Hstring.t list -> unit
  val all_constructors : unit -> Hstring.t list
  val constructors : Smt_sig.S.Type.t -> Hstring.t list
  val declared_types : unit -> Smt_sig.S.Type.t list
end