equal
deleted
inserted
replaced
476 | rename_params ((y, _) :: ys) = y :: rename_params ys; |
476 | rename_params ((y, _) :: ys) = y :: rename_params ys; |
477 fun rename_asm A = |
477 fun rename_asm A = |
478 let |
478 let |
479 val xs = rename_params (Logic.strip_params A); |
479 val xs = rename_params (Logic.strip_params A); |
480 val xs' = |
480 val xs' = |
481 (case List.filter (equal x) xs of |
481 (case filter (fn x' => x' = x) xs of |
482 [] => xs | [_] => xs | _ => index 1 xs); |
482 [] => xs | [_] => xs | _ => index 1 xs); |
483 in Logic.list_rename_params (xs', A) end; |
483 in Logic.list_rename_params (xs', A) end; |
484 fun rename_prop p = |
484 fun rename_prop p = |
485 let val (As, C) = Logic.strip_horn p |
485 let val (As, C) = Logic.strip_horn p |
486 in Logic.list_implies (map rename_asm As, C) end; |
486 in Logic.list_implies (map rename_asm As, C) end; |