package dolmen

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Standard implementation of answers.

Type definitions

type term = Term.t
type location = Loc.t
type defs = Statement.defs

Type aliases for readability.

type descr =
  1. | Unsat
  2. | Sat of Statement.defs list option
  3. | Error of string
and t = {
  1. id : Id.t option;
  2. descr : descr;
  3. attrs : term list;
  4. loc : location;
}

implemented interfaces

include Dolmen_intf.Stmt.Response with type t := t and type id := Id.t and type term := term and type location := location and type defs := defs

Errors

val error : ?loc:location -> string -> t

Create an `ERROR` answer.

Unsat part

val unsat : ?loc:location -> unit -> t

Create an `UNSAT` answer.

SAT/model part

val fun_def : ?loc:location -> Id.t -> term list -> term list -> term -> term -> 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.

val funs_def_rec : ?loc:location -> (Id.t * term list * term list * term * term) list -> defs

Defines a list of mutually recursive functions.

val sat : ?loc:location -> defs list option -> t

Create a `SAT` answer with an (optional) model.

Std function

val print : Stdlib.Format.formatter -> t -> unit

Printing function