(* only to check that ty is well-typed *)
let _ = type_of ty in ()
| C.CurrentProof (_,conjs,te,ty,_) ->
- (*CSC: bisogna controllare anche il metasenv!!! *)
+ let _ =
+ List.fold_left
+ (fun metasenv ((_,context,ty) as conj) ->
+ ignore (type_of_aux' metasenv context ty) ;
+ metasenv @ [conj]
+ ) [] conjs
+ in
let _ = type_of_aux' conjs [] ty in
- debug (type_of_aux' conjs [] te) [] ;
- if not (R.are_convertible [] (type_of_aux' conjs [] te) ty) then
+ if not (R.are_convertible [] (type_of_aux' conjs [] te) ty)
+ then
raise (NotWellTyped ("CurrentProof" ^ (U.string_of_uri uri)))
| C.Variable (_,bo,ty,_) ->
(* only to check that ty is well-typed *)