907 |
907 |
908 val fp_eqs = |
908 val fp_eqs = |
909 map dest_TFree Xs ~~ map (Term.typ_subst_atomic (As ~~ unsorted_As)) ctr_sum_prod_TsXs; |
909 map dest_TFree Xs ~~ map (Term.typ_subst_atomic (As ~~ unsorted_As)) ctr_sum_prod_TsXs; |
910 |
910 |
911 val (pre_bnfs, (fp_res as {bnfs = fp_bnfs as any_fp_bnf :: _, ctors = ctors0, dtors = dtors0, |
911 val (pre_bnfs, (fp_res as {bnfs = fp_bnfs as any_fp_bnf :: _, ctors = ctors0, dtors = dtors0, |
912 folds = fp_folds0, recs = fp_recs0, induct = fp_induct, strong_induct = fp_strong_induct, |
912 un_folds = fp_folds0, co_recs = fp_recs0, co_induct = fp_induct, |
913 dtor_ctors, ctor_dtors, ctor_injects, map_thms = fp_map_thms, set_thmss = fp_set_thmss, |
913 strong_co_induct = fp_strong_induct, dtor_ctors, ctor_dtors, ctor_injects, |
914 rel_thms = fp_rel_thms, fold_thms = fp_fold_thms, rec_thms = fp_rec_thms, ...}, lthy)) = |
914 map_thms = fp_map_thms, set_thmss = fp_set_thmss, rel_thms = fp_rel_thms, |
|
915 un_fold_thms = fp_fold_thms, co_rec_thms = fp_rec_thms, ...}, lthy)) = |
915 fp_bnf (construct_fp mixfixes map_bs rel_bs set_bss) fp_bs (map dest_TFree unsorted_As) fp_eqs |
916 fp_bnf (construct_fp mixfixes map_bs rel_bs set_bss) fp_bs (map dest_TFree unsorted_As) fp_eqs |
916 no_defs_lthy0; |
917 no_defs_lthy0; |
917 |
918 |
918 val timer = time (Timer.startRealTimer ()); |
919 val timer = time (Timer.startRealTimer ()); |
919 |
920 |