do the right thing with provers that exist only remotely (e.g. e_sine)
authorblanchet
Thu, 13 Feb 2014 16:21:43 +0100
changeset 55458 d3b72d260d4a
parent 55457 e373c9f60db1
child 55459 1cd927ca8296
do the right thing with provers that exist only remotely (e.g. e_sine)
src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML
src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML	Thu Feb 13 15:51:54 2014 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML	Thu Feb 13 16:21:43 2014 +0100
@@ -197,7 +197,7 @@
 (* The first ATP of the list is used by Auto Sledgehammer. Because of the low
    timeout, it makes sense to put E first. *)
 fun default_provers_param_value mode thy =
-  [eN, spassN, z3N, vampireN, e_sineN, yicesN]
+  [eN, spassN, z3N, e_sineN, vampireN, yicesN]
   |> map_filter (remotify_atp_if_not_installed thy)
   (* In "try" mode, leave at least one thread to another slow tool (e.g. Nitpick) *)
   |> take (Multithreading.max_threads_value () - (if mode = Try then 1 else 0))
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML	Thu Feb 13 15:51:54 2014 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML	Thu Feb 13 16:21:43 2014 +0100
@@ -120,14 +120,12 @@
 
 fun remotify_atp_if_not_installed thy name =
   if is_atp thy name then
-    if String.isPrefix remote_prefix name orelse is_atp_installed thy name then
-      SOME name
-    else
-      let val remote_name = remote_prefix ^ name in
-        if is_atp thy remote_name then SOME remote_name else NONE
-      end
+    if String.isPrefix remote_prefix name orelse is_atp_installed thy name then SOME name
+    else NONE
   else
-    SOME name
+    let val remote_name = remote_prefix ^ name in
+      SOME (if is_atp thy remote_name then remote_name else name)
+    end
 
 type params =
   {debug : bool,