src/HOL/Mirabelle/Tools/mirabelle_sledgehammer.ML
changeset 55202 824c48a539c9
parent 55201 1ee776da8da7
child 55205 8450622db0c5
equal deleted inserted replaced
55201:1ee776da8da7 55202:824c48a539c9
   374 
   374 
   375 fun get_prover ctxt name params goal all_facts =
   375 fun get_prover ctxt name params goal all_facts =
   376   let
   376   let
   377     val learn = Sledgehammer_MaSh.mash_learn_proof ctxt params (prop_of goal) all_facts
   377     val learn = Sledgehammer_MaSh.mash_learn_proof ctxt params (prop_of goal) all_facts
   378   in
   378   in
   379     Sledgehammer_Minimize.get_minimizing_prover ctxt Sledgehammer_Prover.Normal
   379     Sledgehammer_Prover_Minimize.get_minimizing_prover ctxt Sledgehammer_Prover.Normal learn name
   380       learn name
       
   381   end
   380   end
   382 
   381 
   383 type stature = ATP_Problem_Generate.stature
   382 type stature = ATP_Problem_Generate.stature
   384 
   383 
   385 fun good_line s =
   384 fun good_line s =
   486           |> Sledgehammer_MaSh.relevant_facts ctxt params prover_name
   485           |> Sledgehammer_MaSh.relevant_facts ctxt params prover_name
   487                  (the_default default_max_facts max_facts)
   486                  (the_default default_max_facts max_facts)
   488                  Sledgehammer_Fact.no_fact_override hyp_ts concl_t
   487                  Sledgehammer_Fact.no_fact_override hyp_ts concl_t
   489           |> tap (fn factss =>
   488           |> tap (fn factss =>
   490                      "Line " ^ str0 (Position.line_of pos) ^ ": " ^
   489                      "Line " ^ str0 (Position.line_of pos) ^ ": " ^
   491                      Sledgehammer_Run.string_of_factss factss
   490                      Sledgehammer.string_of_factss factss
   492                      |> Output.urgent_message)
   491                      |> Output.urgent_message)
   493         val prover = get_prover ctxt prover_name params goal facts
   492         val prover = get_prover ctxt prover_name params goal facts
   494         val problem =
   493         val problem =
   495           {comment = "", state = st', goal = goal, subgoal = i,
   494           {comment = "", state = st', goal = goal, subgoal = i,
   496            subgoal_count = Sledgehammer_Util.subgoal_count st, factss = factss}
   495            subgoal_count = Sledgehammer_Util.subgoal_count st, factss = factss}
   606        ("preplay_timeout", preplay_timeout)]
   605        ("preplay_timeout", preplay_timeout)]
   607       |> sh_minimizeLST (*don't confuse the two minimization flags*)
   606       |> sh_minimizeLST (*don't confuse the two minimization flags*)
   608       |> max_new_mono_instancesLST
   607       |> max_new_mono_instancesLST
   609       |> max_mono_itersLST)
   608       |> max_mono_itersLST)
   610     val minimize =
   609     val minimize =
   611       Sledgehammer_Minimize.minimize_facts (K ()) prover_name params true 1
   610       Sledgehammer_Prover_Minimize.minimize_facts (K ()) prover_name params true 1
   612         (Sledgehammer_Util.subgoal_count st)
   611         (Sledgehammer_Util.subgoal_count st)
   613     val _ = log separator
   612     val _ = log separator
   614     val (used_facts, (preplay, message, message_tail)) =
   613     val (used_facts, (preplay, message, message_tail)) =
   615       minimize st goal NONE (these (!named_thms))
   614       minimize st goal NONE (these (!named_thms))
   616     val msg = message (Lazy.force preplay) ^ message_tail
   615     val msg = message (Lazy.force preplay) ^ message_tail