src/HOL/Tools/Sledgehammer/sledgehammer_prover_atp.ML
changeset 62519 a564458f94db
parent 62391 1658fc9b2618
child 62549 9498623b27f0
equal deleted inserted replaced
62518:b8efcc9edd7b 62519:a564458f94db
   294               |> lines_of_atp_problem format ord ord_info
   294               |> lines_of_atp_problem format ord ord_info
   295               |> cons ("% " ^ command ^ "\n" ^ (if comment = "" then "" else "% " ^ comment ^ "\n"))
   295               |> cons ("% " ^ command ^ "\n" ^ (if comment = "" then "" else "% " ^ comment ^ "\n"))
   296               |> File.write_list prob_path
   296               |> File.write_list prob_path
   297 
   297 
   298             val ((output, run_time), (atp_proof, outcome)) =
   298             val ((output, run_time), (atp_proof, outcome)) =
   299               TimeLimit.timeLimit generous_slice_timeout Isabelle_System.bash_output command
   299               Timeout.apply generous_slice_timeout Isabelle_System.bash_output command
   300               |>> (if overlord then prefix ("% " ^ command ^ "\n% " ^ timestamp () ^ "\n") else I)
   300               |>> (if overlord then prefix ("% " ^ command ^ "\n% " ^ timestamp () ^ "\n") else I)
   301               |> fst |> split_time
   301               |> fst |> split_time
   302               |> (fn accum as (output, _) =>
   302               |> (fn accum as (output, _) =>
   303                 (accum,
   303                 (accum,
   304                  extract_tstplike_proof_and_outcome verbose proof_delims known_failures output
   304                  extract_tstplike_proof_and_outcome verbose proof_delims known_failures output
   305                  |>> atp_proof_of_tstplike_proof (perhaps (try (unprefix remote_prefix)) name)
   305                  |>> atp_proof_of_tstplike_proof (perhaps (try (unprefix remote_prefix)) name)
   306                    atp_problem
   306                    atp_problem
   307                  handle UNRECOGNIZED_ATP_PROOF () => ([], SOME ProofUnparsable)))
   307                  handle UNRECOGNIZED_ATP_PROOF () => ([], SOME ProofUnparsable)))
   308               handle TimeLimit.TimeOut => (("", slice_timeout), ([], SOME TimedOut))
   308               handle Timeout.TIMEOUT _ => (("", slice_timeout), ([], SOME TimedOut))
   309 
   309 
   310             val outcome =
   310             val outcome =
   311               (case outcome of
   311               (case outcome of
   312                 NONE =>
   312                 NONE =>
   313                 (case used_facts_in_unsound_atp_proof ctxt (map fst facts) atp_proof of
   313                 (case used_facts_in_unsound_atp_proof ctxt (map fst facts) atp_proof of