equal
deleted
inserted
replaced
46 val params_conv: int -> (Proof.context -> conv) -> Proof.context -> conv |
46 val params_conv: int -> (Proof.context -> conv) -> Proof.context -> conv |
47 val prems_conv: int -> conv -> conv |
47 val prems_conv: int -> conv -> conv |
48 val concl_conv: int -> conv -> conv |
48 val concl_conv: int -> conv -> conv |
49 val fconv_rule: conv -> thm -> thm |
49 val fconv_rule: conv -> thm -> thm |
50 val gconv_rule: conv -> int -> thm -> thm |
50 val gconv_rule: conv -> int -> thm -> thm |
|
51 val tap_thy: (theory -> conv) -> conv |
51 end; |
52 end; |
52 |
53 |
53 structure Conv: CONV = |
54 structure Conv: CONV = |
54 struct |
55 struct |
55 |
56 |
209 if Thm.is_reflexive eq then th |
210 if Thm.is_reflexive eq then th |
210 else Drule.with_subgoal i (fconv_rule (arg1_conv (K eq))) th |
211 else Drule.with_subgoal i (fconv_rule (arg1_conv (K eq))) th |
211 end |
212 end |
212 | NONE => raise THM ("gconv_rule", i, [th])); |
213 | NONE => raise THM ("gconv_rule", i, [th])); |
213 |
214 |
|
215 |
|
216 fun tap_thy conv ct = conv (Thm.theory_of_cterm ct) ct; |
|
217 |
214 end; |
218 end; |
215 |
219 |
216 structure Basic_Conv: BASIC_CONV = Conv; |
220 structure Basic_Conv: BASIC_CONV = Conv; |
217 open Basic_Conv; |
221 open Basic_Conv; |