equal
deleted
inserted
replaced
125 val (param, _) = strip_comb (HOLogic.dest_Trueprop (prop_of param_prem)) |
125 val (param, _) = strip_comb (HOLogic.dest_Trueprop (prop_of param_prem)) |
126 val prems' = maps dest_conjunct_prem (take nargs prems) |
126 val prems' = maps dest_conjunct_prem (take nargs prems) |
127 fun param_rewrite prem = |
127 fun param_rewrite prem = |
128 param = snd (HOLogic.dest_eq (HOLogic.dest_Trueprop (prop_of prem))) |
128 param = snd (HOLogic.dest_eq (HOLogic.dest_Trueprop (prop_of prem))) |
129 val SOME rew_eq = find_first param_rewrite prems' |
129 val SOME rew_eq = find_first param_rewrite prems' |
130 val param_prem' = Raw_Simplifier.rewrite_rule |
130 val param_prem' = rewrite_rule |
131 (map (fn th => th RS @{thm eq_reflection}) |
131 (map (fn th => th RS @{thm eq_reflection}) |
132 [rew_eq RS @{thm sym}, @{thm split_beta}, @{thm fst_conv}, @{thm snd_conv}]) |
132 [rew_eq RS @{thm sym}, @{thm split_beta}, @{thm fst_conv}, @{thm snd_conv}]) |
133 param_prem |
133 param_prem |
134 in |
134 in |
135 rtac param_prem' 1 |
135 rtac param_prem' 1 |