src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 43008 bb212c2ad238
parent 42997 038bb26d74b0
child 43009 f58bab6be6a9
equal deleted inserted replaced
43007:b48aa3492f0b 43008:bb212c2ad238
   281 
   281 
   282 val sledgehammerN = "sledgehammer"
   282 val sledgehammerN = "sledgehammer"
   283 val sledgehammer_paramsN = "sledgehammer_params"
   283 val sledgehammer_paramsN = "sledgehammer_params"
   284 
   284 
   285 val runN = "run"
   285 val runN = "run"
   286 val minimizeN = "minimize"
   286 val minN = "min"
   287 val messagesN = "messages"
   287 val messagesN = "messages"
   288 val supported_proversN = "supported_provers"
   288 val supported_proversN = "supported_provers"
   289 val running_proversN = "running_provers"
   289 val running_proversN = "running_provers"
   290 val kill_proversN = "kill_provers"
   290 val kill_proversN = "kill_provers"
   291 val refresh_tptpN = "refresh_tptp"
   291 val refresh_tptpN = "refresh_tptp"
   294   member (op =) params_for_minimize o fst o unalias_raw_param
   294   member (op =) params_for_minimize o fst o unalias_raw_param
   295 fun string_for_raw_param (key, values) =
   295 fun string_for_raw_param (key, values) =
   296   key ^ (case implode_param values of "" => "" | value => " = " ^ value)
   296   key ^ (case implode_param values of "" => "" | value => " = " ^ value)
   297 
   297 
   298 fun minimize_command override_params i prover_name fact_names =
   298 fun minimize_command override_params i prover_name fact_names =
   299   sledgehammerN ^ " " ^ minimizeN ^ " [prover = " ^ prover_name ^
   299   sledgehammerN ^ " " ^ minN ^ " [prover = " ^ prover_name ^
   300   (override_params |> filter is_raw_param_relevant_for_minimize
   300   (override_params |> filter is_raw_param_relevant_for_minimize
   301                    |> implode o map (prefix ", " o string_for_raw_param)) ^
   301                    |> implode o map (prefix ", " o string_for_raw_param)) ^
   302   "] (" ^ space_implode " " fact_names ^ ")" ^
   302   "] (" ^ space_implode " " fact_names ^ ")" ^
   303   (if i = 1 then "" else " " ^ string_of_int i)
   303   (if i = 1 then "" else " " ^ string_of_int i)
   304 
   304 
   313         run_sledgehammer (get_params false ctxt override_params) false i
   313         run_sledgehammer (get_params false ctxt override_params) false i
   314                          relevance_override (minimize_command override_params i)
   314                          relevance_override (minimize_command override_params i)
   315                          state
   315                          state
   316         |> K ()
   316         |> K ()
   317       end
   317       end
   318     else if subcommand = minimizeN then
   318     else if subcommand = minN then
   319       run_minimize (get_params false ctxt override_params) (the_default 1 opt_i)
   319       run_minimize (get_params false ctxt override_params) (the_default 1 opt_i)
   320                    (#add relevance_override) state
   320                    (#add relevance_override) state
   321     else if subcommand = messagesN then
   321     else if subcommand = messagesN then
   322       messages opt_i
   322       messages opt_i
   323     else if subcommand = supported_proversN then
   323     else if subcommand = supported_proversN then