]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_paramodulation/nCicParamod.ml
Final subst returned by superposition and passed around.
[helm.git] / helm / software / components / ng_paramodulation / nCicParamod.ml
index 78a57faa22da8c23d28a1815307dbf3670e588aa..fb60d3142ccb526b5520bff439263d576512fae2 100644 (file)
@@ -17,7 +17,7 @@ NCicProof.set_default_sig()
 ;;
 
 let debug _ = ();;
-(* let debug s = prerr_endline (Lazy.force s);; *)
+let print s = prerr_endline (Lazy.force s);; 
 
 module B(C : NCicBlob.NCicContext): Orderings.Blob 
   with type t = NCic.term and type input = NCic.term 
@@ -25,15 +25,15 @@ module B(C : NCicBlob.NCicContext): Orderings.Blob
 
 module NCicParamod(C : NCicBlob.NCicContext) = Paramod.Paramod(B(C))
 
-let readback rdb metasenv subst context (bag,i,l) =
+let readback rdb metasenv subst context (bag,i,fo_subst,l) =
 (*
   List.iter (fun x ->
      print_endline (Pp.pp_unit_clause ~margin:max_int
      (fst(Terms.M.find x bag)))) l; 
 *)
   let stamp = Unix.gettimeofday () in
-  let proofterm = NCicProof.mk_proof bag i l in
-    debug (lazy (Printf.sprintf "Got proof term in %fs"
+  let proofterm = NCicProof.mk_proof bag i fo_subst l in
+    print (lazy (Printf.sprintf "Got proof term in %fs"
                     (Unix.gettimeofday() -. stamp)));
   let metasenv, proofterm = 
     let rec aux k metasenv = function
@@ -48,13 +48,15 @@ let readback rdb metasenv subst context (bag,i,l) =
     in
       aux 0 metasenv proofterm
   in
-  debug (lazy (NCicPp.ppterm ~metasenv ~subst ~context proofterm));
+  print (lazy (NCicPp.ppterm ~metasenv ~subst ~context proofterm));
+  let stamp = Unix.gettimeofday () in
   let metasenv, subst, proofterm, _prooftype = 
     NCicRefiner.typeof 
       (rdb#set_coerc_db NCicCoercion.empty_db) 
       metasenv subst context proofterm None
   in
-    debug (lazy "refined!");
+    print (lazy (Printf.sprintf "Refined in %fs"
+                    (Unix.gettimeofday() -. stamp)));
     proofterm, metasenv, subst
 
 let nparamod rdb metasenv subst context t table =
@@ -113,9 +115,12 @@ let index_obj s uri =
 ;;
 
 let fast_eq_check rdb metasenv subst context s goal =
+  let stamp = Unix.gettimeofday () in
   match P.fast_eq_check s goal with
   | P.Error _ | P.GaveUp | P.Timeout _ -> []
   | P.Unsatisfiable solutions -> 
+      print (lazy (Printf.sprintf "Got solutions in %fs"
+                    (Unix.gettimeofday() -. stamp)));
       List.map (readback rdb metasenv subst context) solutions
 ;;