src/HOL/Tools/Old_Datatype/old_primrec.ML
changeset 63239 d562c9948dee
parent 63064 2f18172214c8
child 64674 ef0a5fd30f3b
equal deleted inserted replaced
63238:7c593d4f1f89 63239:d562c9948dee
   273 
   273 
   274 fun gen_primrec prep_spec raw_fixes raw_spec lthy =
   274 fun gen_primrec prep_spec raw_fixes raw_spec lthy =
   275   let
   275   let
   276     val (fixes, spec) = fst (prep_spec raw_fixes raw_spec lthy);
   276     val (fixes, spec) = fst (prep_spec raw_fixes raw_spec lthy);
   277     fun attr_bindings prefix = map (fn ((b, attrs), _) =>
   277     fun attr_bindings prefix = map (fn ((b, attrs), _) =>
   278       (Binding.qualify false prefix b, Code.add_default_eqn_attrib :: attrs)) spec;
   278       (Binding.qualify false prefix b, Code.add_default_eqn_attrib Code.Equation :: attrs)) spec;
   279     fun simp_attr_binding prefix =
   279     fun simp_attr_binding prefix =
   280       (Binding.qualify true prefix (Binding.name "simps"), @{attributes [simp, nitpick_simp]});
   280       (Binding.qualify true prefix (Binding.name "simps"), @{attributes [simp, nitpick_simp]});
   281   in
   281   in
   282     lthy
   282     lthy
   283     |> primrec_simple fixes (map snd spec)
   283     |> primrec_simple fixes (map snd spec)