| NCicTypeChecker.TypeCheckerFailure s
| NCicEnvironment.ObjectNotFound s
| NCicEnvironment.BadConstraint s
- | NCicEnvironment.BadDependency s as e ->
+ | NCicEnvironment.BadDependency (s,_) as e ->
prerr_endline ("######### " ^ Lazy.force s);
if not ignore_exc then raise e
)
| NCic.Appl (NCic.Const (NReference.Ref (u,_))::ty::_)
when NUri.string_of_uri u = "cic:/matita/tests/hole.con" ->
let metasenv, ty = perforate ctx metasenv ty in
- let a,b,_ = NCicMetaSubst.mk_meta metasenv ctx (`WithType ty) in a,b
+ let a,_,b,_ =
+ NCicMetaSubst.mk_meta metasenv ctx (`WithType ty) in a,b
| t ->
NCicUntrusted.map_term_fold_a
(fun e ctx -> e::ctx) ctx perforate metasenv t
in
let rec curryfy ctx = function
+ | NCic.Lambda (name, (NCic.Sort _ as s), tgt) ->
+ NCic.Lambda (name, s, curryfy ((name,NCic.Decl s) :: ctx) tgt)
| NCic.Lambda (name, s, tgt) ->
let tgt = curryfy ((name,NCic.Decl s) :: ctx) tgt in
NCic.Lambda (name, NCic.Implicit `Type, tgt)
let bo = curryfy [] bo in
(try
let metasenv, subst, bo, infty =
- NCicRefiner.typeof [] [] [] bo None
+ NCicRefiner.typeof
+ ~look_for_coercion:(fun _ _ _ _ _ -> [])
+ NCicUnifHint.empty_db [] [] [] bo None
in
let metasenv, subst =
try
- NCicUnification.unify metasenv subst [] infty ty
+ NCicUnification.unify NCicUnifHint.empty_db metasenv subst [] infty ty
with
| NCicUnification.Uncertain msg
| NCicUnification.UnificationFailure msg