src/Tools/induct.ML
changeset 61853 fb7756087101
parent 61844 007d3b34080f
child 62913 13252110a6fe
equal deleted inserted replaced
61852:d273c24b5776 61853:fb7756087101
   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))));