exception BadDependency of string Lazy.t * exn;;
exception AlreadyDefined of string Lazy.t;;
-val set_get_obj: (NUri.uri -> NCic.obj) -> unit
+val set_get_obj: (NCic.status -> NUri.uri -> NCic.obj) -> unit
-val get_checked_obj: NUri.uri -> NCic.obj
+val get_checked_obj: #NCic.status -> NUri.uri -> NCic.obj
-val check_and_add_obj: NCic.obj -> unit
+val check_and_add_obj: #NCic.status -> NCic.obj -> unit
-val get_relevance: NReference.reference -> bool list
+val get_relevance: #NCic.status -> NReference.reference -> bool list
+
+val get_checked_decl:
+ #NCic.status -> NReference.reference ->
+ NCic.relevance * string * NCic.term * NCic.c_attr * int
val get_checked_def:
- NReference.reference ->
+ #NCic.status -> NReference.reference ->
NCic.relevance * string * NCic.term * NCic.term * NCic.c_attr * int
(* the last integer is the index of the inductive type in the reference *)
val get_checked_indtys:
- NReference.reference ->
+ #NCic.status -> NReference.reference ->
bool * int * NCic.inductiveType list * NCic.i_attr * int
val get_checked_fixes_or_cofixes:
- NReference.reference ->
+ #NCic.status -> 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 NCic.universe * NCic.universe ] -> unit
val invalidate: unit -> unit
-val set_typecheck_obj: (NCic.obj -> unit) -> unit
+val set_typecheck_obj: (NCic.status -> NCic.obj -> unit) -> unit
(* =========== universes ============= *)
(* raise BadConstraints if the second arg. is an inferred universe or
* if the added constraint gives circularity *)
exception BadConstraint of string Lazy.t;;
-val add_lt_constraint: NCic.universe -> NCic.universe -> unit
+val add_lt_constraint: acyclic:bool -> NCic.universe -> NCic.universe -> unit
val universe_eq: NCic.universe -> NCic.universe -> bool
val universe_leq: NCic.universe -> NCic.universe -> bool
val universe_lt: NCic.universe -> NCic.universe -> bool