Loop.Makemodule State : Dolmen_loop.State.Smodule Typer :
Dolmen_loop.Typer.Typer_Full
with type state := State.t
and type 'a key := 'a State.key
and type ty_state := Dolmen_loop.Typer.ty_state
and type env = Dolmen_loop.Typer.T.envmodule Typer_Pipe :
Dolmen_loop.Typer.S
with type state := State.t
and type 'a key := 'a State.key
and type ty := Dolmen.Std.Expr.ty
and type ty_var := Dolmen.Std.Expr.ty_var
and type ty_cst := Dolmen.Std.Expr.ty_cst
and type ty_def := Dolmen.Std.Expr.ty_def
and type term := Dolmen.Std.Expr.term
and type term_var := Dolmen.Std.Expr.term_var
and type term_cst := Dolmen.Std.Expr.term_cst
and type formula := Dolmen.Std.Expr.formulaval core_builtins : Env.builtinsval check_model : bool State.keyval builtins : Env.builtins State.keyval eval :
reraise_for_delayed_eval:bool ->
file:'a Dolmen_loop__State.input_file ->
loc:Dolmen.Std.Loc.full ->
State.t ->
Model.t ->
Dolmen_model.Fun.E.term ->
Value.tval pack_abstract_defs :
loc:Dolmen.Std.Loc.full ->
file:Dolmen_loop.Logic.language file ->
[< `Instanceof of 'a
| `Term_def of
'b
* 'c
* Dolmen.Std.Expr.Term.ty_var list
* Dolmen.Std.Expr.Term.Var.t list
* Dolmen.Std.Expr.Term.t
| `Type_alias of 'd ]
list ->
('c * Dolmen.Std.Expr.Term.t) list locatedval record_defs :
State.t ->
Model.t ->
Dolmen.Std.Expr.Term.Const.t list ->
Dolmen.Std.Statement.defs ->
[< `Instanceof of
'a
* Dolmen.Std.Expr.Term.Const.t
* Dolmen_model.Fun.E.Ty.t list
* 'b list
* Dolmen_model.Fun.E.Term.Var.t list
* Dolmen.Std.Expr.Term.t
| `Term_def of
'c
* Dolmen.Std.Expr.Term.Const.t
* Dolmen.Std.Expr.Term.ty_var list
* Dolmen.Std.Expr.Term.Var.t list
* Dolmen.Std.Expr.Term.t
| `Type_alias of 'd ]
list ->
State.t * Model.t * Dolmen.Std.Expr.Term.Const.t listval are_defs_declared : State.t -> Dolmen.Std.Statement.defs -> State.t * boolval type_model_aux :
input:Typer.input ->
?attrs:Dolmen.Std.Term.t list ->
State.t ->
Model.t ->
Dolmen.Std.Expr.Term.Const.t list ->
Dolmen.Std.Statement.def Dolmen.Std.Statement.group ->
State.t * Model.t * Dolmen.Std.Expr.Term.Const.t listval type_model_defined :
input:Typer.input ->
?attrs:Dolmen.Std.Term.t list ->
State.t ->
Model.t ->
Dolmen.Std.Expr.Term.Const.t list ->
Dolmen.Std.Statement.defs list ->
State.t
* Model.t
* Dolmen.Std.Expr.Term.Const.t list
* Dolmen.Std.Statement.defs listval type_model_partial :
?attrs:Dolmen.Std.Term.t list ->
State.t ->
Model.t ->
Dolmen.Std.Statement.defs list ->
State.t
* Model.t
* Dolmen.Std.Expr.Term.Const.t list
* Dolmen.Std.Statement.defs listval gen_answer :
(State.t -> 'a * Dolmen.Std.Answer.t option) ->
State.t ->
'a * answerval get_answer :
file:'a Dolmen_loop__State.input_file ->
loc:Dolmen.Std.Loc.full ->
State.t ->
State.t * answerval eval_prop :
reraise:bool ->
file:Dolmen_loop.Logic.language Dolmen_loop.State.input_file ->
loc:Dolmen.Std.Loc.full ->
State.t ->
Model.t ->
Dolmen.Std.Expr.Term.t ->
boolval eval_clause :
reraise:bool ->
State.t ->
Model.t ->
Dolmen.Std.Expr.Term.t list located ->
State.tval check_defs :
State.t ->
file:Dolmen_loop.Logic.language file ->
loc:Dolmen.Std.Loc.full ->
[< `Instanceof of 'a
| `Term_def of
'b
* cst
* Dolmen.Std.Expr.Term.ty_var list
* Dolmen.Std.Expr.Term.Var.t list
* Dolmen.Std.Expr.Term.t
| `Type_alias of 'c ]
list ->
State.tval check_hyps :
State.t ->
file:Dolmen_loop.Logic.language Dolmen_loop.State.input_file ->
loc:Dolmen.Std.Loc.full ->
term ->
State.tval check_goal :
State.t ->
file:Dolmen_loop.Logic.language Dolmen_loop.State.input_file ->
loc:Dolmen.Std.Loc.full ->
term ->
State.tval check_clause :
State.t ->
file:Dolmen_loop.Logic.language Dolmen_loop.State.input_file ->
loc:Dolmen.Std.Loc.full ->
term list ->
State.tval check_solve :
State.t ->
file:Dolmen_loop.Logic.language Dolmen_loop.State.input_file ->
loc:Dolmen.Std.Loc.full ->
term list ->
term list ->
State.tval check :
State.t ->
Typer_Pipe.typechecked Typer_Pipe.stmt list ->
State.t * Typer_Pipe.typechecked Typer_Pipe.stmt list