(* *)
(******************************************************************************)
-(* level managing functions *************************************************)
-
-type levels_spec = (string * bool * int) list
-
let levels_of_term metasenv context term =
let module TC = CicTypeChecker in
let module Red = CicReduction in
in
inspect_backbone term
-let string_of_levels l sep =
- let entry_out (s, b, v) =
- let pos = if b then " HEAD: " else " TAIL: " in
- string_of_int v ^ pos ^ s ^ sep
- in
- let rec levels_out = function
- | [] -> ""
- | head :: tail -> entry_out head ^ levels_out tail
- in
- levels_out l
-
-
let out_restr e c t =
-(* let rec restrict level = function
- | [] -> []
- | (u, b, v) :: tail ->
- if v <= level then (u, b, v) :: restrict level tail
- else restrict level tail
- in*)
-
let can = levels_of_term e c t in (* can restrictions *)
-print_endline "";
- print_string "#### IN LEVELS @@@@ lunghezza can:";
- print_int (List.length can); flush stdout;
- print_endline "";
+prerr_endline "";
+prerr_endline
+ ("#### IN LEVELS @@@@ lunghezza can: " ^ string_of_int (List.length can));
+prerr_endline "";
(* let rest = restrict level levels in *)
let uri_pos (u,b,v) = (u,b) in
let can_use = List.map uri_pos can in
let mrest = List.map lofl can in
let must_use = organize_restr mrest [] in (* must restrictions *)
(must_use,can_use)
-
-
+;;