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