src/Pure/more_thm.ML
changeset 63352 4eaf35781b23
parent 63041 cb495c4807b3
child 64556 851ae0e7b09c
equal deleted inserted replaced
63347:e344dc82f6c2 63352:4eaf35781b23
    81   val add_axiom_global: binding * term -> theory -> (string * thm) * theory
    81   val add_axiom_global: binding * term -> theory -> (string * thm) * theory
    82   val add_def: Defs.context -> bool -> bool -> binding * term -> theory -> (string * thm) * theory
    82   val add_def: Defs.context -> bool -> bool -> binding * term -> theory -> (string * thm) * theory
    83   val add_def_global: bool -> bool -> binding * term -> theory -> (string * thm) * theory
    83   val add_def_global: bool -> bool -> binding * term -> theory -> (string * thm) * theory
    84   type attribute = Context.generic * thm -> Context.generic option * thm option
    84   type attribute = Context.generic * thm -> Context.generic option * thm option
    85   type binding = binding * attribute list
    85   type binding = binding * attribute list
    86   val empty_binding: binding
       
    87   val tag_rule: string * string -> thm -> thm
    86   val tag_rule: string * string -> thm -> thm
    88   val untag_rule: string -> thm -> thm
    87   val untag_rule: string -> thm -> thm
    89   val is_free_dummy: thm -> bool
    88   val is_free_dummy: thm -> bool
    90   val tag_free_dummy: thm -> thm
    89   val tag_free_dummy: thm -> thm
    91   val def_name: string -> string
    90   val def_name: string -> string
   595 
   594 
   596 (*attributes subsume any kind of rules or context modifiers*)
   595 (*attributes subsume any kind of rules or context modifiers*)
   597 type attribute = Context.generic * thm -> Context.generic option * thm option;
   596 type attribute = Context.generic * thm -> Context.generic option * thm option;
   598 
   597 
   599 type binding = binding * attribute list;
   598 type binding = binding * attribute list;
   600 val empty_binding: binding = (Binding.empty, []);
       
   601 
   599 
   602 fun rule_attribute ths f (x, th) =
   600 fun rule_attribute ths f (x, th) =
   603   (NONE,
   601   (NONE,
   604     (case find_first is_free_dummy (th :: ths) of
   602     (case find_first is_free_dummy (th :: ths) of
   605       SOME th' => SOME th'
   603       SOME th' => SOME th'