tuned;
authorwenzelm
Wed, 23 Jul 2025 13:05:50 +0200
changeset 82895 83b9639f5c42
parent 82894 a8e47bd31965
child 82896 cc89d72e17b8
tuned;
src/Pure/bires.ML
--- a/src/Pure/bires.ML	Tue Jul 22 12:02:53 2025 +0200
+++ b/src/Pure/bires.ML	Wed Jul 23 13:05:50 2025 +0200
@@ -46,7 +46,6 @@
 
   type 'a decl = {kind: kind, tag: tag, info: 'a}
   val decl_ord: 'a decl ord
-  val decl_eq_kind: 'a decl * 'a decl -> bool
   type 'a decls
   val has_decls: 'a decls -> thm -> bool
   val get_decls: 'a decls -> thm -> 'a decl list
@@ -190,8 +189,6 @@
     EQUAL => rev_order (tag_index_ord (apply2 #tag args))
   | ord => ord);
 
-fun decl_eq_kind ({kind, ...}: 'a decl, {kind = kind', ...}: 'a decl) = kind = kind';
-
 fun next_decl next ({kind, tag, info}: 'a decl) : 'a decl =
   {kind = kind, tag = next_tag next tag, info = info};
 
@@ -201,8 +198,8 @@
 
 local
 
-fun dup_decls (Decls {rules, ...}) (thm, decl) =
-  member decl_eq_kind (Proptab.lookup_list rules thm) decl;
+fun dup_decls (Decls {rules, ...}) (thm, {kind, ...}: 'a decl) =
+  exists (fn {kind = kind', ...} => kind = kind') (Proptab.lookup_list rules thm);
 
 fun add_decls (thm, decl) (Decls {next, rules}) =
   let