# HG changeset patch # User blanchet # Date 1292508737 -3600 # Node ID 1b28c43a7074f7ef2e2822e697dec22ab9f8beb3 # Parent f9c7bdc75dd0819b8d7479431c3534dcc1d247f8 make "debug" imply "blocking", since in blocking mode the exceptions flow through and are more instructive diff -r f9c7bdc75dd0 -r 1b28c43a7074 doc-src/Sledgehammer/sledgehammer.tex --- a/doc-src/Sledgehammer/sledgehammer.tex Thu Dec 16 15:12:17 2010 +0100 +++ b/doc-src/Sledgehammer/sledgehammer.tex Thu Dec 16 15:12:17 2010 +0100 @@ -552,11 +552,14 @@ \opfalse{verbose}{quiet} Specifies whether the \textbf{sledgehammer} command should explain what it does. +This option is implicitly disabled for automatic runs. \opfalse{debug}{no\_debug} Specifies whether Sledgehammer should display additional debugging information beyond what \textit{verbose} already displays. Enabling \textit{debug} also -enables \textit{verbose} behind the scenes. +enables \textit{verbose} and \textit{blocking} (\S\ref{mode-of-operation}) +behind the scenes. The \textit{debug} option is implicitly disabled for +automatic runs. \nopagebreak {\small See also \textit{overlord} (\S\ref{mode-of-operation}).} diff -r f9c7bdc75dd0 -r 1b28c43a7074 src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML --- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML Thu Dec 16 15:12:17 2010 +0100 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML Thu Dec 16 15:12:17 2010 +0100 @@ -75,10 +75,10 @@ type raw_param = string * string list val default_default_params = - [("blocking", "false"), - ("debug", "false"), + [("debug", "false"), ("verbose", "false"), ("overlord", "false"), + ("blocking", "false"), ("type_sys", "smart"), ("explicit_apply", "false"), ("relevance_thresholds", "0.45 0.85"), @@ -91,10 +91,10 @@ ("atps", "provers"), (* FIXME: legacy *) ("atp", "provers")] (* FIXME: legacy *) val negated_alias_params = - [("non_blocking", "blocking"), - ("no_debug", "debug"), + [("no_debug", "debug"), ("quiet", "verbose"), ("no_overlord", "overlord"), + ("non_blocking", "blocking"), ("partial_types", "full_types"), ("implicit_apply", "explicit_apply"), ("no_isar_proof", "isar_proof")] @@ -219,10 +219,10 @@ case lookup name of SOME "smart" => NONE | _ => SOME (lookup_int name) - val blocking = auto orelse lookup_bool "blocking" val debug = not auto andalso lookup_bool "debug" val verbose = debug orelse (not auto andalso lookup_bool "verbose") val overlord = lookup_bool "overlord" + val blocking = auto orelse debug orelse lookup_bool "blocking" val provers = lookup_string "provers" |> space_explode " " |> auto ? single o hd val type_sys = @@ -244,7 +244,7 @@ val timeout = (if auto then NONE else lookup_time "timeout") |> the_timeout val expect = lookup_string "expect" in - {blocking = blocking, debug = debug, verbose = verbose, overlord = overlord, + {debug = debug, verbose = verbose, overlord = overlord, blocking = blocking, provers = provers, type_sys = type_sys, explicit_apply = explicit_apply, relevance_thresholds = relevance_thresholds, max_relevant = max_relevant, isar_proof = isar_proof, isar_shrink_factor = isar_shrink_factor, diff -r f9c7bdc75dd0 -r 1b28c43a7074 src/HOL/Tools/Sledgehammer/sledgehammer_minimize.ML --- a/src/HOL/Tools/Sledgehammer/sledgehammer_minimize.ML Thu Dec 16 15:12:17 2010 +0100 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_minimize.ML Thu Dec 16 15:12:17 2010 +0100 @@ -54,7 +54,7 @@ let val _ = print silent (fn () => "Testing " ^ n_facts (map fst facts) ^ "...") val params = - {blocking = true, debug = debug, verbose = false, overlord = overlord, + {debug = debug, verbose = false, overlord = overlord, blocking = true, provers = provers, type_sys = type_sys, explicit_apply = explicit_apply, relevance_thresholds = (1.01, 1.01), max_relevant = NONE, isar_proof = isar_proof, isar_shrink_factor = isar_shrink_factor, diff -r f9c7bdc75dd0 -r 1b28c43a7074 src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML --- a/src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML Thu Dec 16 15:12:17 2010 +0100 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML Thu Dec 16 15:12:17 2010 +0100 @@ -16,10 +16,10 @@ type minimize_command = Sledgehammer_ATP_Reconstruct.minimize_command type params = - {blocking: bool, - debug: bool, + {debug: bool, verbose: bool, overlord: bool, + blocking: bool, provers: string list, type_sys: type_system, explicit_apply: bool, @@ -214,10 +214,10 @@ (** problems, results, ATPs, etc. **) type params = - {blocking: bool, - debug: bool, + {debug: bool, verbose: bool, overlord: bool, + blocking: bool, provers: string list, type_sys: type_system, explicit_apply: bool, diff -r f9c7bdc75dd0 -r 1b28c43a7074 src/HOL/Tools/Sledgehammer/sledgehammer_run.ML --- a/src/HOL/Tools/Sledgehammer/sledgehammer_run.ML Thu Dec 16 15:12:17 2010 +0100 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_run.ML Thu Dec 16 15:12:17 2010 +0100 @@ -26,7 +26,7 @@ open Sledgehammer_Provers open Sledgehammer_Minimize -fun prover_description ctxt ({blocking, verbose, ...} : params) name num_facts i +fun prover_description ctxt ({verbose, blocking, ...} : params) name num_facts i n goal = quote name ^ (if verbose then @@ -41,7 +41,7 @@ val implicit_minimization_threshold = 50 -fun run_prover (params as {blocking, debug, max_relevant, timeout, expect, ...}) +fun run_prover (params as {debug, blocking, max_relevant, timeout, expect, ...}) auto minimize_command only {state, goal, subgoal, subgoal_count, facts} name = let @@ -118,7 +118,7 @@ (* FUDGE *) val auto_max_relevant_divisor = 2 -fun run_sledgehammer (params as {blocking, debug, provers, type_sys, +fun run_sledgehammer (params as {debug, blocking, provers, type_sys, relevance_thresholds, max_relevant, ...}) auto i (relevance_override as {only, ...}) minimize_command state =