package dolmen

  1. Overview
  2. Docs
A parser library

Install

Dune Dependency

Authors

Maintainers

Sources

dolmen-0.4.1.tar.gz
md5=55a97ff61dd8398e38570272ae7e3964
sha512=83f71037eb568d5449ff2d968cb50a0b105c9712e0bd29497d1f95683698f394860a11d4dee2a2a41163504e395ef068c3974901fca11894d671684fe438fc51

doc/dolmen.smtlib/Dolmen_smtlib/module-type-Statement/index.html

Module type Dolmen_smtlib.StatementSource

Implementation requirement for the Smtlib format.

Sourcetype t

The type of statements.

Sourcetype id

The type of identifiers.

Sourcetype term

The type of terms.

Sourcetype location

The type of locations.

(Re)starting and terminating

Sourceval reset : ?loc:location -> unit -> t

Full reset of the prover state.

Sourceval set_logic : ?loc:location -> string -> t

Set the problem logic.

Sourceval set_option : ?loc:location -> term -> t

Set the value of a prover option.

Sourceval exit : ?loc:location -> unit -> t

Exit the interactive loop.

Modifying the assertion stack

Sourceval push : ?loc:location -> int -> t

Push the given number of new level on the stack of assertions.

Sourceval pop : ?loc:location -> int -> t

Pop the given number of level on the stack of assertions.

Sourceval reset_assertions : ?loc:location -> unit -> t

Reset assumed assertions.

Introducing new symbols

Sourceval type_decl : ?loc:location -> id -> int -> t

Declares a new type constructor with given arity.

Sourceval 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.

Sourceval datatypes : ?loc:location -> (id * term list * (id * term list) list) list -> t

Inductive type definitions.

Sourceval 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.

Sourceval 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.

Sourceval funs_def_rec : ?loc:location -> (id * term list * term * term) list -> t

Declare a list of mutually recursive functions.

Asserting and inspecting formulas

Sourceval assert_ : ?loc:location -> term -> t

Add a proposition to the current set of assertions.

Sourceval get_assertions : ?loc:location -> unit -> t

Return the current set of assertions.

Checking for satisfiablity

Sourceval check_sat : ?loc:location -> term list -> t

Solve the current set of assertions for satisfiability, under the local assumptions specified.

Models

Sourceval get_model : ?loc:location -> unit -> t

Return the model found.

Sourceval get_value : ?loc:location -> term list -> t

Return the value of the given terms in the current model of the solver.

Sourceval get_assignment : ?loc:location -> unit -> t

Return the values of asserted propositions which have been labelled using the ":named" attribute.

Proofs

Sourceval get_proof : ?loc:location -> unit -> t

Return the proof of the lastest check_sat if it returned unsat, else is undefined.

Sourceval get_unsat_core : ?loc:location -> unit -> t

Return the unsat core of the latest check_sat if it returned unsat, else is undefined.

Sourceval get_unsat_assumptions : ?loc:location -> unit -> t

Return a list of local assumptions (as givne in check_sat, that is enough to deduce unsat.

Inspecting settings

Sourceval get_info : ?loc:location -> string -> t

Get information (see smtlib manual).

Sourceval get_option : ?loc:location -> string -> t

Get the value of a prover option.

Scripts commands

Sourceval echo : ?loc:location -> string -> t

Print back as-is, including the double quotes.

Sourceval set_info : ?loc:location -> term -> t

Set information (see smtlib manual).

OCaml

Innovation. Community. Security.