]> matita.cs.unibo.it Git - helm.git/blobdiff - components/tactics/autoTactic.ml
matitaprover
[helm.git] / components / tactics / autoTactic.ml
index 1ba1dd912495f63801c7ffbf90b0d785e93e883e..f063eeafb69ff99d7d49bf6b6810d6768f302e41 100644 (file)
@@ -328,10 +328,11 @@ let auto_tac ~params ~(dbd:HMysql.dbd) =
   let paramodulation = bool "paramodulation" params in
   let full = bool "full" params in
   let superposition = bool "superposition" params in
-  let what = string "what" params in
-  let other = string "other" params in
+  let target = string "target" params in
+  let table = string "table" params in
   let subterms_only = bool "subterms_only" params in
-  let demodulate = bool "demodulate" params in
+  let caso_strano = bool "caso_strano" params in
+  let demod_table = string "demod_table" params in
   (* the real tactic *)
   let auto_tac dbd (proof, goal) =
     let normal_auto () = 
@@ -363,7 +364,7 @@ let auto_tac ~params ~(dbd:HMysql.dbd) =
       debug_print (lazy "USO PARAMODULATION...");
 (*       try *)
       try
-        let rc = Saturation.saturate dbd ~depth ~width ~full (proof, goal) in
+        let rc = Saturation.saturate caso_strano dbd ~depth ~width ~full (proof, goal) in
         prerr_endline (Saturation.get_stats ());
         rc
       with exn ->
@@ -378,7 +379,7 @@ let auto_tac ~params ~(dbd:HMysql.dbd) =
   match superposition with
   | true -> 
       ProofEngineTypes.mk_tactic
-       (Saturation.superposition_tac ~what ~other ~subterms_only ~demodulate)
+       (Saturation.superposition_tac ~target ~table ~subterms_only ~demod_table)
   | _ -> ProofEngineTypes.mk_tactic (auto_tac dbd)
 ;;
 
@@ -412,7 +413,7 @@ let new_metasenv_and_unify_and_t dbd proof goal newmeta' metasenv' context term'
         [g1;g2] ->
           let proof'',goals =
            ProofEngineTypes.apply_tactic
-           (auto_tac ~params:["paramodulation","on"] ~dbd) (proof'',g2)
+           (auto_tac ~params:["caso_strano","on";"paramodulation","on"] ~dbd) (proof'',g2)
           in
            let proof'',goals =
             ProofEngineTypes.apply_tactic
@@ -493,3 +494,5 @@ let applyS_tac ~dbd ~term =
     | CicUnification.UnificationFailure msg
     | CicTypeChecker.TypeCheckerFailure msg ->
         raise (ProofEngineTypes.Fail msg))
+
+let pp_proofterm = Equality.pp_proofterm;;