equal
deleted
inserted
replaced
779 val phi = Proof_Context.export_morphism lthy_old lthy; |
779 val phi = Proof_Context.export_morphism lthy_old lthy; |
780 val co_rec_names = map (fst o dest_Const o Morphism.term phi) co_rec_frees; |
780 val co_rec_names = map (fst o dest_Const o Morphism.term phi) co_rec_frees; |
781 val co_recs = @{map 2} (fn name => fn resT => |
781 val co_recs = @{map 2} (fn name => fn resT => |
782 Const (name, co_rec_argTs ---> resT)) co_rec_names co_rec_resTs; |
782 Const (name, co_rec_argTs ---> resT)) co_rec_names co_rec_resTs; |
783 val co_rec_defs = map (fn def => |
783 val co_rec_defs = map (fn def => |
784 mk_unabs_def n (Morphism.thm phi def RS meta_eq_to_obj_eq)) co_rec_def_frees; |
784 mk_unabs_def n (HOLogic.mk_obj_eq (Morphism.thm phi def))) co_rec_def_frees; |
785 |
785 |
786 val xtor_un_fold_xtor_thms = |
786 val xtor_un_fold_xtor_thms = |
787 mk_xtor_un_fold_xtor_thms lthy fp (map (Term.subst_atomic_types (Xs ~~ Ts)) un_folds) |
787 mk_xtor_un_fold_xtor_thms lthy fp (map (Term.subst_atomic_types (Xs ~~ Ts)) un_folds) |
788 xtors xtor_un_fold_unique map_id0s absT_info_opts; |
788 xtors xtor_un_fold_unique map_id0s absT_info_opts; |
789 |
789 |