src/Pure/drule.ML
changeset 12373 704e50ab65af
parent 12297 2ce7b42b0a64
child 12495 89f97fa683f5
equal deleted inserted replaced
12372:cd3a09c7dac9 12373:704e50ab65af
    99   val has_internal: tag list -> bool
    99   val has_internal: tag list -> bool
   100   val impose_hyps: cterm list -> thm -> thm
   100   val impose_hyps: cterm list -> thm -> thm
   101   val close_derivation: thm -> thm
   101   val close_derivation: thm -> thm
   102   val local_standard: thm -> thm
   102   val local_standard: thm -> thm
   103   val compose_single: thm * int * thm -> thm
   103   val compose_single: thm * int * thm -> thm
       
   104   val add_rule: thm -> thm list -> thm list
       
   105   val del_rule: thm -> thm list -> thm list
   104   val add_rules: thm list -> thm list -> thm list
   106   val add_rules: thm list -> thm list -> thm list
   105   val del_rules: thm list -> thm list -> thm list
   107   val del_rules: thm list -> thm list -> thm list
   106   val merge_rules: thm list * thm list -> thm list
   108   val merge_rules: thm list * thm list -> thm list
   107   val norm_hhf_eq: thm
   109   val norm_hhf_eq: thm
   108   val triv_goal: thm
   110   val triv_goal: thm
   488 val size_of_thm = size_of_term o #prop o rep_thm;
   490 val size_of_thm = size_of_term o #prop o rep_thm;
   489 
   491 
   490 (*maintain lists of theorems --- preserving canonical order*)
   492 (*maintain lists of theorems --- preserving canonical order*)
   491 fun del_rules rs rules = Library.gen_rems Thm.eq_thm (rules, rs);
   493 fun del_rules rs rules = Library.gen_rems Thm.eq_thm (rules, rs);
   492 fun add_rules rs rules = rs @ del_rules rs rules;
   494 fun add_rules rs rules = rs @ del_rules rs rules;
       
   495 val del_rule = del_rules o single;
       
   496 val add_rule = add_rules o single;
   493 fun merge_rules (rules1, rules2) = gen_merge_lists' Thm.eq_thm rules1 rules2;
   497 fun merge_rules (rules1, rules2) = gen_merge_lists' Thm.eq_thm rules1 rules2;
   494 
   498 
   495 
   499 
   496 (** Mark Staples's weaker version of eq_thm: ignores variable renaming and
   500 (** Mark Staples's weaker version of eq_thm: ignores variable renaming and
   497     (some) type variable renaming **)
   501     (some) type variable renaming **)