src/Pure/Isar/attrib.ML
changeset 29690 c81f8b2967e1
parent 29581 b3b33e0298eb
child 30190 479806475f3c
child 30240 5b25fee0362c
equal deleted inserted replaced
29689:dd086f26ee4f 29690:c81f8b2967e1
   291   no_args (Thm.rule_attribute (K (Conv.fconv_rule Drule.eta_long_conversion)));
   291   no_args (Thm.rule_attribute (K (Conv.fconv_rule Drule.eta_long_conversion)));
   292 
   292 
   293 val rotated = syntax
   293 val rotated = syntax
   294   (Scan.lift (Scan.optional P.int 1) >> (fn n => Thm.rule_attribute (K (rotate_prems n))));
   294   (Scan.lift (Scan.optional P.int 1) >> (fn n => Thm.rule_attribute (K (rotate_prems n))));
   295 
   295 
       
   296 val abs_def = no_args (Thm.rule_attribute (K Drule.abs_def));
       
   297 
   296 
   298 
   297 (* theory setup *)
   299 (* theory setup *)
   298 
   300 
   299 val _ = Context.>> (Context.map_theory
   301 val _ = Context.>> (Context.map_theory
   300  (add_attributes
   302  (add_attributes
   319     ("atomize", no_args ObjectLogic.declare_atomize, "declaration of atomize rule"),
   321     ("atomize", no_args ObjectLogic.declare_atomize, "declaration of atomize rule"),
   320     ("rulify", no_args ObjectLogic.declare_rulify, "declaration of rulify rule"),
   322     ("rulify", no_args ObjectLogic.declare_rulify, "declaration of rulify rule"),
   321     ("rule_format", rule_format, "result put into standard rule format"),
   323     ("rule_format", rule_format, "result put into standard rule format"),
   322     ("rotated", rotated, "rotated theorem premises"),
   324     ("rotated", rotated, "rotated theorem premises"),
   323     ("defn", add_del_args LocalDefs.defn_add LocalDefs.defn_del,
   325     ("defn", add_del_args LocalDefs.defn_add LocalDefs.defn_del,
   324       "declaration of definitional transformations")]));
   326       "declaration of definitional transformations"),
       
   327     ("abs_def", abs_def, "abstract over free variables of a definition")]));
   325 
   328 
   326 
   329 
   327 
   330 
   328 (** configuration options **)
   331 (** configuration options **)
   329 
   332