equal
deleted
inserted
replaced
250 val prefix = space_implode "_" (map (Sign.base_name o #1) defs); |
250 val prefix = space_implode "_" (map (Sign.base_name o #1) defs); |
251 val qualify = Binding.qualify prefix; |
251 val qualify = Binding.qualify prefix; |
252 val spec' = (map o apfst) |
252 val spec' = (map o apfst) |
253 (fn (b, attrs) => (qualify b, Code.add_default_eqn_attrib :: attrs)) spec; |
253 (fn (b, attrs) => (qualify b, Code.add_default_eqn_attrib :: attrs)) spec; |
254 val simp_atts = map (Attrib.internal o K) |
254 val simp_atts = map (Attrib.internal o K) |
255 [Simplifier.simp_add, Nitpick_Const_Simps_Thms.add]; |
255 [Simplifier.simp_add, Nitpick_Const_Simp_Thms.add]; |
256 in |
256 in |
257 lthy |
257 lthy |
258 |> set_group ? LocalTheory.set_group (serial_string ()) |
258 |> set_group ? LocalTheory.set_group (serial_string ()) |
259 |> fold_map (LocalTheory.define Thm.definitionK o make_def lthy fixes fs) defs |
259 |> fold_map (LocalTheory.define Thm.definitionK o make_def lthy fixes fs) defs |
260 |-> (fn defs => `(fn ctxt => prove_spec ctxt names1 rec_rewrites defs spec')) |
260 |-> (fn defs => `(fn ctxt => prove_spec ctxt names1 rec_rewrites defs spec')) |