Nominal/nominal_dt_quot.ML
changeset 2398 1e6160690546
parent 2396 f2f611daf480
child 2400 c6d30d5f5ba1
--- a/Nominal/nominal_dt_quot.ML	Sat Aug 14 16:54:41 2010 +0800
+++ b/Nominal/nominal_dt_quot.ML	Sat Aug 14 23:33:23 2010 +0800
@@ -42,18 +42,21 @@
 
 
 (* defines the quotient permutations *)
-fun qperm_defs qtys full_tnames name_term_pairs thms thy =
+fun qperm_defs qtys full_tnames perm_specs thms thy =
 let
   val lthy =
     Class.instantiation (full_tnames, [], @{sort pt}) thy;
-  val (_, lthy') = qconst_defs qtys name_term_pairs lthy;
+  
+  val (_, lthy') = qconst_defs qtys perm_specs lthy;
+
   val lifted_thms = map (Quotient_Tacs.lifted qtys lthy') thms;
+
   fun tac _ =
     Class.intro_classes_tac [] THEN
-    (ALLGOALS (resolve_tac lifted_thms))
-  val lthy'' = Class.prove_instantiation_instance tac lthy'
+      (ALLGOALS (resolve_tac lifted_thms))
 in
-  Local_Theory.exit_global lthy''
+  lthy'
+  |> Class.prove_instantiation_exit tac 
 end