Quot/quotient_typ.ML
changeset 800 71225f4a4635
parent 799 0755f8fd56b3
child 804 ba7e81531c6d
--- a/Quot/quotient_typ.ML	Thu Dec 31 23:53:10 2009 +0100
+++ b/Quot/quotient_typ.ML	Fri Jan 01 01:08:19 2010 +0100
@@ -217,9 +217,15 @@
 (* - its mixfix annotation                                  *)
 (* - the type to be quotient                                *)
 (* - the relation according to which the type is quotient   *)
+(*                                                          *)
+(* opens a proof-state in which one has to show that the    *)
+(* relation is an equivalence relation                      *)
 
 fun quotient_type quot_list lthy = 
 let
+  (* sanity check *)  
+  val _ = map sanity_check quot_list 
+
   fun mk_goal (rty, rel) =
   let
     val equivp_ty = ([rty, rty] ---> @{typ bool}) --> @{typ bool}
@@ -231,14 +237,11 @@
               
   fun after_qed thms lthy =
     fold_map mk_typedef_main (quot_list ~~ thms) lthy |> snd
-
-  (* sanity check *)  
-  val _ = map sanity_check quot_list 
 in
   theorem after_qed goals lthy
 end
            
-fun quotient_type_cmd spec lthy = 
+fun quotient_type_cmd specs lthy = 
 let
   fun parse_spec ((((vs, qty_name), mx), rty_str), rel_str) =
   let
@@ -248,7 +251,7 @@
     ((vs, qty_name, mx), (rty, rel))
   end
 in
-  quotient_type (map parse_spec spec) lthy
+  quotient_type (map parse_spec specs) lthy
 end
 
 val quotspec_parser =