| name,C.Def (te,ty) ->
ignore (typeof ~metasenv ~subst:[] context ty);
let ty' = typeof ~metasenv ~subst:[] context te in
- if not (R.are_convertible ~subst [] ty' ty) then
+ if not (R.are_convertible ~subst context ty' ty) then
raise (AssertFailure (lazy (Printf.sprintf (
"the type of the definiens for %s in the context is not "^^
"convertible with the declared one.\n"^^
"inferred type:\n%s\nexpected type:\n%s")
name
- (PP.ppterm ~subst ~metasenv ~context:[] ty')
- (PP.ppterm ~subst ~metasenv ~context:[] ty))))
+ (PP.ppterm ~subst ~metasenv ~context ty')
+ (PP.ppterm ~subst ~metasenv ~context ty))))
end;
d::context
) context [])
typecheck_context ~metasenv ~subst context;
ignore (typeof ~metasenv ~subst context ty);
let ty' = typeof ~metasenv ~subst context bo in
- if not (R.are_convertible ~subst [] ty' ty) then
+ if not (R.are_convertible ~subst context ty' ty) then
raise (AssertFailure (lazy (Printf.sprintf (
"the type of the definiens for %d in the substitution is not "^^
"convertible with the declared one.\n"^^
"inferred type:\n%s\nexpected type:\n%s")
i
- (PP.ppterm ~subst ~metasenv ~context:[] ty')
- (PP.ppterm ~subst ~metasenv ~context:[] ty))));
+ (PP.ppterm ~subst ~metasenv ~context ty')
+ (PP.ppterm ~subst ~metasenv ~context ty))));
subst @ [conj]
) [] subst)
;;