src/HOL/Tools/primrec_package.ML
changeset 29864 be53632b7f8d
parent 29863 dadad1831e9d
parent 29807 4159caa18f85
child 29866 6e93ae65c678
--- a/src/HOL/Tools/primrec_package.ML	Fri Feb 06 15:57:47 2009 +0100
+++ b/src/HOL/Tools/primrec_package.ML	Fri Feb 06 15:59:49 2009 +0100
@@ -247,12 +247,12 @@
     val _ = if gen_eq_set (op =) (names1, names2) then ()
       else primrec_error ("functions " ^ commas_quote names2 ^
         "\nare not mutually recursive");
-    val qualify = Binding.qualify
-      (space_implode "_" (map (Sign.base_name o #1) defs));
-    val spec' = (map o apfst o apfst) qualify spec;
+    val prefix = space_implode "_" (map (Sign.base_name o #1) defs);
+    val qualify = Binding.qualify prefix;
+    val spec' = (map o apfst)
+      (fn (b, attrs) => (qualify b, Code.add_default_eqn_attrib :: attrs)) spec;
     val simp_atts = map (Attrib.internal o K)
-      [Simplifier.simp_add, Code.add_default_eqn_attribute,
-       Nitpick_Const_Simps_Thms.add];
+      [Simplifier.simp_add, Nitpick_Const_Simps_Thms.add];
   in
     lthy
     |> set_group ? LocalTheory.set_group (serial_string ())