added cong atts;
authorwenzelm
Fri, 31 Mar 2000 22:22:23 +0200
changeset 8643 331f0c75e3dc
parent 8642 140883a538c1
child 8644 c47735e7bd1c
added cong atts;
src/FOL/FOL.thy
src/FOL/simpdata.ML
--- a/src/FOL/FOL.thy	Fri Mar 31 22:01:01 2000 +0200
+++ b/src/FOL/FOL.thy	Fri Mar 31 22:22:23 2000 +0200
@@ -9,7 +9,7 @@
 use "cladata.ML"        setup Cla.setup setup clasetup
 use "blastdata.ML"      setup Blast.setup
 use "FOL_lemmas2.ML"
-use "simpdata.ML"       setup simpsetup
+use "simpdata.ML"       setup simpsetup setup cong_attrib_setup
                         setup "Simplifier.method_setup Splitter.split_modifiers"
                         setup Splitter.setup setup Clasimp.setup
 
--- a/src/FOL/simpdata.ML	Fri Mar 31 22:01:01 2000 +0200
+++ b/src/FOL/simpdata.ML	Fri Mar 31 22:22:23 2000 +0200
@@ -304,6 +304,17 @@
 fun Addcongs congs = (simpset_ref() := simpset() addcongs congs);
 fun Delcongs congs = (simpset_ref() := simpset() delcongs congs);
 
+val cong_add_global = Simplifier.change_global_ss (op addcongs);
+val cong_del_global = Simplifier.change_global_ss (op delcongs);
+val cong_add_local = Simplifier.change_local_ss (op addcongs);
+val cong_del_local = Simplifier.change_local_ss (op delcongs);
+
+val cong_attrib_setup =
+ [Attrib.add_attributes [("cong",
+   (Attrib.add_del_args cong_add_global cong_del_global,
+    Attrib.add_del_args cong_add_local cong_del_local),
+    "declare Simplifier congruence rules")]];
+
 
 val meta_simps =
    [triv_forall_equality,  (* prunes params *)