src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 55329 3c2dbd2e221f
parent 55327 3c7f3122ccdc
child 55452 29ec8680e61f
equal deleted inserted replaced
55328:0e17e92248ac 55329:3c2dbd2e221f
   314           | (_, outcome) => string_of_play_outcome outcome)
   314           | (_, outcome) => string_of_play_outcome outcome)
   315 
   315 
   316         val (play_outcome, isar_proof) =
   316         val (play_outcome, isar_proof) =
   317           canonical_isar_proof
   317           canonical_isar_proof
   318           |> tap (trace_isar_proof "Original")
   318           |> tap (trace_isar_proof "Original")
   319           |> compress_isar_proof ctxt compress_isar preplay_data
   319           |> compress_isar_proof ctxt compress_isar preplay_timeout preplay_data
   320           |> tap (trace_isar_proof "Compressed")
   320           |> tap (trace_isar_proof "Compressed")
   321           |> postprocess_isar_proof_remove_unreferenced_steps
   321           |> postprocess_isar_proof_remove_unreferenced_steps
   322                (keep_fastest_method_of_isar_step (!preplay_data)
   322                (keep_fastest_method_of_isar_step (!preplay_data)
   323                 #> minimize ? minimize_isar_step_dependencies ctxt preplay_data)
   323                 #> minimize ? minimize_isar_step_dependencies ctxt preplay_data)
   324           |> tap (trace_isar_proof "Minimized")
   324           |> tap (trace_isar_proof "Minimized")
       
   325           (* It's not clear whether this is worth the trouble (and if so, "isar_compress" has an
       
   326              unnatural semantics): *)
       
   327 (*
   325           |> minimize
   328           |> minimize
   326                ? (compress_isar_proof ctxt compress_isar preplay_data
   329                ? (compress_isar_proof ctxt compress_isar preplay_timeout preplay_data
   327                   #> tap (trace_isar_proof "Compressed again"))
   330                   #> tap (trace_isar_proof "Compressed again"))
       
   331 *)
   328           |> `(preplay_outcome_of_isar_proof (!preplay_data))
   332           |> `(preplay_outcome_of_isar_proof (!preplay_data))
   329           ||> (comment_isar_proof comment_of
   333           ||> (comment_isar_proof comment_of
   330                #> chain_isar_proof
   334                #> chain_isar_proof
   331                #> kill_useless_labels_in_isar_proof
   335                #> kill_useless_labels_in_isar_proof
   332                #> relabel_isar_proof_nicely)
   336                #> relabel_isar_proof_nicely)