src/HOL/Tools/BNF/bnf_comp.ML
changeset 68960 b85d509e7cbf
parent 67091 1393c2340eec
child 69593 3dda49e08b9d
equal deleted inserted replaced
68959:d4223afddd47 68960:b85d509e7cbf
   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;