typecheck_metasenv metasenv;
typecheck_subst ~metasenv subst;
match kind with
- | C.Constant (_,_,Some te,ty,_) ->
+ | C.Constant (relevance,_,Some te,ty,_) ->
let _ = typeof ~subst ~metasenv [] ty in
let ty_te = typeof ~subst ~metasenv [] te in
if not (R.are_convertible ~subst [] ty_te ty) then
"inferred type:\n%s\nexpected type:\n%s")
(PP.ppterm ~subst ~metasenv ~context:[] ty_te)
(PP.ppterm ~subst ~metasenv ~context:[] ty))))
- | C.Constant (_,_,None,ty,_) -> ignore (typeof ~subst ~metasenv [] ty)
+ | C.Constant (relevance,_,None,ty,_) ->
+ ignore (typeof ~subst ~metasenv [] ty)
| C.Inductive (is_ind, leftno, tyl, _) ->
check_mutual_inductive_defs uri ~metasenv ~subst is_ind leftno tyl
| C.Fixpoint (inductive,fl,_) ->
let types, kl =
List.fold_left
- (fun (types,kl) (_,name,k,ty,_) ->
+ (fun (types,kl) (relevance,name,k,ty,_) ->
let _ = typeof ~subst ~metasenv [] ty in
((name,C.Decl ty)::types, k::kl)
) ([],[]) fl