equal
deleted
inserted
replaced
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))) |