src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML
changeset 39340 3998dc0bf82b
parent 39337 ffa577c0bbfa
child 39341 d2b981a0429a
equal deleted inserted replaced
39339:9608a5bd5d20 39340:3998dc0bf82b
   386 
   386 
   387 in
   387 in
   388 
   388 
   389 fun run_sledgehammer trivial args named_thms id ({pre=st, log, ...}: Mirabelle.run_args) =
   389 fun run_sledgehammer trivial args named_thms id ({pre=st, log, ...}: Mirabelle.run_args) =
   390   let
   390   let
       
   391     val triv_str = if trivial then "[T] " else ""
   391     val _ = change_data id inc_sh_calls
   392     val _ = change_data id inc_sh_calls
   392     val _ = if trivial then () else change_data id inc_sh_nontriv_calls
   393     val _ = if trivial then () else change_data id inc_sh_nontriv_calls
   393     val (prover_name, prover) = get_atp (Proof.theory_of st) args
   394     val (prover_name, prover) = get_atp (Proof.theory_of st) args
   394     val dir = AList.lookup (op =) args keepK
   395     val dir = AList.lookup (op =) args keepK
   395     val timeout = Mirabelle.get_int_setting args (prover_timeoutK, 30)
   396     val timeout = Mirabelle.get_int_setting args (prover_timeoutK, 30)
   409           change_data id (inc_sh_lemmas (length names));
   410           change_data id (inc_sh_lemmas (length names));
   410           change_data id (inc_sh_max_lems (length names));
   411           change_data id (inc_sh_max_lems (length names));
   411           change_data id (inc_sh_time_isa time_isa);
   412           change_data id (inc_sh_time_isa time_isa);
   412           change_data id (inc_sh_time_atp time_atp);
   413           change_data id (inc_sh_time_atp time_atp);
   413           named_thms := SOME (map_filter get_thms names);
   414           named_thms := SOME (map_filter get_thms names);
   414           log (sh_tag id ^ "succeeded (" ^ string_of_int time_isa ^ "+" ^
   415           log (sh_tag id ^ triv_str ^ "succeeded (" ^ string_of_int time_isa ^ "+" ^
   415             string_of_int time_atp ^ ") [" ^ prover_name ^ "]:\n" ^ msg)
   416             string_of_int time_atp ^ ") [" ^ prover_name ^ "]:\n" ^ msg)
   416         end
   417         end
   417     | SH_FAIL (time_isa, time_atp) =>
   418     | SH_FAIL (time_isa, time_atp) =>
   418         let
   419         let
   419           val _ = change_data id (inc_sh_time_isa time_isa)
   420           val _ = change_data id (inc_sh_time_isa time_isa)
   420           val _ = change_data id (inc_sh_time_atp_fail time_atp)
   421           val _ = change_data id (inc_sh_time_atp_fail time_atp)
   421         in log (sh_tag id ^ "failed: " ^ msg) end
   422         in log (sh_tag id ^ triv_str ^ "failed: " ^ msg) end
   422     | SH_ERROR => log (sh_tag id ^ "failed: " ^ msg)
   423     | SH_ERROR => log (sh_tag id ^ "failed: " ^ msg)
   423   end
   424   end
   424 
   425 
   425 end
   426 end
   426 
   427