Make.S
type t
The type of statements.
type defs
Definition for model values
val fun_def : ?loc:L.t -> I.t -> T.t list -> T.t list -> T.t -> T.t -> defs
Defines a new function. fun_def f args ret body is such that applications of f are equal to body (module substitution of the arguments), which should be of type ret.
fun_def f args ret body
f
body
ret
val funs_def_rec : ?loc:L.t -> (I.t * T.t list * T.t list * T.t * T.t) list -> defs
Defines a list of mutually recursive functions.
val sat : ?loc:L.t -> defs list option -> t
Create a `SAT` answer with an (optional) model.
val unsat : ?loc:L.t -> unit -> t
Create an `UNSAT` answer.
val error : ?loc:L.t -> string -> t
Create an `ERROR` answer.