clarified signature;
authorwenzelm
Tue, 08 Jul 2025 12:10:00 +0200
changeset 82828 05d2b8b675da
parent 82827 b7c1c23058cf
child 82829 57c331dc167d
clarified signature;
src/Pure/Isar/context_rules.ML
src/Pure/bires.ML
--- a/src/Pure/Isar/context_rules.ML	Tue Jul 08 12:06:21 2025 +0200
+++ b/src/Pure/Isar/context_rules.ML	Tue Jul 08 12:10:00 2025 +0200
@@ -73,7 +73,7 @@
 structure Data = Generic_Data
 (
   type T = rules;
-  val empty = make_rules Bires.empty_decls Bires.kind_netpairs ([], []);
+  val empty = make_rules Bires.empty_decls (Bires.kind_values Bires.empty_netpair) ([], []);
   fun merge
     (Rules {decls = decls1, netpairs = netpairs1, wrappers = (ws1, ws1')},
      Rules {decls = decls2, netpairs = _, wrappers = (ws2, ws2')}) =
--- a/src/Pure/bires.ML	Tue Jul 08 12:06:21 2025 +0200
+++ b/src/Pure/bires.ML	Tue Jul 08 12:10:00 2025 +0200
@@ -30,6 +30,7 @@
   val kind_index: kind -> int
   val kind_elim: kind -> bool
   val kind_domain: kind list
+  val kind_values: 'a -> 'a list
   val kind_map: kind -> ('a -> 'a) -> 'a list -> 'a list
   val kind_rule: kind -> thm -> rule
   val kind_title: kind -> string
@@ -47,7 +48,6 @@
 
   type netpair = (tag * rule) Net.net * (tag * rule) Net.net
   val empty_netpair: netpair
-  val kind_netpairs: netpair list
   val insert_tagged_rule: tag * rule -> netpair -> netpair
   val insert_tagged_rules: (tag * rule) list -> netpair -> netpair
   val delete_tagged_rule: rule -> netpair -> netpair
@@ -127,6 +127,9 @@
 
 val kind_domain = map #1 kind_infos;
 
+fun kind_values x =
+  replicate (length (distinct (op =) (map kind_index kind_domain))) x;
+
 fun kind_map kind f = nth_map (kind_index kind) f;
 fun kind_rule kind thm : rule = (kind_elim kind, thm);
 
@@ -204,9 +207,6 @@
 
 val empty_netpair: netpair = (Net.empty, Net.empty);
 
-val kind_netpairs =
-  replicate (length (distinct (op =) (map kind_index kind_domain))) empty_netpair;
-
 
 (** Natural Deduction using (bires_flg, rule) pairs **)