src/Pure/more_thm.ML
changeset 30210 225fa48756b2
parent 29579 cb520b766e00
child 30342 d32daa6aba3c
equal deleted inserted replaced
30209:9e245d524997 30210:225fa48756b2
    38   val forall_elim_vars: int -> thm -> thm
    38   val forall_elim_vars: int -> thm -> thm
    39   val unvarify: thm -> thm
    39   val unvarify: thm -> thm
    40   val close_derivation: thm -> thm
    40   val close_derivation: thm -> thm
    41   val add_axiom: binding * term -> theory -> thm * theory
    41   val add_axiom: binding * term -> theory -> thm * theory
    42   val add_def: bool -> bool -> binding * term -> theory -> thm * theory
    42   val add_def: bool -> bool -> binding * term -> theory -> thm * theory
       
    43   type binding = binding * attribute list
       
    44   val empty_binding: binding
    43   val rule_attribute: (Context.generic -> thm -> thm) -> attribute
    45   val rule_attribute: (Context.generic -> thm -> thm) -> attribute
    44   val declaration_attribute: (thm -> Context.generic -> Context.generic) -> attribute
    46   val declaration_attribute: (thm -> Context.generic -> Context.generic) -> attribute
    45   val theory_attributes: attribute list -> theory * thm -> theory * thm
    47   val theory_attributes: attribute list -> theory * thm -> theory * thm
    46   val proof_attributes: attribute list -> Proof.context * thm -> Proof.context * thm
    48   val proof_attributes: attribute list -> Proof.context * thm -> Proof.context * thm
    47   val no_attributes: 'a -> 'a * 'b list
    49   val no_attributes: 'a -> 'a * 'b list
   299 
   301 
   300 
   302 
   301 
   303 
   302 (** attributes **)
   304 (** attributes **)
   303 
   305 
       
   306 type binding = binding * attribute list;
       
   307 val empty_binding: binding = (Binding.empty, []);
       
   308 
   304 fun rule_attribute f (x, th) = (x, f x th);
   309 fun rule_attribute f (x, th) = (x, f x th);
   305 fun declaration_attribute f (x, th) = (f th x, th);
   310 fun declaration_attribute f (x, th) = (f th x, th);
   306 
   311 
   307 fun apply_attributes mk dest =
   312 fun apply_attributes mk dest =
   308   let
   313   let