Export.Smtlib2module Printer : Make_smt2_printermodule Expr : Expr_intf.Exportmodule Sexpr :
Dolmen_intf.View.Sexpr.S
with type t = Dolmen_std.Term.t
and type id := Dolmen_std.Id.tmodule View :
Dolmen_intf.View.TFF.S
with type ty = Expr.Ty.t
and type ty_var = Expr.Ty.Var.t
and type ty_cst = Expr.Ty.Const.t
and type ty_def = Expr.ty_def
and type term = Expr.Term.t
and type term_var = Expr.Term.Var.t
and type term_cst = Expr.Term.Const.tmodule Typer_Types :
Typer.Types
with type ty = Expr.ty
and type ty_var = Expr.ty_var
and type ty_cst = Expr.ty_cst
and type ty_def = Expr.ty_def
and type term = Expr.term
and type term_var = Expr.term_var
and type term_cst = Expr.term_cst
and type formula = Expr.termexception Error of State.tinclude module type of struct include Typer_Types endinclude Expr_intf.S
with type ty = Expr.ty
with type ty_var = Expr.ty_var
with type ty_cst = Expr.ty_cst
with type ty_def = Expr.ty_def
with type term = Expr.term
with type term_var = Expr.term_var
with type term_cst = Expr.term_cst
with type formula = Expr.termtype ty = Expr.tytype ty_var = Expr.ty_vartype ty_cst = Expr.ty_csttype ty_def = Expr.ty_deftype term = Expr.termtype term_var = Expr.term_vartype term_cst = Expr.term_csttype formula = Expr.termtype nonrec +'a stmt = 'a Typer_intf.stmt = {id : Dolmen.Std.Id.t;loc : Dolmen.Std.Loc.t;contents : 'a;attrs : Dolmen.Std.Term.t list;implicit : bool;}Wrapper around statements. It records implicit type declarations.
The type of top-level type declarations.
A list of type declarations.
type def = [ | `Type_alias of Dolmen.Std.Id.t * ty_cst * ty_var list * ty| `Term_def of Dolmen.Std.Id.t * term_cst * ty_var list * term_var list * term| `Instanceof of
Dolmen.Std.Id.t * term_cst * ty list * ty_var list * term_var list * term ]The type of top-level type definitions. Type definitions are inlined and so can be ignored.
A list of definitions
The type of top-level assertion statements
type solve = [ | `Solve of formula list * formula list`Solve (hyps, goals) represents a sequent with local hypotheses hyps and local goals goals.
]Top-level solve instruction
type get_info = [ | `Get_info of Dolmen.Std.Statement.term| `Get_option of Dolmen.Std.Statement.term| `Get_proof| `Get_unsat_core| `Get_unsat_assumptions| `Get_model| `Get_value of term list| `Get_assignment| `Get_assertions| `Echo of string| `Other of Dolmen.Std.Id.t * Dolmen.Std.Statement.term list ]Various info getters
type set_info = [ | `Set_logic of string * Dolmen_type.Logic.t| `Set_info of Dolmen.Std.Statement.term| `Set_option of Dolmen.Std.Statement.term ]Info setters
module Env : sig ... endmodule P : sig ... endval init : close:(unit -> unit) -> Stdlib.Format.formatter -> accval map_decl :
[< `Term_decl of 'a | `Type_decl of 'b * View.Ty.Def.t option ] ->
[> `Left of [> `Term_decl of 'a | `Type_decl of 'b ]
| `Right of
'b
* View.ty_var list
* (View.term_cst * (View.ty * View.term_cst) list) list ]val register_simple_decl :
Env.t ->
[< `Term_decl of Expr.term_cst | `Type_decl of Expr.ty_cst ] ->
Env.tval register_adt_decl :
Env.t ->
(Expr.ty_cst * 'a * (Expr.term_cst * ('b * Expr.term_cst) list) list) ->
Env.tval print_simple_decl :
(State.t * acc) ->
[< `Term_decl of Env.term_cst | `Type_decl of Env.ty_cst ] ->
State.t * accval print_decls :
State.t ->
acc ->
[< `Implicit_type_var
| `Term_decl of Env.term_cst
| `Type_decl of Env.ty_cst * View.Ty.Def.t option ]
list ->
'a ->
State.t * accval map_def :
State.t ->
[< `Instanceof of 'a
| `Term_def of 'b * 'c * 'd * 'e * 'f
| `Type_alias of 'g * 'h * 'i * 'j ] ->
[> `Left of 'h * 'i * 'j | `Right of 'c * 'd * 'e * 'f ]val assert_not_named : Expr.Term.Const.t -> unitval print_defs :
State.t ->
acc ->
[< `Instanceof of 'a
| `Term_def of
'b * Expr.Term.Const.t * Env.ty_var list * Env.term_var list * Env.term
| `Type_alias of 'c * Env.ty_cst * Env.ty_var list * Env.ty ]
list ->
bool ->
State.t * accval is_not_trivially_false : View.Term.t -> boolval print :
State.t ->
acc ->
Typer_Types.typechecked Typer_Types.stmt ->
State.t * acc