find_tname now handles parameter renaming properly ("as they are printed").
--- a/src/HOL/Tools/datatype_package.ML Tue Feb 24 16:38:51 2004 +0100
+++ b/src/HOL/Tools/datatype_package.ML Wed Feb 25 15:17:24 2004 +0100
@@ -143,7 +143,7 @@
fun find_tname var Bi =
let val frees = map dest_Free (term_frees Bi)
- val params = Logic.strip_params Bi;
+ val params = rename_wrt_term Bi (Logic.strip_params Bi);
in case assoc (frees @ params, var) of
None => error ("No such variable in subgoal: " ^ quote var)
| Some(Type (tn, _)) => tn