Module TypedSTerm.Ty
type t= termtype builtin=|Prop|TType|Term|Int|Rat|Realtype view=|Ty_builtin of builtin|Ty_var of t Var.t|Ty_app of ID.t * t list|Ty_fun of t list * t|Ty_forall of t Var.t * t|Ty_multiset of t|Ty_record of (string * t) list * t Var.t option|Ty_meta of meta_var
val tType : tval var : ?loc:location -> t Var.t -> tval var_of_string : ?loc:location -> string -> tval meta : ?loc:location -> meta_var -> tval fun_ : ?loc:location -> t list -> t -> tval app : ?loc:location -> ID.t -> t list -> tval const : ?loc:location -> ID.t -> tval forall : ?loc:location -> t Var.t -> t -> tval forall_l : ?loc:location -> t Var.t list -> t -> tval multiset : ?loc:location -> t -> tval record : ?loc:location -> (string * t) list -> rest:t Var.t option -> tval record_flatten : ?loc:location -> (string * t) list -> rest:t option -> tval prop : tval int : tval rat : tval real : tval real : tval term : tval (==>) : t list -> t -> talias for
fun_
val close_forall : t -> tval unfold : t -> t Var.t list * t list * tunfold [forall a b. x y z -> ret]returns the triples[a,b], [x,y,z], ret
val arity : t -> int * intarity tyreturns(n,m)wherety = forall x1..xn (a1 ... am -> ret)
val mangle : t -> stringString usable as an identifier, without whitespace
val needs_args : t -> boolneeds_args tymeans thatarity ty <> (0,0)
val is_quantifier_free : t -> booltrueiff it contains no "forall ty"
val is_prenex : t -> booltrueiff prenex quantification only