if slicing is disabled, pick the maximum number of facts, not the number of facts in the last slice
authorblanchet
Thu, 17 Oct 2013 01:10:08 +0200
changeset 54126 6675cdc0d1ae
parent 54125 420b876ff1e2
child 54127 1e6db1c9f14c
if slicing is disabled, pick the maximum number of facts, not the number of facts in the last slice
src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML
src/HOL/Mirabelle/Tools/mirabelle_sledgehammer_filter.ML
src/HOL/TPTP/sledgehammer_tactics.ML
src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML
src/HOL/Tools/Sledgehammer/sledgehammer_run.ML
--- a/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML	Thu Oct 17 01:04:00 2013 +0200
+++ b/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML	Thu Oct 17 01:10:08 2013 +0200
@@ -454,8 +454,7 @@
           |> sh_minimizeLST (*don't confuse the two minimization flags*)
           |> max_new_mono_instancesLST
           |> max_mono_itersLST)
-    val default_max_facts =
-      Sledgehammer_Provers.default_max_facts_of_prover ctxt slice prover_name
+    val default_max_facts = Sledgehammer_Provers.default_max_facts_of_prover ctxt prover_name
     val is_appropriate_prop =
       Sledgehammer_Provers.is_appropriate_prop_of_prover ctxt prover_name
     val (_, hyp_ts, concl_t) = ATP_Util.strip_subgoal goal i ctxt
--- a/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer_filter.ML	Thu Oct 17 01:04:00 2013 +0200
+++ b/src/HOL/Mirabelle/Tools/mirabelle_sledgehammer_filter.ML	Thu Oct 17 01:10:08 2013 +0200
@@ -113,8 +113,7 @@
          val prover = AList.lookup (op =) args "prover" |> the_default default_prover
          val params as {max_facts, slice, ...} =
            Sledgehammer_Isar.default_params ctxt args
-         val default_max_facts =
-           Sledgehammer_Provers.default_max_facts_of_prover ctxt slice prover
+         val default_max_facts = Sledgehammer_Provers.default_max_facts_of_prover ctxt prover
          val is_appropriate_prop =
            Sledgehammer_Provers.is_appropriate_prop_of_prover ctxt default_prover
          val relevance_fudge =
--- a/src/HOL/TPTP/sledgehammer_tactics.ML	Thu Oct 17 01:04:00 2013 +0200
+++ b/src/HOL/TPTP/sledgehammer_tactics.ML	Thu Oct 17 01:10:08 2013 +0200
@@ -27,18 +27,16 @@
 fun run_prover override_params fact_override i n ctxt goal =
   let
     val mode = Normal
-    val params as {provers, max_facts, slice, ...} =
-      default_params ctxt override_params
+    val params as {provers, max_facts, ...} = default_params ctxt override_params
     val name = hd provers
     val prover = get_prover ctxt mode name
-    val default_max_facts = default_max_facts_of_prover ctxt slice name
+    val default_max_facts = default_max_facts_of_prover ctxt name
     val (_, hyp_ts, concl_t) = ATP_Util.strip_subgoal goal i ctxt
     val ho_atp = exists (is_ho_atp ctxt) provers
     val reserved = reserved_isar_keyword_table ()
     val css_table = clasimpset_rule_table_of ctxt
     val facts =
-      nearly_all_facts ctxt ho_atp fact_override reserved css_table [] hyp_ts
-                       concl_t
+      nearly_all_facts ctxt ho_atp fact_override reserved css_table [] hyp_ts concl_t
       |> relevant_facts ctxt params name
              (the_default default_max_facts max_facts) fact_override hyp_ts
              concl_t
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML	Thu Oct 17 01:04:00 2013 +0200
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML	Thu Oct 17 01:10:08 2013 +0200
@@ -96,7 +96,7 @@
     Proof.context -> string -> string option
   val remotify_prover_if_not_installed :
     Proof.context -> string -> string option
-  val default_max_facts_of_prover : Proof.context -> bool -> string -> int
+  val default_max_facts_of_prover : Proof.context -> string -> int
   val is_unit_equality : term -> bool
   val is_appropriate_prop_of_prover : Proof.context -> string -> term -> bool
   val weight_smt_fact :
@@ -207,13 +207,12 @@
 
 fun slice_max_facts (_, ( ((max_facts, _), _, _, _, _), _)) = max_facts
 
-fun default_max_facts_of_prover ctxt slice name =
+fun default_max_facts_of_prover ctxt name =
   let val thy = Proof_Context.theory_of ctxt in
     if is_reconstructor name then
       reconstructor_default_max_facts
     else if is_atp thy name then
-      fold (Integer.max o slice_max_facts o snd)
-           (get_slices slice (#best_slices (get_atp thy name ()) ctxt)) 0
+      fold (Integer.max o slice_max_facts) (#best_slices (get_atp thy name ()) ctxt) 0
     else (* is_smt_prover ctxt name *)
       SMT_Solver.default_max_relevant ctxt name
   end
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_run.ML	Thu Oct 17 01:04:00 2013 +0200
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_run.ML	Thu Oct 17 01:10:08 2013 +0200
@@ -76,7 +76,7 @@
     val _ = spying spy (fn () => (state, subgoal, name, "Launched"));
     val birth_time = Time.now ()
     val death_time = Time.+ (birth_time, hard_timeout)
-    val max_facts = max_facts |> the_default (default_max_facts_of_prover ctxt slice name)
+    val max_facts = max_facts |> the_default (default_max_facts_of_prover ctxt name)
     val num_facts = length facts |> not only ? Integer.min max_facts
 
     fun desc () = prover_description ctxt params name num_facts subgoal subgoal_count goal
@@ -257,8 +257,7 @@
             case max_facts of
               SOME n => n
             | NONE =>
-              0 |> fold (Integer.max o default_max_facts_of_prover ctxt slice)
-                        provers
+              0 |> fold (Integer.max o default_max_facts_of_prover ctxt) provers
                 |> mode = Auto_Try ? (fn n => n div auto_try_max_facts_divisor)
           val _ = spying spy (fn () => (state, i, label ^ "s",
             "Filtering " ^ string_of_int (length all_facts) ^ " facts"));