]> 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 862d7148432f5a6ba7525780d5e0b8d04f36b3f9..778931706e3fa828abd40e2d62753e19426c1944 100644 (file)
@@ -15,14 +15,19 @@ 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
 
 val get_checked_obj: NUri.uri -> NCic.obj
 
+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
@@ -48,6 +53,11 @@ val get_checked_fixes_or_cofixes:
   NReference.reference -> 
    NCic.inductiveFun list * NCic.f_attr * int
 
+(* invalidate the object and all those that entered the environment after it *)
+val invalidate_item: 
+      [ `Obj of NUri.uri * NCic.obj 
+      | `Constr of bool * NCic.universe * NCic.universe ] -> unit
+
 val invalidate: unit -> unit
 
 val set_typecheck_obj: (NCic.obj -> unit) -> unit