src/Pure/tactic.ML
changeset 4693 2e47ea2c6109
parent 4611 18a3f33f2097
child 4713 bea2ab2e360b
equal deleted inserted replaced
4692:748f4e365d14 4693:2e47ea2c6109
   526      separated by blanks ***)
   526      separated by blanks ***)
   527 
   527 
   528 (*Calling this will generate the warning "Same as previous level" since
   528 (*Calling this will generate the warning "Same as previous level" since
   529   it affects nothing but the names of bound variables!*)
   529   it affects nothing but the names of bound variables!*)
   530 fun rename_tac str i = 
   530 fun rename_tac str i = 
   531   let val cs = explode str 
   531   let val cs = Symbol.explode str 
   532   in  
   532   in  
   533   if !Logic.auto_rename 
   533   if !Logic.auto_rename 
   534   then (warning "Resetting Logic.auto_rename"; 
   534   then (warning "Resetting Logic.auto_rename"; 
   535 	Logic.auto_rename := false)
   535 	Logic.auto_rename := false)
   536   else ();
   536   else ();
   537   case #2 (take_prefix (is_letdig orf is_blank) cs) of
   537   case #2 (take_prefix (Symbol.is_letdig orf Symbol.is_blank) cs) of
   538       [] => PRIMITIVE (rename_params_rule (scanwords is_letdig cs, i))
   538       [] => PRIMITIVE (rename_params_rule (scanwords Symbol.is_letdig cs, i))
   539     | c::_ => error ("Illegal character: " ^ c)
   539     | c::_ => error ("Illegal character: " ^ c)
   540   end;
   540   end;
   541 
   541 
   542 (*Rename recent parameters using names generated from a and the suffixes,
   542 (*Rename recent parameters using names generated from a and the suffixes,
   543   provided the string a, which represents a term, is an identifier. *)
   543   provided the string a, which represents a term, is an identifier. *)