split_name no longer uses Sign.string_of_typ to encode types, since
authorberghofe
Thu, 13 Mar 2003 18:54:38 +0100
changeset 13859 adf68d9e5dec
parent 13858 a077513c9a07
child 13860 b681a3cb0beb
split_name no longer uses Sign.string_of_typ to encode types, since this depends on the print mode and may lead to unpredictable results.
src/Provers/splitter.ML
--- a/src/Provers/splitter.ML	Tue Mar 11 15:19:27 2003 +0100
+++ b/src/Provers/splitter.ML	Thu Mar 13 18:54:38 2003 +0100
@@ -409,22 +409,24 @@
 
 (* addsplits / delsplits *)
 
-fun split_name sg (name, T) asm = "split " ^ 
-  (if asm then "asm " else "") ^ name ^ " :: " ^
-  Sign.string_of_typ sg (typ_subst_TVars
-    (map (rpair dummyT o fst) (typ_tvars T)) T);
+fun string_of_typ (Type (s, Ts)) = (if null Ts then ""
+      else enclose "(" ")" (commas (map string_of_typ Ts))) ^ s
+  | string_of_typ _ = "_";
+
+fun split_name (name, T) asm = "split " ^ 
+  (if asm then "asm " else "") ^ name ^ " :: " ^ string_of_typ T;
 
 fun ss addsplits splits =
   let fun addsplit (ss,split) =
         let val (name,asm) = split_thm_info split
-        in Simplifier.addloop (ss, (split_name (sign_of_thm split) name asm,
+        in Simplifier.addloop (ss, (split_name name asm,
 		       (if asm then split_asm_tac else split_tac) [split])) end
   in foldl addsplit (ss,splits) end;
 
 fun ss delsplits splits =
   let fun delsplit(ss,split) =
         let val (name,asm) = split_thm_info split
-        in Simplifier.delloop (ss, split_name (sign_of_thm split) name asm)
+        in Simplifier.delloop (ss, split_name name asm)
   end in foldl delsplit (ss,splits) end;
 
 fun Addsplits splits = (Simplifier.simpset_ref() :=