src/HOL/Tools/typecopy_package.ML
changeset 28084 a05ca48ef263
parent 28083 103d9282a946
child 28350 715163ec93c0
equal deleted inserted replaced
28083:103d9282a946 28084:a05ca48ef263
   132           $ Free ("x", ty) $ Free ("y", ty);
   132           $ Free ("x", ty) $ Free ("y", ty);
   133         val def = HOLogic.mk_Trueprop (HOLogic.mk_eq
   133         val def = HOLogic.mk_Trueprop (HOLogic.mk_eq
   134           (mk_side @{const_name eq_class.eq}, mk_side @{const_name "op ="}));
   134           (mk_side @{const_name eq_class.eq}, mk_side @{const_name "op ="}));
   135         val def' = Syntax.check_term lthy def;
   135         val def' = Syntax.check_term lthy def;
   136         val ((_, (_, thm)), lthy') = Specification.definition
   136         val ((_, (_, thm)), lthy') = Specification.definition
   137           (NONE, ((Name.no_binding, []), def')) lthy;
   137           (NONE, (Attrib.no_binding, def')) lthy;
   138         val ctxt_thy = ProofContext.init (ProofContext.theory_of lthy);
   138         val ctxt_thy = ProofContext.init (ProofContext.theory_of lthy);
   139         val thm' = singleton (ProofContext.export lthy' ctxt_thy) thm;
   139         val thm' = singleton (ProofContext.export lthy' ctxt_thy) thm;
   140       in (thm', lthy') end;
   140       in (thm', lthy') end;
   141     fun tac thms = Class.intro_classes_tac []
   141     fun tac thms = Class.intro_classes_tac []
   142       THEN ALLGOALS (ProofContext.fact_tac thms);
   142       THEN ALLGOALS (ProofContext.fact_tac thms);