--- a/src/HOL/Nominal/nominal_datatype.ML Sat Sep 03 14:33:45 2011 -0700
+++ b/src/HOL/Nominal/nominal_datatype.ML Sat Sep 03 14:52:40 2011 -0700
@@ -1205,7 +1205,7 @@
val ind_prems' =
map (fn (_, f as Free (_, T)) => list_all_free ([("x", fsT')],
HOLogic.mk_Trueprop (Const ("Finite_Set.finite",
- (List.last (binder_types T) --> HOLogic.boolT) -->
+ Term.range_type T -->
HOLogic.boolT) $ (f $ Free ("x", fsT'))))) fresh_fs @
maps (fn (((i, (_, _, constrs)), (_, idxss)), T) =>
map (make_ind_prem fsT' (fn T => fn t => fn u => HOLogic.Not $
--- a/src/HOL/Nominal/nominal_permeq.ML Sat Sep 03 14:33:45 2011 -0700
+++ b/src/HOL/Nominal/nominal_permeq.ML Sat Sep 03 14:52:40 2011 -0700
@@ -303,7 +303,7 @@
vs HOLogic.unit;
val s' = list_abs (ps,
Const ("Nominal.supp", fastype_of1 (Ts, s) -->
- List.last (binder_types T) --> HOLogic.boolT) $ s);
+ Term.range_type T) $ s);
val supports_rule' = Thm.lift_rule goal supports_rule;
val _ $ (_ $ S $ _) =
Logic.strip_assums_concl (hd (prems_of supports_rule'));