]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_proof_checking/cicEnvironment.mli
renamed Http_client to Http_user_agent to avoid clashes with Gerd's
[helm.git] / helm / ocaml / cic_proof_checking / cicEnvironment.mli
index e93db958210ef5fa820d502f4317d2567f868a6c..3e5c2bf77c161b071c77f80366047b076f8422e1 100644 (file)
@@ -36,6 +36,7 @@
 (******************************************************************************)
 
 exception CircularDependency of string;;
+exception Term_not_found of UriManager.uri;;
 
 (* get_obj uri                                                                *)
 (* returns the cic object whose uri is uri. If the term is not just in cache, *)
@@ -61,6 +62,14 @@ val is_type_checked : ?trust:bool -> UriManager.uri -> type_checked_obj
 (* again in the future (is_type_checked will return true)             *)
 val set_type_checking_info : UriManager.uri -> unit
 
+(* We need this in the Qed. *)
+val add_type_checked_term : UriManager.uri -> Cic.obj -> unit
+
+  (** remove a type checked term
+  * @raise Term_not_found when given term is not in the environment
+  * @raise Failure when remove_term is invoked while type checking *)
+val remove_term: UriManager.uri -> unit
+
 (* get_cooked_obj ~trust uri                                        *)
 (* returns the object if it is already type-checked or if it can be *)
 (* trusted (if [trust] = true and the trusting function accepts it) *)
@@ -77,3 +86,12 @@ exception OnlyPutOfInductiveDefinitionsIsAllowed
 (* WARNING: VERY UNSAFE.                                                 *)
 (* This function should be called only on a well-typed definition.       *)
 val put_inductive_definition : UriManager.uri -> Cic.obj -> unit
+
+(* (de)serialization *)
+val dump_to_channel : ?callback:(string -> unit) -> out_channel -> unit
+val restore_from_channel : ?callback:(string -> unit) -> in_channel -> unit
+val empty : unit -> unit
+
+(* for filtering in tacticChaser *)
+(* NEW *)
+val in_cache : UriManager.uri -> bool