src/HOL/Tools/res_blacklist.ML
changeset 35829 c5f54c04a1aa
parent 35815 10e723e54076
parent 35828 46cfc4b8112e
child 35830 d4c4f88f6432
--- a/src/HOL/Tools/res_blacklist.ML	Wed Mar 17 19:55:07 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-(*  Title:      HOL/Tools/res_blacklist.ML
-    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
-    Author:     Makarius
-
-Theorems blacklisted to sledgehammer.  These theorems typically
-produce clauses that are prolific (match too many equality or
-membership literals) and relate to seldom-used facts.  Some duplicate
-other rules.
-*)
-
-signature RES_BLACKLIST =
-sig
-  val setup: theory -> theory
-  val blacklisted: Proof.context -> thm -> bool
-  val add: attribute
-  val del: attribute
-end;
-
-structure Res_Blacklist: RES_BLACKLIST =
-struct
-
-structure Data = Generic_Data
-(
-  type T = thm Termtab.table;
-  val empty = Termtab.empty;
-  val extend = I;
-  fun merge tabs = Termtab.merge (K true) tabs;
-);
-
-fun blacklisted ctxt th =
-  Termtab.defined (Data.get (Context.Proof ctxt)) (Thm.full_prop_of th);
-
-fun add_thm th = Data.map (Termtab.update (Thm.full_prop_of th, th));
-fun del_thm th = Data.map (Termtab.delete_safe (Thm.full_prop_of th));
-
-val add = Thm.declaration_attribute add_thm;
-val del = Thm.declaration_attribute del_thm;
-
-val setup =
-  Attrib.setup @{binding noatp} (Attrib.add_del add del) "sledgehammer blacklisting" #>
-  PureThy.add_thms_dynamic (@{binding noatp}, map #2 o Termtab.dest o Data.get);
-
-end;