src/HOL/Tools/Sledgehammer/sledgehammer_mepo.ML
changeset 59058 a78612c67ec0
parent 57149 7524b440686c
child 59582 0fbed69ff081
equal deleted inserted replaced
59057:5b649fb2f2e1 59058:a78612c67ec0
   359   let
   359   let
   360     val max_imperfect =
   360     val max_imperfect =
   361       Real.ceil (Math.pow (max_imperfect,
   361       Real.ceil (Math.pow (max_imperfect,
   362         Math.pow (Real.fromInt remaining_max / Real.fromInt max_facts, max_imperfect_exp)))
   362         Math.pow (Real.fromInt remaining_max / Real.fromInt max_facts, max_imperfect_exp)))
   363     val (perfect, imperfect) = candidates
   363     val (perfect, imperfect) = candidates
   364       |> sort (Real.compare o swap o pairself snd)
   364       |> sort (Real.compare o swap o apply2 snd)
   365       |> take_prefix (fn (_, w) => w > 0.99999)
   365       |> take_prefix (fn (_, w) => w > 0.99999)
   366     val ((accepts, more_rejects), rejects) =
   366     val ((accepts, more_rejects), rejects) =
   367       chop max_imperfect imperfect |>> append perfect |>> chop remaining_max
   367       chop max_imperfect imperfect |>> append perfect |>> chop remaining_max
   368   in
   368   in
   369     trace_msg ctxt (fn () =>
   369     trace_msg ctxt (fn () =>