diff -r ee8e3eaad24c -r 1105b3b5aa77 src/HOL/Tools/Predicate_Compile/core_data.ML --- a/src/HOL/Tools/Predicate_Compile/core_data.ML Thu May 30 08:27:51 2013 +0200 +++ b/src/HOL/Tools/Predicate_Compile/core_data.ML Thu May 30 12:35:40 2013 +0200 @@ -218,9 +218,9 @@ fun inst_of_matches tts = fold (Pattern.match thy) tts (Vartab.empty, Vartab.empty) |> snd |> Vartab.dest |> map (pairself (cterm_of thy) o term_pair_of) val (cases, (eqs, prems)) = apsnd (chop (nargs - nparams)) (chop n prems) - val case_th = Raw_Simplifier.simplify true - (@{thm Predicate.eq_is_eq} :: map meta_eq_of eqs) (nth cases (i - 1)) - val prems' = maps (dest_conjunct_prem o Raw_Simplifier.simplify true tuple_rew_rules) prems + val case_th = + rewrite_rule (@{thm Predicate.eq_is_eq} :: map meta_eq_of eqs) (nth cases (i - 1)) + val prems' = maps (dest_conjunct_prem o rewrite_rule tuple_rew_rules) prems val pats = map (swap o HOLogic.dest_eq o HOLogic.dest_Trueprop) (take nargs (prems_of case_th)) val case_th' = Thm.instantiate ([], inst_of_matches pats) case_th OF (replicate nargs @{thm refl})