let debug = ref false
let debug_print ?(depth=0) s =
+() (*
if !debug then prerr_endline (String.make depth '\t'^Lazy.force s) else ()
+*)
(* let print = debug_print *)
-let print ?(depth=0) s =
+let print ?(depth=0) s = ()
+(*
prerr_endline (String.make depth '\t'^Lazy.force s)
+*)
let debug_do f = if !debug then f () else ()
let keys =
let _, ty = term_of_cic_term status ty (ctx_of ty) in
match ty with
- | NCic.Const (NReference.Ref (_,NReference.Def h))
- | NCic.Appl (NCic.Const(NReference.Ref(_,NReference.Def h))::_)
+ | NCic.Const (NReference.Ref (_,(NReference.Def h | NReference.Fix (_,_,h))))
+ | NCic.Appl (NCic.Const(NReference.Ref(_,(NReference.Def h | NReference.Fix (_,_,h))))::_)
when h > 0 ->
let _,ty,_= saturate status ~delta:(h-1) orig_ty in
ty::keys
List.fold_left
(fun (status, i, idx) _ ->
let t = mk_cic_term ctx (NCic.Rel i) in
- debug_print(lazy("indexing: "^ppterm status t));
let status, keys = keys_of_term status t in
+ debug_print(lazy("indexing: "^ppterm status t ^ ": " ^ string_of_int (List.length keys)));
let idx =
List.fold_left (fun idx k ->
InvRelDiscriminationTree.index idx k t) idx keys