]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteSync.ml
simplified coercDb implementation with additional info about the position of
[helm.git] / helm / software / components / grafite_engine / grafiteSync.ml
index 067fe9b59dc3c5acd5afda051fff0e3bf405e028..b6b9f7e5a27a8219091e9a1a361cf4a88f68b9f5 100644 (file)
@@ -58,9 +58,9 @@ let add_obj refinement_toolkit uri obj status =
  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
-   let ty,_ = CicTypeChecker.type_of_aux' [] [] term CicUniv.empty_ugraph in
+   let ty,_ = CicTypeChecker.type_of_aux' [] [] term CicUniv.oblivion_ugraph in
 (* prop filtering
-   let sort,_ = CicTypeChecker.type_of_aux' [] [] ty CicUniv.empty_ugraph in
+   let sort,_ = CicTypeChecker.type_of_aux' [] [] ty CicUniv.oblivion_ugraph in
    prerr_endline (CicPp.ppterm term);
    prerr_endline (CicPp.ppterm sort);
    let tkeys = 
@@ -133,14 +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 = 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 ()
+;;
+