]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicEnvironment.mli
Almost ready to implement coercion declaration for record fields. But how?
[helm.git] / helm / software / components / ng_kernel / nCicEnvironment.mli
index a9feb4d20f22007b8e2798cc1c6f9586d94d455b..778931706e3fa828abd40e2d62753e19426c1944 100644 (file)
@@ -15,6 +15,7 @@ exception CircularDependency of string Lazy.t;;
 exception ObjectNotFound of string Lazy.t;;
 exception BadDependency of string Lazy.t * exn;;
 exception BadConstraint of string Lazy.t;;
+exception AlreadyDefined of string Lazy.t;;
 
 val set_get_obj: (NUri.uri -> NCic.obj) -> unit
 
@@ -25,6 +26,8 @@ val check_and_add_obj: NCic.obj -> unit
 val get_relevance: NReference.reference -> bool list
 
 val type0: NCic.universe
+val get_universes: unit -> NCic.universe list
+val is_declared: NCic.universe -> bool
 val max: NCic.universe -> NCic.universe -> NCic.universe
 (* universe_* raise BadConstraints if the second arg. is an inferred universe *)
 val universe_eq: NCic.universe -> NCic.universe -> bool
@@ -51,7 +54,9 @@ val get_checked_fixes_or_cofixes:
    NCic.inductiveFun list * NCic.f_attr * int
 
 (* invalidate the object and all those that entered the environment after it *)
-val invalidate_obj: NUri.uri -> unit
+val invalidate_item: 
+      [ `Obj of NUri.uri * NCic.obj 
+      | `Constr of bool * NCic.universe * NCic.universe ] -> unit
 
 val invalidate: unit -> unit