equal
deleted
inserted
replaced
613 (* Changing the order of live variables *) |
613 (* Changing the order of live variables *) |
614 |
614 |
615 fun raw_permute_bnf qualify src dest bnf (accum as (unfold_set, lthy)) = |
615 fun raw_permute_bnf qualify src dest bnf (accum as (unfold_set, lthy)) = |
616 if src = dest then (bnf, accum) else |
616 if src = dest then (bnf, accum) else |
617 let |
617 let |
618 val b = Binding.suffix_name (mk_permuteN src dest) (name_of_bnf bnf); |
618 val b = Binding.suffix_name (mk_permuteN src dest) (name_of_bnf bnf) |> Binding.reset_pos; |
619 val live = live_of_bnf bnf; |
619 val live = live_of_bnf bnf; |
620 val deads = deads_of_bnf bnf; |
620 val deads = deads_of_bnf bnf; |
621 val nwits = nwits_of_bnf bnf; |
621 val nwits = nwits_of_bnf bnf; |
622 |
622 |
623 fun permute xs = permute_like_unique (op =) src dest xs; |
623 fun permute xs = permute_like_unique (op =) src dest xs; |