src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 57439 8e7a9ad44e14
parent 57435 4eeb73a1feec
child 57467 e03c0f6ad1b6
     1.1 --- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Thu Mar 13 13:18:14 2014 +0100
     1.2 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Thu Mar 13 13:18:14 2014 +0100
     1.3 @@ -112,7 +112,7 @@
     1.4    * (term, string) atp_step list * thm
     1.5  
     1.6  val basic_systematic_methods = [Metis_Method (NONE, NONE), Meson_Method, Blast_Method]
     1.7 -val simp_based_methods = [Simp_Method, Auto_Method, Fastforce_Method, Force_Method]
     1.8 +val simp_based_methods = [Auto_Method, Simp_Method, Fastforce_Method, Force_Method]
     1.9  val basic_arith_methods = [Linarith_Method, Presburger_Method, Algebra_Method]
    1.10  
    1.11  val arith_methods = basic_arith_methods @ simp_based_methods @ basic_systematic_methods
    1.12 @@ -125,6 +125,8 @@
    1.13  fun isar_proof_text ctxt debug isar_proofs smt_proofs isar_params
    1.14      (one_line_params as (_, _, _, _, subgoal, subgoal_count)) =
    1.15    let
    1.16 +    val _ = if debug then Output.urgent_message "Constructing Isar proof..." else ()
    1.17 +
    1.18      fun isar_proof_of () =
    1.19        let
    1.20          val SOME (verbose, alt_metis_args, preplay_timeout, compress_isar, try0_isar, minimize,
    1.21 @@ -272,8 +274,6 @@
    1.22          and isar_proof outer fix assms lems infs =
    1.23            Proof (fix, assms, lems @ isar_steps outer NONE [] infs)
    1.24  
    1.25 -        val string_of_isar_proof = string_of_isar_proof ctxt subgoal subgoal_count
    1.26 -
    1.27          val trace = Config.get ctxt trace
    1.28  
    1.29          val canonical_isar_proof =
    1.30 @@ -303,7 +303,8 @@
    1.31          fun trace_isar_proof label proof =
    1.32            if trace then
    1.33              tracing (timestamp () ^ "\n" ^ label ^ ":\n\n" ^
    1.34 -              string_of_isar_proof (comment_isar_proof comment_of proof) ^ "\n")
    1.35 +              string_of_isar_proof ctxt subgoal subgoal_count
    1.36 +                (comment_isar_proof comment_of proof) ^ "\n")
    1.37            else
    1.38              ()
    1.39  
    1.40 @@ -335,7 +336,7 @@
    1.41                 #> kill_useless_labels_in_isar_proof
    1.42                 #> relabel_isar_proof_nicely)
    1.43        in
    1.44 -        (case string_of_isar_proof isar_proof of
    1.45 +        (case string_of_isar_proof ctxt subgoal subgoal_count isar_proof of
    1.46            "" =>
    1.47            if isar_proofs = SOME true then "\nNo structured proof available (proof too simple)."
    1.48            else ""
    1.49 @@ -363,7 +364,7 @@
    1.50          (case try isar_proof_of () of
    1.51            SOME s => s
    1.52          | NONE =>
    1.53 -          if isar_proofs = SOME true then "\nWarning: The Isar proof construction failed." else "")
    1.54 +          if isar_proofs = SOME true then "\nWarning: Isar proof construction failed." else "")
    1.55    in one_line_proof ^ isar_proof end
    1.56  
    1.57  fun isar_proof_would_be_a_good_idea smt_proofs (meth, play) =