Expr.TySourceRaised when applying a type constant to the wrong number of arguments.
Raised when the type provided is polymorphic, but occurred in a place where polymorphic types are forbidden by prenex/rank-1 polymorphism.
An equality function on types. Should be compatible with the hash function.
Comparison function over types. Should be compativle with the equality function.
Printing function.
type view = [ | `PropPropositions/booleans
*)| `IntIntegers
*)| `RatRationals
*)| `RealReals
*)| `Array of ty * tyFunction arrays, from source to destination type.
*)| `Bitv of intBitvectors of fixed length.
*)| `Float of int * intFloating points.
*)| `StringStrings
*)| `String_reg_langRegular languages over strings
*)| `Var of ty_varVariables (excluding wildcards)
*)| `Wildcard of ty_varWildcards
*)| `App of [ `Generic of ty_cst | `Builtin of builtin ] * ty listGeneric applications.
*)| `Arrow of ty list * ty| `Pi of ty_var list * ty ]View on types.
Returns the number of expected type arguments that the given type expects (i.e. the number of prenex polymorphic variables in the given type).
One case of an algebraic datatype definition.
The various ways to define a type inside the solver.
Freshen a type, replacing all its bound variables by new/fresh type variables.
Tag for hooks called upon the wildcard instantiation.
Get the list of values bound to a list tag, returning the empty list if no value is bound.
Optionally bind an additional value to a list tag.
Bind a list of additional values to a list tag.