+ let metasenv, proofterm =
+ let rec aux k metasenv = function
+ | NCic.Meta _ as t -> metasenv, t
+ | NCic.Implicit _ ->
+ let metasenv,i,_,_=NCicMetaSubst.mk_meta metasenv context `Term in
+ metasenv, NCic.Meta (i,(k,NCic.Irl (List.length context)))
+ | t -> NCicUntrusted.map_term_fold_a
+ (fun _ k -> k+1) k aux metasenv t
+ in
+ aux 0 metasenv proofterm
+ in