+ (UriManager.buri_of_uri uri^"/"^
+ UriManager.name_of_uri uri ^ string_of_int (List.length ctx)^".con")
+ in
+ let bad_bctx, fixpoints_tys, tys, _ =
+ List.fold_right
+ (fun (name,recno,ty,_) (bctx, fixpoints, tys, idx) ->
+ let ty, fixpoints_ty = aux octx ctx n_fix uri ty in
+ let r = (* recno is dummy here, must be lifted by the ctx len *)
+ Ref.reference_of_ouri buri (Ref.Fix (idx,recno))
+ in
+ Fix (r,name,ty) :: bctx, fixpoints_ty@fixpoints,ty::tys,idx+1)
+ fl ([], [], [], 0)
+ in
+ let _, free, _ = context_tassonomy (bad_bctx @ ctx) in
+ let bctx =
+ List.map (function
+ | Fix (Ref.Ref (_,_,Ref.Fix (idx, recno)),name, ty) ->
+ Fix (Ref.reference_of_ouri buri(Ref.Fix (idx,recno+free)),name,ty)
+ | _ -> assert false) bad_bctx @ ctx