quotient.ML
changeset 313 23aa8596dcd3
parent 312 4cf79f70efec
child 315 7af81ea081d6
equal deleted inserted replaced
312:4cf79f70efec 313:23aa8596dcd3
   145   val quotient_thm = typedef_quotient_thm (rel, ABS, REP, ABS_def, REP_def, quot_thm) lthy2
   145   val quotient_thm = typedef_quotient_thm (rel, ABS, REP, ABS_def, REP_def, quot_thm) lthy2
   146   val quotient_thm_name = Binding.prefix_name "QUOTIENT_" qty_name
   146   val quotient_thm_name = Binding.prefix_name "QUOTIENT_" qty_name
   147 
   147 
   148   (* storing the quot-info *)
   148   (* storing the quot-info *)
   149   val qty_str = fst (dest_Type abs_ty)		  
   149   val qty_str = fst (dest_Type abs_ty)		  
   150   val lthy3 = quotdata_update qty_str 
   150   val lthy3 = quotdata_update qty_str (Logic.varifyT abs_ty, Logic.varifyT rty, rel, equiv_thm) lthy2
   151                                 (Logic.varifyT abs_ty, Logic.varifyT rty, rel, equiv_thm) lthy2
   151   (* FIXME: varifyT should not be used *)
       
   152   (* the type name maybe should be calculated via qty_name and Sign.intern_type *} 
   152 
   153 
   153   (* interpretation *)
   154   (* interpretation *)
   154   val bindd = ((Binding.make ("", Position.none)), ([]: Attrib.src list))
   155   val bindd = ((Binding.make ("", Position.none)), ([]: Attrib.src list))
   155   val ((_, [eqn1pre]), lthy4) = Variable.import true [ABS_def] lthy3;
   156   val ((_, [eqn1pre]), lthy4) = Variable.import true [ABS_def] lthy3;
   156   val eqn1i = Thm.prop_of (symmetric eqn1pre)
   157   val eqn1i = Thm.prop_of (symmetric eqn1pre)