quotient_info.ML
changeset 582 a082e2d138ab
parent 549 f178958d3d81
--- a/quotient_info.ML	Sun Dec 06 11:39:34 2009 +0100
+++ b/quotient_info.ML	Sun Dec 06 13:41:42 2009 +0100
@@ -23,6 +23,8 @@
   val qconsts_dest: theory -> qconsts_info list
   val print_qconstinfo: Proof.context -> unit
 
+  val equiv_rules_get: Proof.context -> thm list
+  val equiv_rules_add: attribute
   val rsp_rules_get: Proof.context -> thm list  
   val quotient_rules_get: Proof.context -> thm list
   val quotient_rules_add: attribute
@@ -168,24 +170,33 @@
   OuterSyntax.improper_command "print_quotconsts" "print out all quotient constants" 
     OuterKeyword.diag (Scan.succeed (Toplevel.keep (print_qconstinfo o Toplevel.context_of)))
 
-(* respectfulness lemmas *)
+(* equivalence relation theorems *)
+structure EquivRules = Named_Thms
+  (val name = "quotient_equiv"
+   val description = "Equivalence relation theorems.")
+
+val equiv_rules_get = EquivRules.get
+val equiv_rules_add = EquivRules.add
+
+(* respectfulness theorems *)
 structure RspRules = Named_Thms
   (val name = "quotient_rsp"
    val description = "Respectfulness theorems.")
 
 val rsp_rules_get = RspRules.get
 
-(* quotient lemmas *)
+(* quotient theorems *)
 structure QuotientRules = Named_Thms
   (val name = "quotient_thm"
    val description = "Quotient theorems.")
 
 val quotient_rules_get = QuotientRules.get
-val quotient_rules_add = Thm.declaration_attribute QuotientRules.add_thm
+val quotient_rules_add = QuotientRules.add
 
 (* setup of the theorem lists *)
 val _ = Context.>> (Context.map_theory 
-    (RspRules.setup #>
+    (EquivRules.setup #>
+     RspRules.setup #>
      QuotientRules.setup))
 
 end; (* structure *)