src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 53049 f60f92e47290
parent 53048 0f76e620561f
child 53052 a0db255af8c5
equal deleted inserted replaced
53048:0f76e620561f 53049:f60f92e47290
   498 val _ =
   498 val _ =
   499   Query_Operation.register sledgehammerN (fn {state = st, args, output_result} =>
   499   Query_Operation.register sledgehammerN (fn {state = st, args, output_result} =>
   500     (case try Toplevel.proof_of st of
   500     (case try Toplevel.proof_of st of
   501       SOME state =>
   501       SOME state =>
   502         let
   502         let
   503           val [provers_arg, timeout_arg, subgoal_arg, isar_proofs_arg] = args;
   503           val [provers_arg, timeout_arg, isar_proofs_arg] = args;
   504           val ctxt = Proof.context_of state
   504           val ctxt = Proof.context_of state
   505           val mode = Normal_Result
   505           val mode = Normal_Result
   506 
   506 
   507           val {debug, verbose, overlord, isar_proofs, ...} = get_params mode ctxt []
   507           val {debug, verbose, overlord, isar_proofs, ...} = get_params mode ctxt []
   508           val override_params =
   508           val override_params =
   513             (if verbose then [("verbose", ["false"])] else []) @
   513             (if verbose then [("verbose", ["false"])] else []) @
   514             (if overlord then [("overlord", ["false"])] else []) @
   514             (if overlord then [("overlord", ["false"])] else []) @
   515             (if provers_arg = "" then [] else [("provers", space_explode " " provers_arg)]))
   515             (if provers_arg = "" then [] else [("provers", space_explode " " provers_arg)]))
   516             |> map (normalize_raw_param ctxt)
   516             |> map (normalize_raw_param ctxt)
   517 
   517 
   518           val i = the_default 1 (Int.fromString subgoal_arg)
       
   519           val _ =
   518           val _ =
   520             run_sledgehammer (get_params mode ctxt override_params) mode (SOME output_result) i
   519             run_sledgehammer (get_params mode ctxt override_params) mode (SOME output_result) 1
   521               no_fact_override (minimize_command override_params i) state
   520               no_fact_override (minimize_command override_params 1) state
   522         in () end
   521         in () end
   523     | NONE => error "Unknown proof context"));
   522     | NONE => error "Unknown proof context"));
   524 
   523 
   525 end;
   524 end;