equal
deleted
inserted
replaced
903 |
903 |
904 |
904 |
905 (* mk_procrule *) |
905 (* mk_procrule *) |
906 |
906 |
907 fun mk_procrule ctxt thm = |
907 fun mk_procrule ctxt thm = |
908 let val (prems, lhs, elhs, rhs, _) = decomp_simp thm in |
908 let |
|
909 val (prems, lhs, elhs, rhs, _) = decomp_simp thm |
|
910 val thm' = Thm.close_derivation \<^here> thm; |
|
911 in |
909 if rewrite_rule_extra_vars prems lhs rhs |
912 if rewrite_rule_extra_vars prems lhs rhs |
910 then (cond_warning ctxt (fn () => print_thm ctxt "Extra vars on rhs:" ("", thm)); []) |
913 then (cond_warning ctxt (fn () => print_thm ctxt "Extra vars on rhs:" ("", thm)); []) |
911 else [mk_rrule2 {thm = thm, name = "", lhs = lhs, elhs = elhs, perm = false}] |
914 else [mk_rrule2 {thm = thm', name = "", lhs = lhs, elhs = elhs, perm = false}] |
912 end; |
915 end; |
913 |
916 |
914 |
917 |
915 (* rewritec: conversion to apply the meta simpset to a term *) |
918 (* rewritec: conversion to apply the meta simpset to a term *) |
916 |
919 |