equal
deleted
inserted
replaced
310 |
310 |
311 fun mk_att f g name = |
311 fun mk_att f g name = |
312 Thm.mixed_attribute (fn (context, thm) => |
312 Thm.mixed_attribute (fn (context, thm) => |
313 let |
313 let |
314 val thm' = g thm; |
314 val thm' = g thm; |
315 val context' = Data.map (f (name, Thm.trim_context thm')) context; |
315 val context' = |
|
316 if Thm.is_free_dummy thm then context |
|
317 else Data.map (f (name, Thm.trim_context thm')) context; |
316 in (context', thm') end); |
318 in (context', thm') end); |
317 |
319 |
318 fun del_att which = |
320 fun del_att which = |
319 Thm.declaration_attribute (fn th => Data.map (which (apply2 (fn rs => |
321 Thm.declaration_attribute (fn th => Data.map (which (apply2 (fn rs => |
320 fold Item_Net.remove (filter_rules rs th) rs)))); |
322 fold Item_Net.remove (filter_rules rs th) rs)))); |