let head_beta_reduce = ref (fun ~upto:_ _ -> assert false);;
let set_head_beta_reduce = (:=) head_beta_reduce;;
+let get_obj = ref (fun _ -> assert false);;
+let set_get_obj f = get_obj := f;;
+
let r2s pp_fix_name r =
try
match r with
| R.Ref (u,R.Ind (_,i,_)) ->
- (match NCicLibrary.get_obj u with
+ (match !get_obj u with
| _,_,_,_, C.Inductive (_,_,itl,_) ->
let _,name,_,_ = List.nth itl i in name
| _ -> assert false)
| R.Ref (u,R.Con (i,j,_)) ->
- (match NCicLibrary.get_obj u with
+ (match !get_obj u with
| _,_,_,_, C.Inductive (_,_,itl,_) ->
let _,_,_,cl = List.nth itl i in
let _,name,_ = List.nth cl (j-1) in name
| _ -> assert false)
| R.Ref (u,(R.Decl | R.Def _)) ->
- (match NCicLibrary.get_obj u with
+ (match !get_obj u with
| _,_,_,_, C.Constant (_,name,_,_,_) -> name
| _ -> assert false)
| R.Ref (u,(R.Fix (i,_,_)|R.CoFix i)) ->
- (match NCicLibrary.get_obj u with
+ (match !get_obj u with
| _,_,_,_, C.Fixpoint (_,fl,_) ->
if pp_fix_name then
let _,name,_,_,_ = List.nth fl i in name
NUri.name_of_uri u ^"("^ string_of_int i ^ ")"
| _ -> assert false)
with
- | NCicLibrary.ObjectNotFound _
+ | NCicEnvironment.ObjectNotFound _
| Failure "nth"
| Invalid_argument "List.nth" -> R.string_of_reference r