src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML
changeset 50825 aed1d7242050
parent 50814 4247cbd78aaf
child 50826 18ace05656cf
equal deleted inserted replaced
50824:a991d603aac6 50825:aed1d7242050
   769        (0.16 (* FUDGE *), (weight_raw_mash_facts raw_mash, raw_unknown)),
   769        (0.16 (* FUDGE *), (weight_raw_mash_facts raw_mash, raw_unknown)),
   770        (0.04 (* FUDGE *), (weight_proximity_facts proximity, []))]
   770        (0.04 (* FUDGE *), (weight_proximity_facts proximity, []))]
   771     val unknown =
   771     val unknown =
   772       raw_unknown
   772       raw_unknown
   773       |> fold (subtract (Thm.eq_thm_prop o pairself snd)) [chained, proximity]
   773       |> fold (subtract (Thm.eq_thm_prop o pairself snd)) [chained, proximity]
   774   in (mesh_facts (Thm.eq_thm o pairself snd) max_facts mess, unknown) end
   774   in (mesh_facts (Thm.eq_thm_prop o pairself snd) max_facts mess, unknown) end
   775 
   775 
   776 fun mash_suggested_facts ctxt ({overlord, ...} : params) prover max_facts hyp_ts
   776 fun mash_suggested_facts ctxt ({overlord, ...} : params) prover max_facts hyp_ts
   777                          concl_t facts =
   777                          concl_t facts =
   778   let
   778   let
   779     val thy = Proof_Context.theory_of ctxt
   779     val thy = Proof_Context.theory_of ctxt
  1114         [] |> (if fact_filter <> mashN then cons (mepo_weight, (mepo (), []))
  1114         [] |> (if fact_filter <> mashN then cons (mepo_weight, (mepo (), []))
  1115                else I)
  1115                else I)
  1116            |> (if fact_filter <> mepoN then cons (mash_weight, (mash ()))
  1116            |> (if fact_filter <> mepoN then cons (mash_weight, (mash ()))
  1117                else I)
  1117                else I)
  1118     in
  1118     in
  1119       mesh_facts (Thm.eq_thm o pairself snd) max_facts mess
  1119       mesh_facts (Thm.eq_thm_prop o pairself snd) max_facts mess
  1120       |> not (null add_ths) ? prepend_facts add_ths
  1120       |> not (null add_ths) ? prepend_facts add_ths
  1121     end
  1121     end
  1122 
  1122 
  1123 fun kill_learners () = Async_Manager.kill_threads MaShN "learner"
  1123 fun kill_learners () = Async_Manager.kill_threads MaShN "learner"
  1124 fun running_learners () = Async_Manager.running_threads MaShN "learner"
  1124 fun running_learners () = Async_Manager.running_threads MaShN "learner"