quotient_def.ML
changeset 573 14682786c356
parent 549 f178958d3d81
--- a/quotient_def.ML	Sun Dec 06 00:00:47 2009 +0100
+++ b/quotient_def.ML	Sun Dec 06 06:39:32 2009 +0100
@@ -81,17 +81,7 @@
 
 fun make_def qconst_bname qty mx attr rhs lthy =
 let
-  val rty = fastype_of rhs
-  val (arg_rtys, res_rty) = strip_type rty
-  val (arg_qtys, res_qty) = strip_type qty
-  
-  val rep_fns = map (get_fun repF lthy) (arg_rtys ~~ arg_qtys)
-  val abs_fn  = get_fun absF lthy (res_rty, res_qty)
-
-  fun mk_fun_map t s =  
-        Const (@{const_name "fun_map"}, dummyT) $ t $ s
-
-  val absrep_trm = (fold_rev mk_fun_map rep_fns abs_fn $ rhs)
+  val absrep_trm = get_fun absF lthy (fastype_of rhs, qty) $ rhs
                    |> Syntax.check_term lthy 
 
   val ((trm, thm), lthy') = define qconst_bname mx attr absrep_trm lthy