diff -r a746d49b0240 -r 331873ebc5cd Nominal/nominal_dt_rawperm.ML --- a/Nominal/nominal_dt_rawperm.ML Sun Aug 22 14:02:49 2010 +0800 +++ b/Nominal/nominal_dt_rawperm.ML Wed Aug 25 09:02:06 2010 +0800 @@ -9,8 +9,8 @@ signature NOMINAL_DT_RAWPERM = sig - val define_raw_perms: string list -> typ list -> term list -> thm -> local_theory -> - (term list * thm list * thm list) * local_theory + val define_raw_perms: string list -> typ list -> (string * sort) list -> term list -> thm -> + local_theory -> (term list * thm list * thm list) * local_theory end @@ -90,7 +90,7 @@ end -fun define_raw_perms full_ty_names tys constrs induct_thm lthy = +fun define_raw_perms full_ty_names tys tvs constrs induct_thm lthy = let val perm_fn_names = full_ty_names |> map Long_Name.base_name @@ -113,7 +113,7 @@ val ((perm_funs, perm_eq_thms), lthy') = lthy |> Local_Theory.exit_global - |> Class.instantiation (full_ty_names, [], @{sort pt}) + |> Class.instantiation (full_ty_names, tvs, @{sort pt}) |> Primrec.add_primrec perm_fn_binds perm_eqs val perm_zero_thms = prove_permute_zero induct_thm perm_eq_thms perm_funs lthy'