src/Pure/Tools/class_package.ML
changeset 23919 af871d13e320
parent 23351 3702086a15a3
child 23953 f7eedf3d09a3
equal deleted inserted replaced
23918:a4abccde0929 23919:af871d13e320
   635     fun interpret def =
   635     fun interpret def =
   636       let
   636       let
   637         val def' = symmetric def
   637         val def' = symmetric def
   638         val tac = (ALLGOALS o ProofContext.fact_tac) [def'];
   638         val tac = (ALLGOALS o ProofContext.fact_tac) [def'];
   639         val name_locale = (#locale o the_class_data thy) class;
   639         val name_locale = (#locale o the_class_data thy) class;
   640         val def_eq = (Logic.dest_equals o Thm.prop_of) def';
   640         val def_eq = Thm.prop_of def';
   641         val (params, consts) = split_list (param_map thy [class]);
   641         val (params, consts) = split_list (param_map thy [class]);
   642       in
   642       in
   643         prove_interpretation tac ((false, prfx), []) (Locale.Locale name_locale)
   643         prove_interpretation tac ((false, prfx), []) (Locale.Locale name_locale)
   644           ((mk_instT class, mk_inst class params consts), [def_eq])
   644           ((mk_instT class, mk_inst class params consts), [def_eq])
   645       end;
   645       end;