Data.TermSourceval pp_arg_mode :
Ppx_deriving_runtime.Format.formatter ->
arg_mode ->
Ppx_deriving_runtime.unitval pp_mode_aux :
Ppx_deriving_runtime.Format.formatter ->
mode_aux ->
Ppx_deriving_runtime.unittype ttype = | TConst of Elpi_util.Util.constant| TApp of Elpi_util.Util.constant * ttype * ttype list| TPred of bool * (arg_mode * ttype) list| TArr of ttype * ttype| TCData of Elpi_util.Util.CData.t| TLam of ttypetype term = | Const of Elpi_util.Util.constant| Lam of term| App of Elpi_util.Util.constant * term * term list| Cons of term * term| Nil| Discard| Builtin of Elpi_util.Util.constant * term list| CData of Elpi_util.Util.CData.t| UVar of uvar_body * int * int| AppUVar of uvar_body * int * term list| Arg of int * int| AppArg of int * term listval pp_uvar_body :
Ppx_deriving_runtime.Format.formatter ->
uvar_body ->
Ppx_deriving_runtime.unittype clause = {depth : int;args : term list;hyps : term list;vars : int;mode : mode;loc : Elpi_util.Util.Loc.t option;mutable timestamp : int list;}val pp_grafting_time :
Ppx_deriving_runtime.Format.formatter ->
grafting_time ->
Ppx_deriving_runtime.unitand second_lvl_idx = | TwoLevelIndex of {mode : mode;argno : int;all_clauses : clause_list;flex_arg_clauses : clause_list;arg_idx : clause_list Ptmap.t;}| BitHash of {mode : mode;args : int list;args_idx : clause_list Ptmap.t;}| IndexWithDiscriminationTree of {mode : mode;arg_depths : int list;args_idx : clause Discrimination_tree.t;}val pp_stuck_goal :
Ppx_deriving_runtime.Format.formatter ->
stuck_goal ->
Ppx_deriving_runtime.unitval pp_blockers :
Ppx_deriving_runtime.Format.formatter ->
blockers ->
Ppx_deriving_runtime.unitval pp_unification_def :
Ppx_deriving_runtime.Format.formatter ->
unification_def ->
Ppx_deriving_runtime.unitval pp_clause_src :
Ppx_deriving_runtime.Format.formatter ->
clause_src ->
Ppx_deriving_runtime.unitval pp_prolog_prog :
Ppx_deriving_runtime.Format.formatter ->
prolog_prog ->
Ppx_deriving_runtime.unitval pp_clause_list :
Ppx_deriving_runtime.Format.formatter ->
clause_list ->
Ppx_deriving_runtime.unitval pp_first_lvl_idx :
Ppx_deriving_runtime.Format.formatter ->
index ->
Ppx_deriving_runtime.unitval pp_second_lvl_idx :
Ppx_deriving_runtime.Format.formatter ->
second_lvl_idx ->
Ppx_deriving_runtime.unitUsed to index the parameters of a predicate P
MapOn N -> N-th argument at depth 1 (head symbol only)Hash L -> L is the list of depths given by the urer for the parameters of P. Indexing is done by hashing all the parameters with a non zero depth and comparing it with the hashing of the parameters of the queryDiscriminationTree L -> we use the same logic of Hash, except we use DiscriminationTree to discriminate clausesval pp_indexing :
Ppx_deriving_runtime.Format.formatter ->
indexing ->
Ppx_deriving_runtime.unit