selectable prover for sledgehammer, proper environment lookup
authorboehmes
Fri, 28 Aug 2009 19:57:12 +0200
changeset 32434 6b93b73a712b
parent 32431 bcd14373ec30
child 32445 5a03495c731a
child 32451 8f0dc876fb1b
selectable prover for sledgehammer, proper environment lookup
src/HOL/Tools/Mirabelle/Tools/mirabelle_sledgehammer.ML
src/HOL/Tools/Mirabelle/lib/scripts/mirabelle.pl
--- a/src/HOL/Tools/Mirabelle/Tools/mirabelle_sledgehammer.ML	Fri Aug 28 18:23:24 2009 +0200
+++ b/src/HOL/Tools/Mirabelle/Tools/mirabelle_sledgehammer.ML	Fri Aug 28 19:57:12 2009 +0200
@@ -5,9 +5,12 @@
 structure Mirabelle_Sledgehammer : MIRABELLE_ACTION =
 struct
 
-fun sledgehammer_action {pre=st, ...} =
+fun sledgehammer_action args {pre=st, ...} =
   let
-    val prover_name = hd (space_explode " " (AtpManager.get_atps ()))
+    val prover_name =
+      AList.lookup (op =) args "prover"
+      |> the_default (hd (space_explode " " (AtpManager.get_atps ())))
+
     val thy = Proof.theory_of st
  
     val prover = the (AtpManager.get_prover prover_name thy)
@@ -26,6 +29,6 @@
     else NONE
   end
 
-fun invoke _ = Mirabelle.register ("sledgehammer", sledgehammer_action)
+fun invoke args = Mirabelle.register ("sledgehammer", sledgehammer_action args)
 
 end
--- a/src/HOL/Tools/Mirabelle/lib/scripts/mirabelle.pl	Fri Aug 28 18:23:24 2009 +0200
+++ b/src/HOL/Tools/Mirabelle/lib/scripts/mirabelle.pl	Fri Aug 28 19:57:12 2009 +0200
@@ -125,7 +125,7 @@
 print LOG_FILE "\n\n";
 close(LOG_FILE);
 
-my $r = system "\"$ISABELLE_PROCESS\" " .
+my $r = system "\"$ENV{'ISABELLE_PROCESS'}\" " .
   "-e 'use \"$root_file\";' -q $mirabelle_logic" . "\n";