tuned and fixed the earlier fix
authorChristian Urban <urbanc@in.tum.de>
Tue, 20 Oct 2009 09:31:34 +0200
changeset 133 5cdb383cef9c
parent 132 a045d9021c61
child 134 72d003e82349
tuned and fixed the earlier fix
QuotMain.thy
--- a/QuotMain.thy	Tue Oct 20 09:21:18 2009 +0200
+++ b/QuotMain.thy	Tue Oct 20 09:31:34 2009 +0200
@@ -1129,7 +1129,9 @@
   | _ => f trm
 *}
 
+
 (* FIXME: assumes always the typ is qty! *)
+(* FIXME: if there are more than one quotient, then you have to look up the relation *)
 ML {*
 fun my_reg rel trm =
   case trm of
@@ -1137,18 +1139,18 @@
        let 
           val ty1 = fastype_of trm
        in
-         (mk_babs ty1 T) $ (mk_resp T $ rel) $ (my_reg rel t)    
+         (mk_babs ty1 T) $ (mk_resp T $ rel) $ (Abs (x, T, my_reg rel t))    
        end
-  | Const (@{const_name "All"}, U) $ t =>
+  | Const (@{const_name "All"}, ty) $ t =>
        let 
-          val ty1 = fastype_of t
+          val ty1 = domain_type ty
           val ty2 = domain_type ty1
        in
          (mk_ball ty1) $ (mk_resp ty2 $ rel) $ (apply_subt (my_reg rel) t)      
        end
-  | Const (@{const_name "Ex"}, U) $ t =>
+  | Const (@{const_name "Ex"}, ty) $ t =>
        let 
-          val ty1 = fastype_of t
+          val ty1 = domain_type ty
           val ty2 = domain_type ty1
        in
          (mk_bex ty1) $ (mk_resp ty2 $ rel) $ (apply_subt (my_reg rel) t)