Module type Ast_smtlib.Statement

module type Statement = sig .. end

type t 
The type of statements.
type id 
The type of identifiers.
type term 
The type of terms.
type location 
The type of locations.
val pop : ?loc:location -> int -> t
Pop the given number of level on the stack of assertions.
val push : ?loc:location -> int -> t
Push the given number of new level on the stack of assertions.
val assert_ : ?loc:location ->
term -> t
Add a proposition to the current set of assertions.
val check_sat : ?loc:location -> unit -> t
Solve the current set of assertions for satisfiability.
val set_logic : ?loc:location -> string -> t
Set the problem logic.
val get_info : ?loc:location -> string -> t
Get information (see smtlib manual).
val set_info : ?loc:location ->
string * term option -> t
Set information (see smtlib manual).
val get_option : ?loc:location -> string -> t
Get the value of a prover option.
val set_option : ?loc:location ->
string * term option -> t
Set the value of a prover option.
val type_decl : ?loc:location ->
id -> int -> t
Declares a new type constructor with given arity.
val type_def : ?loc:location ->
id ->
id list ->
term -> t
Defines an alias for types. type_def f args body is such that later occurences of f applied to a list of arguments l should be replaced by body where the args have been substituted by their value in l.
val fun_decl : ?loc:location ->
id ->
term list ->
term -> t
Declares a new term symbol, and its type. fun_decl f args ret declares f as a new function symbol which takes arguments of types described in args, and with return type ret.
val fun_def : ?loc:location ->
id ->
term list ->
term ->
term -> t
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.
val get_proof : ?loc:location -> unit -> t
Return the proof of the lastest check_sat if it returned unsat, else is undefined.
val get_unsat_core : ?loc:location -> unit -> t
Return the unsat core of the latest check_sat if it returned unsat, else is undefined.
val get_value : ?loc:location ->
term list -> t
Return the value of the given terms in the current model of the solver.
val get_assignment : ?loc:location -> unit -> t
Return the values of asserted propositions which have been labelled using the ":named" attribute.
val get_assertions : ?loc:location -> unit -> t
Return the current set of assertions.
val exit : ?loc:location -> unit -> t
Exit the interactive loop.