src/HOL/Tools/Sledgehammer/sledgehammer_run.ML
changeset 48396 dd82d190c2af
parent 48394 82fc8c956cdc
child 48399 4bacc8983b3d
equal deleted inserted replaced
48395:85a7fb65507a 48396:dd82d190c2af
   181       val _ = Proof.assert_backward state
   181       val _ = Proof.assert_backward state
   182       val print = if mode = Normal then Output.urgent_message else K ()
   182       val print = if mode = Normal then Output.urgent_message else K ()
   183       val state =
   183       val state =
   184         state |> Proof.map_context (Config.put SMT_Config.verbose debug)
   184         state |> Proof.map_context (Config.put SMT_Config.verbose debug)
   185       val ctxt = Proof.context_of state
   185       val ctxt = Proof.context_of state
   186       val {facts = chained_ths, goal, ...} = Proof.goal state
   186       val {facts = chained, goal, ...} = Proof.goal state
   187       val (_, hyp_ts, concl_t) = strip_subgoal ctxt goal i
   187       val (_, hyp_ts, concl_t) = strip_subgoal ctxt goal i
   188       val ho_atp = exists (Sledgehammer_Provers.is_ho_atp ctxt) provers
   188       val ho_atp = exists (Sledgehammer_Provers.is_ho_atp ctxt) provers
   189       val reserved = reserved_isar_keyword_table ()
   189       val reserved = reserved_isar_keyword_table ()
   190       val css_table = clasimpset_rule_table_of ctxt
   190       val css = clasimpset_rule_table_of ctxt
   191       val facts =
   191       val facts =
   192         nearly_all_facts ctxt ho_atp fact_override reserved css_table
   192         nearly_all_facts ctxt ho_atp fact_override reserved css chained hyp_ts
   193                          chained_ths hyp_ts concl_t
   193                          concl_t
   194       val _ = () |> not blocking ? kill_provers
   194       val _ = () |> not blocking ? kill_provers
   195       val _ = case find_first (not o is_prover_supported ctxt) provers of
   195       val _ = case find_first (not o is_prover_supported ctxt) provers of
   196                 SOME name => error ("No such prover: " ^ name ^ ".")
   196                 SOME name => error ("No such prover: " ^ name ^ ".")
   197               | NONE => ()
   197               | NONE => ()
   198       val _ = print "Sledgehammering..."
   198       val _ = print "Sledgehammering..."