aux [] t
;;
+let get_fresh =
+ let seed = ref 0 in
+ function () ->
+ incr seed;
+ string_of_int !seed
+;;
+
(* we are lambda-lifting also variables that do not occur *)
(* ctx does not distinguish successive blocks of cofix, since there may be no
* lambda separating them *)
let buri =
UriManager.uri_of_string
(UriManager.buri_of_uri uri^"/"^
- UriManager.name_of_uri uri ^ "___" ^
- string_of_int (List.length ctx)^".con")
+ UriManager.name_of_uri uri ^ "___" ^ get_fresh () ^ ".con")
in
let bctx, fixpoints_tys, tys, _ =
List.fold_right
let buri =
UriManager.uri_of_string
(UriManager.buri_of_uri uri^"/"^
- UriManager.name_of_uri uri ^ "___" ^
- string_of_int (List.length ctx)^".con")
+ UriManager.name_of_uri uri ^ "___" ^ get_fresh () ^ ".con")
in
let bad_bctx, fixpoints_tys, tys, _ =
List.fold_right