type !'a stmt =
'a Dolmen_loop__Typer.Make(DStd.Expr)(DStd.Expr.Print)(State)(Typer).stmt =
{
id : Dolmen.Std.Id.t;
loc : Dolmen.Std.Loc.t;
contents : 'a;
attrs : Dolmen.Std.Term.t list;
implicit : bool;
}
type decl = [
| `Term_decl of DStd.Expr.term_cst
| `Type_decl of DStd.Expr.ty_cst * DStd.Expr.ty_def option
]
type decls = [
| `Decls of decl list
]
type def = [
| `Instanceof of
Dolmen.Std.Id.t
* DStd.Expr.term_cst
* DStd.Expr.ty list
* DStd.Expr.ty_var list
* DStd.Expr.term_var list
* DStd.Expr.term
| `Term_def of
Dolmen.Std.Id.t
* DStd.Expr.term_cst
* DStd.Expr.ty_var list
* DStd.Expr.term_var list
* DStd.Expr.term
| `Type_alias of
Dolmen.Std.Id.t * DStd.Expr.ty_cst * DStd.Expr.ty_var list * DStd.Expr.ty
]
type defs = [
| `Defs of def list
]
type assume = [
| `Clause of DStd.Expr.formula list
| `Goal of DStd.Expr.formula
| `Hyp of DStd.Expr.formula
]
type solve = [
| `Solve of DStd.Expr.formula list * DStd.Expr.formula list
]
type get_info = [
| `Echo of string
| `Get_assertions
| `Get_assignment
| `Get_info of string
| `Get_model
| `Get_option of string
| `Get_proof
| `Get_unsat_assumptions
| `Get_unsat_core
| `Get_value of DStd.Expr.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 stack_control = [
| `Pop of int
| `Push of int
| `Reset
| `Reset_assertions
]
type typechecked = [
| `Clause of DStd.Expr.formula list
| `Decls of decl list
| `Defs of def list
| `Echo of string
| `Exit
| `Get_assertions
| `Get_assignment
| `Get_info of string
| `Get_model
| `Get_option of string
| `Get_proof
| `Get_unsat_assumptions
| `Get_unsat_core
| `Get_value of DStd.Expr.term list
| `Goal of DStd.Expr.formula
| `Hyp of DStd.Expr.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 DStd.Expr.formula list * DStd.Expr.formula list
]