List.map
(fun arg -> arg, NCicTypeChecker.typeof ~metasenv ~subst context arg) args in
let context_of_args = context in
- let mk_appl = function [] -> assert false | [t] -> t | l -> NCic.Appl l in
let rec mk_lambda metasenv subst context n processed_args = function
| [] ->
let metasenv, _, bo, _ =
let name = "HBeta"^string_of_int n in
let metasenv,_,instance,_ =
NCicMetaSubst.mk_meta metasenv context_of_args `Term in
- let meta_applied = mk_appl (instance::List.rev processed_args) in
+ let meta_applied =
+ NCicUntrusted.mk_appl instance (List.rev processed_args) in
let metasenv,subst,_,_ =
!refiner_typeof ((rdb :> NRstatus.status)#set_coerc_db NCicCoercion.empty_db) metasenv subst context_of_args meta_applied None
in
unify rdb true metasenv subst context_of_args meta_applied ty in
let telescopic_ty = NCicSubstitution.lift n instance in
let telescopic_ty =
- mk_appl (telescopic_ty :: mk_irl (List.length processed_args)) in
+ NCicUntrusted.mk_appl
+ telescopic_ty (mk_irl (List.length processed_args)) in
let metasenv, subst, bo =
mk_lambda metasenv subst ((name,NCic.Decl telescopic_ty)::context) (n+1)
(arg::processed_args) tail