src/HOL/Tools/Sledgehammer/sledgehammer_run.ML
changeset 52997 ea02bc4e9a5f
parent 52908 3461985dcbc3
child 53048 0f76e620561f
equal deleted inserted replaced
52996:9a47c8256054 52997:ea02bc4e9a5f
   155         val state' =
   155         val state' =
   156           if Config.get ctxt sledgehammer_result_request then
   156           if Config.get ctxt sledgehammer_result_request then
   157             state |> Proof.map_context
   157             state |> Proof.map_context
   158               (Config.put sledgehammer_result (quote name ^ ": " ^ message ()))
   158               (Config.put sledgehammer_result (quote name ^ ": " ^ message ()))
   159           else
   159           else
   160             ((if outcome_code = someN orelse mode = Normal then
   160             ((if outcome_code = someN orelse mode = Normal orelse mode = Normal_Result then
   161                quote name ^ ": " ^ message ()
   161                quote name ^ ": " ^ message ()
   162              else
   162              else
   163                "")
   163                "")
   164               |> Async_Manager.break_into_chunks
   164               |> Async_Manager.break_into_chunks
   165               |> List.app Output.urgent_message;
   165               |> List.app Output.urgent_message;
   292       fun launch_atps_and_smt_solvers () =
   292       fun launch_atps_and_smt_solvers () =
   293         [launch_full_atps, launch_smts, launch_ueq_atps]
   293         [launch_full_atps, launch_smts, launch_ueq_atps]
   294         |> Par_List.map (fn f => ignore (f (unknownN, state)))
   294         |> Par_List.map (fn f => ignore (f (unknownN, state)))
   295         handle ERROR msg => (print ("Error: " ^ msg); error msg)
   295         handle ERROR msg => (print ("Error: " ^ msg); error msg)
   296       fun maybe f (accum as (outcome_code, _)) =
   296       fun maybe f (accum as (outcome_code, _)) =
   297         accum |> (mode = Normal orelse outcome_code <> someN) ? f
   297         accum |> (mode = Normal orelse mode = Normal_Result orelse outcome_code <> someN) ? f
   298     in
   298     in
   299       (unknownN, state)
   299       (unknownN, state)
   300       |> (if blocking then
   300       |> (if blocking then
   301             launch_full_atps
   301             launch_full_atps
   302             #> mode <> Auto_Try ? (maybe launch_ueq_atps #> maybe launch_smts)
   302             #> mode <> Auto_Try ? (maybe launch_ueq_atps #> maybe launch_smts)