exception AssertFailure of string;;
exception TypeCheckerFailure of string;;
-exception SortExpectedMetaFound of string;; (* TODO temp *)
let fdebug = ref 0;;
let debug t context =
when (s2 = C.Prop or s2 = C.Set or s2 = C.CProp) -> (* different from Coq manual!!! *)
C.Sort s2
| (C.Sort s1, C.Sort s2) -> C.Sort C.Type (*CSC manca la gestione degli universi!!! *)
- | (_,_) -> raise (SortExpectedMetaFound (sprintf
+ | (_,_) -> raise (TypeCheckerFailure (sprintf
"Prod: expected two sorts, found = %s, %s" (CicPp.ppterm t1')
(CicPp.ppterm t2')))
-(* raise (TypeCheckerFailure (sprintf *)
and eat_prods context hetype =
(*CSC: siamo sicuri che le are_convertible non lavorino con termini non *)
(* These are the only exceptions that will be raised *)
exception TypeCheckerFailure of string
exception AssertFailure of string
-exception SortExpectedMetaFound of string
val typecheck : UriManager.uri -> unit