]> matita.cs.unibo.it Git - helm.git/blobdiff - components/grafite_engine/grafiteSync.ml
snopshot (working one!)
[helm.git] / components / grafite_engine / grafiteSync.ml
index 133dad2c0e62364be6e01e025a14801d5dff914b..d318d11a73cb504b788dd98aa45cf18d66f635ba 100644 (file)
@@ -55,7 +55,6 @@ let uris_for_inductive_type uri obj =
     | _ -> [uri] 
     
 let add_obj refinement_toolkit uri obj status =
- let baseuri, status = GrafiteTypes.get_baseuri status in
  let lemmas = LibrarySync.add_obj refinement_toolkit uri obj in
  let add_to_universe (universe,status) uri =
    let term = CicUtil.term_of_uri uri in
@@ -134,15 +133,29 @@ let time_travel ~present ~past =
   List.iter (fun uri -> LibrarySync.remove_coercion uri) coercions_to_remove;
   List.iter LibrarySync.remove_obj objs_to_remove
 
-let init () =
-  LibrarySync.remove_all_coercions ();
-  LibraryObjects.reset_defaults ();
-  {
+let initial_status baseuri = {
     GrafiteTypes.moo_content_rev = [];
     proof_status = GrafiteTypes.No_proof;
-    options = GrafiteTypes.no_options;
+(*     options = GrafiteTypes.no_options; *)
     objects = [];
     coercions = [];
     universe = Universe.empty;
-    baseuri = None;
+    baseuri = baseuri;
   }
+
+
+let init baseuri =
+  LibrarySync.remove_all_coercions ();
+  LibraryObjects.reset_defaults ();
+  initial_status baseuri
+  ;;
+let pop () =
+  LibrarySync.pop ();
+  LibraryObjects.pop ()
+;;
+
+let push () =
+  LibrarySync.push ();
+  LibraryObjects.push ()
+;;
+