src/HOL/Tools/BNF/bnf_fp_util.ML
changeset 67710 cc2db3239932
parent 67505 ceb324e34c14
child 69592 a80d8ec6c998
equal deleted inserted replaced
67709:3c9e0b4709e7 67710:cc2db3239932
   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