equal
deleted
inserted
replaced
401 fun internalize_params rule = |
401 fun internalize_params rule = |
402 let |
402 let |
403 fun rename prem = |
403 fun rename prem = |
404 let val xs = |
404 let val xs = |
405 map (Name.internal o Name.clean o fst) (Logic.strip_params prem) |
405 map (Name.internal o Name.clean o fst) (Logic.strip_params prem) |
406 in Logic.list_rename_params (xs, prem) end; |
406 in Logic.list_rename_params xs prem end; |
407 fun rename_prems prop = |
407 fun rename_prems prop = |
408 let val (As, C) = Logic.strip_horn prop |
408 let val (As, C) = Logic.strip_horn prop |
409 in Logic.list_implies (map rename As, C) end; |
409 in Logic.list_implies (map rename As, C) end; |
410 in Thm.equal_elim (Thm.reflexive (Drule.cterm_fun rename_prems (Thm.cprop_of rule))) rule end; |
410 in Thm.equal_elim (Thm.reflexive (Drule.cterm_fun rename_prems (Thm.cprop_of rule))) rule end; |
411 |
411 |