src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML
changeset 41136 30bedf58b177
parent 41134 de9e0adc21da
child 41138 eb80538166b6
equal deleted inserted replaced
41135:8c5d44c7e8af 41136:30bedf58b177
    18     {blocking: bool,
    18     {blocking: bool,
    19      debug: bool,
    19      debug: bool,
    20      verbose: bool,
    20      verbose: bool,
    21      overlord: bool,
    21      overlord: bool,
    22      provers: string list,
    22      provers: string list,
       
    23      type_sys: string,
    23      full_types: bool,
    24      full_types: bool,
    24      type_sys: string,
       
    25      explicit_apply: bool,
    25      explicit_apply: bool,
    26      relevance_thresholds: real * real,
    26      relevance_thresholds: real * real,
    27      max_relevant: int option,
    27      max_relevant: int option,
    28      isar_proof: bool,
    28      isar_proof: bool,
    29      isar_shrink_factor: int,
    29      isar_shrink_factor: int,
   202   {blocking: bool,
   202   {blocking: bool,
   203    debug: bool,
   203    debug: bool,
   204    verbose: bool,
   204    verbose: bool,
   205    overlord: bool,
   205    overlord: bool,
   206    provers: string list,
   206    provers: string list,
       
   207    type_sys: string,
   207    full_types: bool,
   208    full_types: bool,
   208    type_sys: string,
       
   209    explicit_apply: bool,
   209    explicit_apply: bool,
   210    relevance_thresholds: real * real,
   210    relevance_thresholds: real * real,
   211    max_relevant: int option,
   211    max_relevant: int option,
   212    isar_proof: bool,
   212    isar_proof: bool,
   213    isar_shrink_factor: int,
   213    isar_shrink_factor: int,
   269 val important_message_keep_factor = 0.1
   269 val important_message_keep_factor = 0.1
   270 
   270 
   271 fun run_atp auto atp_name
   271 fun run_atp auto atp_name
   272         ({exec, required_execs, arguments, has_incomplete_mode, proof_delims,
   272         ({exec, required_execs, arguments, has_incomplete_mode, proof_delims,
   273          known_failures, explicit_forall, use_conjecture_for_hypotheses, ...} : atp_config)
   273          known_failures, explicit_forall, use_conjecture_for_hypotheses, ...} : atp_config)
   274         ({debug, verbose, overlord, full_types, type_sys, explicit_apply,
   274         ({debug, verbose, overlord, type_sys, full_types, explicit_apply,
   275           isar_proof, isar_shrink_factor, timeout, ...} : params)
   275           isar_proof, isar_shrink_factor, timeout, ...} : params)
   276         minimize_command ({state, goal, subgoal, facts, ...} : prover_problem) =
   276         minimize_command ({state, goal, subgoal, facts, ...} : prover_problem) =
   277   let
   277   let
   278     val ctxt = Proof.context_of state
   278     val ctxt = Proof.context_of state
   279     val type_sys =
   279     val type_sys =
   396     val (message, used_facts) =
   396     val (message, used_facts) =
   397       case outcome of
   397       case outcome of
   398         NONE =>
   398         NONE =>
   399         proof_text isar_proof
   399         proof_text isar_proof
   400             (pool, debug, isar_shrink_factor, ctxt, conjecture_shape)
   400             (pool, debug, isar_shrink_factor, ctxt, conjecture_shape)
   401             (proof_banner auto, full_types, minimize_command, tstplike_proof,
   401             (proof_banner auto, type_sys, minimize_command, tstplike_proof,
   402              fact_names, goal, subgoal)
   402              fact_names, goal, subgoal)
   403         |>> (fn message =>
   403         |>> (fn message =>
   404                 message ^
   404                 message ^
   405                 (if verbose then
   405                 (if verbose then
   406                    "\nATP real CPU time: " ^
   406                    "\nATP real CPU time: " ^