]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/library/librarySync.mli
fixed undo support for coercions inside records
[helm.git] / helm / ocaml / library / librarySync.mli
index 89262e39390dd32d6ab5452162a5bb557523eeac..43ac34da32865e6ed587efb7c48c22dbc8b6a622 100644 (file)
@@ -23,6 +23,8 @@
  * http://helm.cs.unibo.it/
  *)
 
+exception AlreadyDefined of UriManager.uri
+
 (* adds an object to the library together with all auxiliary lemmas on it *)
 (* (e.g. elimination principles, projections, etc.)                       *)
 (* it returns the list of the uris of the auxiliary lemmas generated      *)
@@ -32,3 +34,19 @@ val add_obj: UriManager.uri -> Cic.obj -> basedir:string -> UriManager.uri list
 (* Warning: it does not remove the dependencies on the object and on its *)
 (* auxiliary lemmas!                                                     *)
 val remove_obj: UriManager.uri -> unit
+
+(* Informs the library that [uri] is a coercion.                         *)
+(* This can generate some composite coercions that, if [add_composites]  *)
+(* is true are added to the library.                                     *)
+(* The list of added objects is returned.                                *)
+val add_coercion: 
+  basedir:string -> add_composites:bool -> UriManager.uri -> 
+    UriManager.uri list
+
+(* 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... *)
+val remove_all_coercions: unit -> unit
+