From d4f508a277973778507021761fed85fc7d5be254 Mon Sep 17 00:00:00 2001 From: Andrea Asperti Date: Wed, 9 Dec 2009 16:05:05 +0000 Subject: [PATCH] Added the paramodulation active/passive tables to the state --- .../grafite_engine/grafiteEngine.ml | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/helm/software/components/grafite_engine/grafiteEngine.ml b/helm/software/components/grafite_engine/grafiteEngine.ml index 248c02fa5..1a7c0a981 100644 --- a/helm/software/components/grafite_engine/grafiteEngine.ml +++ b/helm/software/components/grafite_engine/grafiteEngine.ml @@ -531,6 +531,7 @@ let record_index_obj = ;; let index_obj_for_auto status (uri, height, _, _, kind) = + prerr_endline (string_of_int height); let mk_item orig_ty spec = let ty,_,_ = NCicMetaSubst.saturate ~delta:max_int [] [] [] orig_ty 0 in let keys = @@ -594,6 +595,36 @@ let index_obj_for_auto status (uri, height, _, _, kind) = status#set_dump dump ;; +let index_eq uri status = + let eq_status = status#eq_cache in + let eq_status1 = NCicParamod.index_obj eq_status uri in + status#set_eq_cache eq_status1 +;; + +let record_index_eq = + let basic_index_eq uri + ~refresh_uri_in_universe + ~refresh_uri_in_term + = index_eq uri + in + NCicLibrary.Serializer.register#run "index_eq" + object(_ : 'a NCicLibrary.register_type) + method run = basic_index_eq + end +;; + +let index_eq_for_auto status uri = + if NnAuto.is_a_fact_obj status uri then + let newstatus = index_eq uri status in + if newstatus == status then status + else + (prerr_endline ("recording " ^ (NUri.string_of_uri uri)); + let dump = record_index_eq uri :: newstatus#dump + in newstatus#set_dump dump) + else + (prerr_endline "Not a fact"; + status) +;; let basic_eval_add_constraint (u1,u2) status = NCicLibrary.add_constraint status u1 u2 @@ -850,6 +881,12 @@ let rec eval_ncommand opts status (text,prefix_len,cmd) = let old_status = status in let status = NCicLibrary.add_obj status obj in let status = index_obj_for_auto status obj in + let status = index_eq_for_auto status uri in +(* + try + index_eq uri status + with _ -> prerr_endline "got an exception"; status + in *) (* prerr_endline (NCicPp.ppobj obj); *) HLog.message ("New object: " ^ NUri.string_of_uri uri); (try -- 2.39.2