]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteSync.mli
more push/pop to avoid confusion with imperative data structures employed by
[helm.git] / helm / software / components / grafite_engine / grafiteSync.mli
index ce3c04250f1257820f9c55ff641d0eaee67c81ce..aa2749979c881d4f4d02fbcf9b930cd3900ca076 100644 (file)
  *)
 
 val add_obj:
-  basedir:string -> UriManager.uri -> Cic.obj -> GrafiteTypes.status ->
+  RefinementTool.kit ->
+  UriManager.uri -> Cic.obj -> GrafiteTypes.status ->
    GrafiteTypes.status * UriManager.uri list
 
 val add_coercion:
- basedir:string -> add_composites:bool -> GrafiteTypes.status ->
-  UriManager.uri -> GrafiteTypes.status * UriManager.uri list
+  RefinementTool.kit ->
+  add_composites:bool -> GrafiteTypes.status ->
+  UriManager.uri -> int -> int ->
+  string (* baseuri *) ->
+    GrafiteTypes.status * (UriManager.uri * int * int * int) list
+     (* URI, arity, saturations, cpos *)
 
 val time_travel: 
   present:GrafiteTypes.status -> past:GrafiteTypes.status -> unit
 
   (* also resets the imperative part of the status *)
-val init: unit -> GrafiteTypes.status
+val init: string -> GrafiteTypes.status
+
+(*
+  (* just an empty status, does not reset imperative 
+   * part, use push/pop for that *)
+val initial_status: string -> GrafiteTypes.status
+*)
+
+  (* preserve _only_ imperative parts of the status *)
+val push: unit -> unit
+val pop: unit -> unit