equal
deleted
inserted
replaced
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) |