package colibri2
include module type of struct include Dolmen_std.Expr.Ty.Const end
A module for constant symbols the occur in types.
type t = Dolmen_std.Expr.ty_cst
The type of constant symbols the can occur in types
val print : Stdlib.Format.formatter -> t -> unit
Printer.
val hash : t -> int
A hash function for type constants, should be suitable to create hashtables.
An equality function on type constants. Should be compatible with the hash function.
val arity : t -> int
Return the arity of the given symbol.
val mk : Dolmen_std.Path.t -> int -> t
Create a type constant with the given arity.
val get_tag : t -> 'a Dolmen_std.Tag.t -> 'a option
Get the value bound to a tag.
val get_tag_list : t -> 'a list Dolmen_std.Tag.t -> 'a list
Get the list of values bound to a list tag, returning the empty list if no value is bound.
val get_tag_last : t -> 'a list Dolmen_std.Tag.t -> 'a option
Get the last value bound to a list tag.
val set_tag : t -> 'a Dolmen_std.Tag.t -> 'a -> unit
Set the value bound to the tag.
val add_tag : t -> 'a list Dolmen_std.Tag.t -> 'a -> unit
Bind an additional value to a list tag.
val add_tag_opt : t -> 'a list Dolmen_std.Tag.t -> 'a option -> unit
Optionally bind an additional value to a list tag.
val add_tag_list : t -> 'a list Dolmen_std.Tag.t -> 'a list -> unit
Bind a list of additional values to a list tag.
val unset_tag : t -> _ Dolmen_std.Tag.t -> unit
Remove the binding to the given tag.
val int : t
The type constant for integers
val rat : t
The type constant for rationals
val real : t
The type constant for reals.
val prop : t
The type constant for propositions
val unit : t
The unit type.
val base : t
An arbitrary type constant.
val array : t
The type constant for arrays
val bitv : int -> t
Bitvectors of the given length.
val string : t
The type constant for strings
val string_reg_lang : t
The type constant for regular languages over strings.
val pp : Stdlib.Format.formatter -> t -> unit