src/HOL/Tools/Sledgehammer/sledgehammer_reconstruct.ML
changeset 54827 14e2c7616209
parent 54824 4e58a38b330b
child 54828 b2271ad695db
equal deleted inserted replaced
54826:79745ba60a5a 54827:14e2c7616209
   353           |> postprocess_remove_unreferenced_steps I
   353           |> postprocess_remove_unreferenced_steps I
   354           |> relabel_proof_canonically
   354           |> relabel_proof_canonically
   355           |> `(proof_preplay_interface debug ctxt metis_type_enc metis_lam_trans do_preplay
   355           |> `(proof_preplay_interface debug ctxt metis_type_enc metis_lam_trans do_preplay
   356                preplay_timeout)
   356                preplay_timeout)
   357 
   357 
   358         val ((preplay_time, preplay_fail), isar_proof) =
   358         val (preplay_result, isar_proof) =
   359           isar_proof
   359           isar_proof
   360           |> compress_proof (if isar_proofs = SOME true then isar_compress else 1000.0)
   360           |> compress_proof (if isar_proofs = SOME true then isar_compress else 1000.0)
   361                preplay_interface
   361                preplay_interface
   362           |> isar_try0 ? try0 preplay_timeout preplay_interface
   362           |> isar_try0 ? try0 preplay_timeout preplay_interface
   363           |> postprocess_remove_unreferenced_steps (isar_try0 ? min_deps_of_step preplay_interface)
   363           |> postprocess_remove_unreferenced_steps (isar_try0 ? min_deps_of_step preplay_interface)
   381                   val num_steps = add_proof_steps (steps_of_proof isar_proof) 0
   381                   val num_steps = add_proof_steps (steps_of_proof isar_proof) 0
   382                 in [string_of_int num_steps ^ " step" ^ plural_s num_steps] end
   382                 in [string_of_int num_steps ^ " step" ^ plural_s num_steps] end
   383                else
   383                else
   384                  []) @
   384                  []) @
   385               (if do_preplay then
   385               (if do_preplay then
   386                 [(if preplay_fail then "may fail, " else "") ^ string_of_ext_time preplay_time]
   386                 [(case preplay_result of
       
   387                    Preplay_Success ext_time => string_of_ext_time ext_time
       
   388                  | Preplay_Failure => "may fail")]
   387                else
   389                else
   388                  [])
   390                  [])
   389           in
   391           in
   390             "\n\nStructured proof" ^ (commas msg |> not (null msg) ? enclose " (" ")") ^ ":\n" ^
   392             "\n\nStructured proof" ^ (commas msg |> not (null msg) ? enclose " (" ")") ^ ":\n" ^
   391             Active.sendback_markup [Markup.padding_command] isar_text
   393             Active.sendback_markup [Markup.padding_command] isar_text