TypeTypes of terms
A type has to be hash-consed to be used in hash-consed terms.
val get_bv_size : t -> int optionval hash_type : t -> intHashing function on types
val mk_bool : unit -> tReturn the boolean type
val mk_int : unit -> tReturn the integer type
val mk_real : unit -> tReturn the real decimal type
val mk_ubv : int -> tReturn the unsigned bitvector type
val mk_bv : int -> tReturn the bitvector type
val mk_abstr : string -> tReturn an abstract type
val mk_enum : string -> string list -> tReturn an enumerated datatype type
Return a recursive algebraic datatype. Self-referential field types should be represented with mk_datatype_ref name.
val mk_datatype_ref : string -> tReturn a placeholder for a direct self-reference to the named datatype, for use as a field type within that datatype's own constructor list.
val t_bool : tThe boolean type
val t_int : tThe integer type
val t_real : tThe real decimal type
val t_ubv : int -> tThe unsigned bitvector type
val t_bv : int -> tThe bitvector type
val is_bool : t -> boolReturn true if the type is the Boolean type
val is_int : t -> boolReturn true if the type is the integer type
val is_ubitvector : t -> boolReturn true if the type is an unsigned bitvector (integern) type
val is_ubitvector_len : int -> t -> boolReturn true if the type is an unsigned bitvector (integern) type of the given width
val is_bitvector : t -> boolReturn true if the type is a bitvector (integern) type
val is_bitvector_len : int -> t -> boolReturn true if the type is a bitvector (integern) type of the given width
val bitvectorsize : t -> intReturn true if the type is a bitvector (integern) type
val is_uint8 : t -> boolReturn true if the type is the unsigned integer8 type
val is_uint16 : t -> boolReturn true if the type is the unsigned integer16 type
val is_uint32 : t -> boolReturn true if the type is the unsigned integer32 type
val is_uint64 : t -> boolReturn true if the type is the unsigned integer64 type
val is_int8 : t -> boolReturn true if the type is the integer8 type
val is_int16 : t -> boolReturn true if the type is the integer16 type
val is_int32 : t -> boolReturn true if the type is the integer32 type
val is_int64 : t -> boolReturn true if the type is the integer64 type
val is_int_range : t -> boolReturn true if the type is an integer range type
val is_enum : t -> boolReturn true if the type is an integer range type
val is_real : t -> boolReturn true if the type is the real type
val is_array : t -> boolReturn true if the type is an array type
val is_abstr : t -> boolReturn true if the type is abstract
val is_datatype : t -> boolReturn true if the type is a recursive algebraic datatype (not a self-reference placeholder -- see is_datatype_ref)
Return the constructors of a datatype, fail if not a datatype
val name_of_datatype : t -> stringReturn the name of a datatype, fail if not a datatype
val is_datatype_ref : t -> boolReturn true if the type is a self-reference placeholder (see mk_datatype_ref)
val name_of_datatype_ref : t -> stringReturn the name of a self-reference placeholder, fail if not one
Return bounds of an integer range type, fail with Invalid_argument "bounds_of_int_range" if the type is not an integer range type.
Return bounds of an enum type, fail with Invalid_argument "bounds_of_enum" if the type is not an integer range type.
val constructors_of_enum : t -> string listReturn constructors of an enumerated datatype
val name_of_enum : t -> stringReturn the name of an enumerated datatype encoded as int ranges
val get_constr_of_num : Numeral.t -> stringReturn the constructor encoded by the numeral argument
val get_all_abstr_types : unit -> t listReturn abstract types that have been built
val get_num_of_constr : string -> Numeral.tReturn the numeral encoding of a construcor of an enumerated datatype
val enum_of_constr : string -> tReturn the enumerated dataype to which the constructor belongs
val pp_print_type_node : Stdlib.Format.formatter -> kindtype -> unitPretty-print a type
val pp_print_type : Stdlib.Format.formatter -> t -> unitPretty-print a type
val print_type : t -> unitPretty-print a type to the standard formatter
val string_of_type : t -> stringReturn a string representation of a type
val pp_print_type_node_debug : Stdlib.Format.formatter -> kindtype -> unitPretty-print a type
val pp_print_type_debug : Stdlib.Format.formatter -> t -> unitPretty-print a type
val print_type_debug : t -> unitPretty-print a type to the standard formatter
val string_of_type_debug : t -> stringReturn a string representation of a type