equal
deleted
inserted
replaced
61 in lhs aconv rhs end |
61 in lhs aconv rhs end |
62 handle Utils.ERR _ => false; |
62 handle Utils.ERR _ => false; |
63 |
63 |
64 val P_imp_P_eq_True = @{thm eqTrueI} RS eq_reflection; |
64 val P_imp_P_eq_True = @{thm eqTrueI} RS eq_reflection; |
65 fun mk_meta_eq r = case concl_of r of |
65 fun mk_meta_eq r = case concl_of r of |
66 Const("==",_)$_$_ => r |
66 Const(@{const_name Pure.eq},_)$_$_ => r |
67 | _ $(Const(@{const_name HOL.eq},_)$_$_) => r RS eq_reflection |
67 | _ $(Const(@{const_name HOL.eq},_)$_$_) => r RS eq_reflection |
68 | _ => r RS P_imp_P_eq_True |
68 | _ => r RS P_imp_P_eq_True |
69 |
69 |
70 (*Is this the best way to invoke the simplifier??*) |
70 (*Is this the best way to invoke the simplifier??*) |
71 fun rewrite ctxt L = rewrite_rule ctxt (map mk_meta_eq (filter_out id_thm L)) |
71 fun rewrite ctxt L = rewrite_rule ctxt (map mk_meta_eq (filter_out id_thm L)) |