src/HOL/Tools/Sledgehammer/sledgehammer_fact.ML
changeset 58226 04faf6dc262e
parent 58089 20e76da3a0ef
child 58919 82a71046dce8
equal deleted inserted replaced
58225:f5144942a83a 58226:04faf6dc262e
   474     val is_blacklisted_or_something = is_blacklisted_or_something ctxt ho_atp
   474     val is_blacklisted_or_something = is_blacklisted_or_something ctxt ho_atp
   475 
   475 
   476     fun add_facts global foldx facts =
   476     fun add_facts global foldx facts =
   477       foldx (fn (name0, ths) => fn accum =>
   477       foldx (fn (name0, ths) => fn accum =>
   478         if name0 <> "" andalso
   478         if name0 <> "" andalso
   479            forall (not o member Thm.eq_thm_prop add_ths) ths andalso
   479            (Long_Name.is_hidden (Facts.intern facts name0) orelse
   480            (Facts.is_concealed facts name0 orelse
   480             ((Facts.is_concealed facts name0 orelse
   481             Long_Name.is_hidden (Facts.intern facts name0) orelse
   481               (not generous andalso is_blacklisted_or_something name0)) andalso
   482             (not generous andalso is_blacklisted_or_something name0)) then
   482              forall (not o member Thm.eq_thm_prop add_ths) ths)) then
   483           accum
   483           accum
   484         else
   484         else
   485           let
   485           let
   486             val n = length ths
   486             val n = length ths
   487             val multi = n > 1
   487             val multi = n > 1