src/Pure/logic.ML
changeset 12902 a23dc0b7566f
parent 12796 95bfef18da83
child 13659 3cf622f6b0b2
equal deleted inserted replaced
12901:4570584fbda9 12902:a23dc0b7566f
   304 (*Makes parameters in a goal have distinctive names (not guaranteed unique!)
   304 (*Makes parameters in a goal have distinctive names (not guaranteed unique!)
   305   A name clash could cause the printer to rename bound vars;
   305   A name clash could cause the printer to rename bound vars;
   306     then res_inst_tac would not work properly.*)
   306     then res_inst_tac would not work properly.*)
   307 fun rename_vars (a, []) = []
   307 fun rename_vars (a, []) = []
   308   | rename_vars (a, (_,T)::vars) =
   308   | rename_vars (a, (_,T)::vars) =
   309         (a,T) :: rename_vars (bump_string a, vars);
   309         (a,T) :: rename_vars (Symbol.bump_string a, vars);
   310 
   310 
   311 (*Move all parameters to the front of the subgoal, renaming them apart;
   311 (*Move all parameters to the front of the subgoal, renaming them apart;
   312   if n>0 then deletes assumption n. *)
   312   if n>0 then deletes assumption n. *)
   313 fun flatten_params n A =
   313 fun flatten_params n A =
   314     let val params = strip_params A;
   314     let val params = strip_params A;