Make.Smtlib2_7exception Error of State.ttype 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 = {id : Dolmen.Std.Id.t;loc : Dolmen.Std.Loc.t;contents : 'a;attrs : Dolmen.Std.Term.t list;implicit : bool;}type def = [ | `Instanceof of
Dolmen.Std.Id.t * term_cst * ty list * ty_var list * term_var list * term| `Term_def of Dolmen.Std.Id.t * term_cst * ty_var list * term_var list * term| `Type_alias of Dolmen.Std.Id.t * ty_cst * ty_var list * ty ]type get_info = [ | `Echo of string| `Get_assertions| `Get_assignment| `Get_info of Dolmen.Std.Statement.term| `Get_model| `Get_option of Dolmen.Std.Statement.term| `Get_proof| `Get_unsat_assumptions| `Get_unsat_core| `Get_value of term list| `Other of Dolmen.Std.Id.t * Dolmen.Std.Statement.term list ]type set_info = [ | `Set_info of Dolmen.Std.Statement.term| `Set_logic of string * Dolmen_type.Logic.t| `Set_option of Dolmen.Std.Statement.term ]type typechecked = [ | `Clause of formula list| `Decls of bool * decl list| `Defs of bool * def list| `Echo of string| `End| `Exit| `Get_assertions| `Get_assignment| `Get_info of Dolmen.Std.Statement.term| `Get_model| `Get_option of Dolmen.Std.Statement.term| `Get_proof| `Get_unsat_assumptions| `Get_unsat_core| `Get_value of term list| `Goal of formula| `Hyp of formula| `Other of Dolmen.Std.Id.t * Dolmen.Std.Statement.term list| `Pop of int| `Push of int| `Reset| `Reset_assertions| `Set_info of Dolmen.Std.Statement.term| `Set_logic of string * Dolmen_type.Logic.t| `Set_option of Dolmen.Std.Statement.term| `Solve of formula list * formula list ]module Env : sig ... endmodule P : sig ... endtype acc =
Smtlib2(State)(Dolmen.Smtlib2.Script.V2_7.Print.Make)(Expr)(Sexpr)(View)(Typer_Types).acc =
{env : Env.t;fmt : Stdlib.Format.formatter;close : unit -> unit;}val 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