src/Pure/drule.ML
changeset 23568 afecdba16452
parent 23537 ecf487dce798
child 24005 2d473ed15491
equal deleted inserted replaced
23567:28c6a0118818 23568:afecdba16452
    96   val add_rule: thm -> thm list -> thm list
    96   val add_rule: thm -> thm list -> thm list
    97   val del_rule: thm -> thm list -> thm list
    97   val del_rule: thm -> thm list -> thm list
    98   val merge_rules: thm list * thm list -> thm list
    98   val merge_rules: thm list * thm list -> thm list
    99   val imp_cong_rule: thm -> thm -> thm
    99   val imp_cong_rule: thm -> thm -> thm
   100   val arg_cong_rule: cterm -> thm -> thm
   100   val arg_cong_rule: cterm -> thm -> thm
       
   101   val binop_cong_rule: cterm -> thm -> thm -> thm
   101   val fun_cong_rule: thm -> cterm -> thm
   102   val fun_cong_rule: thm -> cterm -> thm
   102   val beta_eta_conversion: cterm -> thm
   103   val beta_eta_conversion: cterm -> thm
   103   val eta_long_conversion: cterm -> thm
   104   val eta_long_conversion: cterm -> thm
   104   val eta_contraction_rule: thm -> thm
   105   val eta_contraction_rule: thm -> thm
   105   val norm_hhf_eq: thm
   106   val norm_hhf_eq: thm
   587 
   588 
   588 val imp_cong_rule = Thm.combination o Thm.combination (Thm.reflexive implies);
   589 val imp_cong_rule = Thm.combination o Thm.combination (Thm.reflexive implies);
   589 
   590 
   590 fun arg_cong_rule ct th = Thm.combination (Thm.reflexive ct) th;    (*AP_TERM in LCF/HOL*)
   591 fun arg_cong_rule ct th = Thm.combination (Thm.reflexive ct) th;    (*AP_TERM in LCF/HOL*)
   591 fun fun_cong_rule th ct = Thm.combination th (Thm.reflexive ct);    (*AP_THM in LCF/HOL*)
   592 fun fun_cong_rule th ct = Thm.combination th (Thm.reflexive ct);    (*AP_THM in LCF/HOL*)
       
   593 fun binop_cong_rule ct th1 th2 = Thm.combination (arg_cong_rule ct th1) th2;
   592 
   594 
   593 local
   595 local
   594   val dest_eq = Thm.dest_equals o cprop_of
   596   val dest_eq = Thm.dest_equals o cprop_of
   595   val rhs_of = snd o dest_eq
   597   val rhs_of = snd o dest_eq
   596 in
   598 in