exception AlreadyDefined of UriManager.uri
+val set_object_declaration_hook : (UriManager.uri -> Cic.obj -> unit) -> unit
+
(* this is a pointer to the function which builds the inversion principle *)
-val build_inversion_principle: (UriManager.uri-> Cic.obj -> (UriManager.uri * Cic.obj) option) ref
+val build_inversion_principle: (UriManager.uri-> Cic.obj -> (UriManager.uri * Cic.obj) list) ref
(* adds an object to the library together with all auxiliary lemmas on it *)
(* (e.g. elimination principles, projections, etc.) *)
(* The list of added objects is returned. *)
val add_coercion:
add_composites:bool ->
- RefinementTool.kit -> UriManager.uri ->
- UriManager.uri list
+ RefinementTool.kit -> UriManager.uri -> int (* arity *) ->
+ int (* saturations *) -> string (* baseuri *) ->
+ (UriManager.uri * int * int * int) list (* URI, arity, saturations, cpos *)
(* inverse of add_coercion, removes both the eventually created composite *)
(* coercions and the information that [uri] and the composites are coercion *)
val remove_coercion: UriManager.uri -> unit
-(* mh... *)
+(* this is used when resetting, but the more gracefull push/pop can be used to
+ * suspend/resume an execution *)
val remove_all_coercions: unit -> unit
-
+val push: unit -> unit
+val pop: unit -> unit