use official/portable Multithreading.max_threads_value, which is also subject to user preferences (NB: Thread.numProcessors is apt to lead to surprises like very high numbers for systems with hyperthreading);
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML Wed Nov 10 16:05:15 2010 +0100
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML Wed Nov 10 17:53:41 2010 +0100
@@ -154,15 +154,13 @@
prover :: avoid_too_many_local_threads thy n provers
end
-fun num_processors () = try Thread.numProcessors () |> the_default 1
-
(* The first ATP of the list is used by Auto Sledgehammer. Because of the low
timeout, it makes sense to put SPASS first. *)
fun default_provers_param_value ctxt =
let val thy = ProofContext.theory_of ctxt in
[spassN, eN, vampireN, sine_eN (* FIXME: , smtN *)]
|> map_filter (remotify_prover_if_not_installed ctxt)
- |> avoid_too_many_local_threads thy (num_processors ())
+ |> avoid_too_many_local_threads thy (Multithreading.max_threads_value ())
|> space_implode " "
end