do the right thing with provers that exist only remotely (e.g. e_sine)
--- 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,