]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicEnvironment.mli
Missing case for Match implemented.
[helm.git] / helm / software / components / ng_kernel / nCicEnvironment.mli
index 3e2cbff281cccf7be965e4de7b9223dce6a9797f..5252ddb8b5f271bd307cd36d4590b8dd8a0e91c2 100644 (file)
 
 exception CircularDependency of string Lazy.t;;
 exception ObjectNotFound of string Lazy.t;;
-exception BadDependency of string Lazy.t;;
+exception BadDependency of string Lazy.t * exn;;
+exception BadConstraint 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 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
+val universe_leq: NCic.universe -> NCic.universe -> bool
+(* add_constraint raise BadConstraint in case of universe inconsistency
+   or if the second argument is an inferred universe
+   true -> strict check (<); false -> loose check (<=)
+*)
+val add_constraint: bool -> NCic.universe -> NCic.universe -> unit
+val sup : NCic.universe -> NCic.universe option
+val pp_constraints: unit -> string
+
 val get_checked_def:
   NReference.reference -> 
     NCic.relevance * string * NCic.term * NCic.term * NCic.c_attr * int
@@ -30,7 +50,10 @@ val get_checked_fixes_or_cofixes:
   NReference.reference -> 
    NCic.inductiveFun list * NCic.f_attr * int
 
-val get_indty_leftno: NReference.reference -> 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