]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicTypeChecker.ml
freescale porting, work in progress
[helm.git] / helm / software / components / ng_kernel / nCicTypeChecker.ml
index c19561d355821bfffa6fa7fceffeb11ef0a299cd..695b2e5319f61df33cdd05115c4058c2cf94adbd 100644 (file)
@@ -391,7 +391,12 @@ let rec typeof ~subst ~metasenv context term =
         with Failure _ -> 
           raise (TypeCheckerFailure (lazy ("unbound variable " ^ string_of_int n
             ^" under: " ^ NCicPp.ppcontext ~metasenv ~subst context))))
-    | C.Sort (C.Type [false,u]) -> C.Sort (C.Type [true, u])
+    | C.Sort (C.Type ([false,u] as univ)) ->
+       if NCicEnvironment.is_declared univ then
+        C.Sort (C.Type [true, u])
+       else
+        raise (TypeCheckerFailure (lazy ("undeclared universe " ^
+         NUri.string_of_uri u)))
     | C.Sort (C.Type _) -> 
         raise (AssertFailure (lazy ("Cannot type an inferred type: "^
           NCicPp.ppterm ~subst ~metasenv ~context t)))