show types in Isar proofs, but not for free variables;
authorblanchet
Wed, 02 Jun 2010 14:35:52 +0200
changeset 3731642268dc7d6c4
parent 37315 32b3d16b04f6
child 37317 06c7a2f231fe
show types in Isar proofs, but not for free variables;
this makes proofs more robust, without as much clutter as there used to be when types were enabled previously
src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML
     1.1 --- a/src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML	Wed Jun 02 12:28:42 2010 +0200
     1.2 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_proof_reconstruct.ML	Wed Jun 02 14:35:52 2010 +0200
     1.3 @@ -914,9 +914,11 @@
     1.4  
     1.5  fun string_for_proof ctxt i n =
     1.6    let
     1.7 -    fun fix_print_mode f =
     1.8 -      Print_Mode.setmp (filter (curry (op =) Symbol.xsymbolsN)
     1.9 -                      (print_mode_value ())) f
    1.10 +    fun fix_print_mode f x =
    1.11 +      setmp_CRITICAL show_no_free_types true
    1.12 +          (setmp_CRITICAL show_types true
    1.13 +               (Print_Mode.setmp (filter (curry (op =) Symbol.xsymbolsN)
    1.14 +                                         (print_mode_value ())) f)) x
    1.15      fun do_indent ind = replicate_string (ind * indent_size) " "
    1.16      fun do_free (s, T) =
    1.17        maybe_quote s ^ " :: " ^