equal
deleted
inserted
replaced
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 |