src/HOL/Tools/Sledgehammer/sledgehammer_prover_smt2.ML
changeset 57738 25d1495e6641
parent 57735 056a55b44ec7
child 57739 b6af899a78ac
equal deleted inserted replaced
57737:72d4c00064af 57738:25d1495e6641
   190       smt2_filter_loop name params state goal subgoal factss
   190       smt2_filter_loop name params state goal subgoal factss
   191     val used_named_facts = map snd fact_ids
   191     val used_named_facts = map snd fact_ids
   192     val used_facts = map fst used_named_facts
   192     val used_facts = map fst used_named_facts
   193     val outcome = Option.map failure_of_smt2_failure outcome
   193     val outcome = Option.map failure_of_smt2_failure outcome
   194 
   194 
   195     val (preferred_methss, message, message_tail) =
   195     val (preferred_methss, message) =
   196       (case outcome of
   196       (case outcome of
   197         NONE =>
   197         NONE =>
   198         let
   198         let
   199           val preferred_methss =
   199           val preferred_methss =
   200             (SMT2_Method, bunches_of_proof_methods (smt_proofs <> SOME false) false liftingN)
   200             (SMT2_Method, bunches_of_proof_methods (smt_proofs <> SOME false) false liftingN)
   210 
   210 
   211                val one_line_params =
   211                val one_line_params =
   212                  (preplay, proof_banner mode name, used_facts, subgoal, subgoal_count)
   212                  (preplay, proof_banner mode name, used_facts, subgoal, subgoal_count)
   213                val num_chained = length (#facts (Proof.goal state))
   213                val num_chained = length (#facts (Proof.goal state))
   214              in
   214              in
   215                proof_text ctxt debug isar_proofs smt_proofs isar_params num_chained one_line_params
   215                proof_text ctxt debug isar_proofs smt_proofs isar_params num_chained
   216              end,
   216                  one_line_params
   217            if verbose then "\nSMT solver real CPU time: " ^ string_of_time run_time ^ "." else "")
   217              end)
   218         end
   218         end
   219       | SOME failure => ((Auto_Method (* dummy *), []), fn _ => string_of_atp_failure failure, ""))
   219       | SOME failure => ((Auto_Method (* dummy *), []), fn _ => string_of_atp_failure failure))
   220   in
   220   in
   221     {outcome = outcome, used_facts = used_facts, used_from = used_from,
   221     {outcome = outcome, used_facts = used_facts, used_from = used_from,
   222      preferred_methss = preferred_methss, run_time = run_time, message = message,
   222      preferred_methss = preferred_methss, run_time = run_time, message = message}
   223      message_tail = message_tail}
       
   224   end
   223   end
   225 
   224 
   226 end;
   225 end;