src/Pure/Isar/attrib.ML
changeset 20241 a571d044891e
parent 20029 16957e34cfab
child 20289 ba7a7c56bed5
     1.1 --- a/src/Pure/Isar/attrib.ML	Thu Jul 27 23:28:25 2006 +0200
     1.2 +++ b/src/Pure/Isar/attrib.ML	Thu Jul 27 23:28:26 2006 +0200
     1.3 @@ -400,17 +400,22 @@
     1.4  fun params x = syntax (Args.and_list1 (Scan.lift (Scan.repeat Args.name)) >> RuleCases.params) x;
     1.5  
     1.6  
     1.7 -(* rule_format *)
     1.8 +(* rule format *)
     1.9  
    1.10  fun rule_format_att x = syntax (Args.mode "no_asm"
    1.11    >> (fn true => ObjectLogic.rule_format_no_asm | false => ObjectLogic.rule_format)) x;
    1.12  
    1.13 +fun elim_format x = no_args (Thm.rule_attribute (K Tactic.make_elim)) x;
    1.14 +
    1.15  
    1.16  (* misc rules *)
    1.17  
    1.18  fun standard x = no_args (Thm.rule_attribute (K Drule.standard)) x;
    1.19 -fun elim_format x = no_args (Thm.rule_attribute (K Tactic.make_elim)) x;
    1.20 -fun no_vars x = no_args (Thm.rule_attribute (K (#1 o Drule.freeze_thaw))) x;
    1.21 +
    1.22 +fun no_vars x = no_args (Thm.rule_attribute (fn ctxt => fn th =>
    1.23 +  let val ((_, [th']), _) = Variable.import true [th] (Context.proof_of ctxt)
    1.24 +  in th' end)) x;
    1.25 +
    1.26  fun eta_long x = no_args (Thm.rule_attribute (K (Drule.fconv_rule Drule.eta_long_conversion))) x;
    1.27  
    1.28