# HG changeset patch # User huffman # Date 1315086760 25200 # Node ID ccfc7c193d2b998079e8a0e643662ef6d7d3ca48 # Parent 42a2e1a4f04fdac01d44ddb5334c9c661ae4c941 modify nominal packages to better respect set/pred distinction diff -r 42a2e1a4f04f -r ccfc7c193d2b src/HOL/Nominal/nominal_datatype.ML --- 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 $ diff -r 42a2e1a4f04f -r ccfc7c193d2b src/HOL/Nominal/nominal_permeq.ML --- 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'));