src/Tools/Code/code_thingol.ML
changeset 35845 e5980f0ad025
parent 35299 4f4d5bf4ea08
child 35961 00e48e1d9afd
equal deleted inserted replaced
35844:65258d2c3214 35845:e5980f0ad025
   611             (superclass, (classrel, (inst, dss))));
   611             (superclass, (classrel, (inst, dss))));
   612     fun translate_classparam_inst (c, ty) =
   612     fun translate_classparam_inst (c, ty) =
   613       let
   613       let
   614         val c_inst = Const (c, map_type_tfree (K arity_typ') ty);
   614         val c_inst = Const (c, map_type_tfree (K arity_typ') ty);
   615         val thm = AxClass.unoverload_conv thy (Thm.cterm_of thy c_inst);
   615         val thm = AxClass.unoverload_conv thy (Thm.cterm_of thy c_inst);
   616         val c_ty = (apsnd Logic.unvarifyT o dest_Const o snd
   616         val c_ty = (apsnd Logic.unvarifyT_global o dest_Const o snd
   617           o Logic.dest_equals o Thm.prop_of) thm;
   617           o Logic.dest_equals o Thm.prop_of) thm;
   618       in
   618       in
   619         ensure_const thy algbr eqngr c
   619         ensure_const thy algbr eqngr c
   620         ##>> translate_const thy algbr eqngr NONE (SOME thm) c_ty
   620         ##>> translate_const thy algbr eqngr NONE (SOME thm) c_ty
   621         #>> (fn (c, IConst c_inst) => ((c, c_inst), (thm, true)))
   621         #>> (fn (c, IConst c_inst) => ((c, c_inst), (thm, true)))