1932 map_filter (fn (A, set_bos) => if exists is_none set_bos then SOME A else NONE) |
1932 map_filter (fn (A, set_bos) => if exists is_none set_bos then SOME A else NONE) |
1933 (unsorted_As ~~ transpose set_boss); |
1933 (unsorted_As ~~ transpose set_boss); |
1934 |
1934 |
1935 val ((pre_bnfs, absT_infos), (fp_res as {bnfs = fp_bnfs as any_fp_bnf :: _, ctors = ctors0, |
1935 val ((pre_bnfs, absT_infos), (fp_res as {bnfs = fp_bnfs as any_fp_bnf :: _, ctors = ctors0, |
1936 dtors = dtors0, xtor_co_recs = xtor_co_recs0, xtor_co_induct, dtor_ctors, |
1936 dtors = dtors0, xtor_co_recs = xtor_co_recs0, xtor_co_induct, dtor_ctors, |
1937 ctor_dtors, ctor_injects, dtor_injects, xtor_maps, xtor_set_thmss, xtor_rel_thms, |
1937 ctor_dtors, ctor_injects, dtor_injects, xtor_maps, xtor_setss, xtor_rel_thms, |
1938 xtor_co_rec_thms, xtor_rel_co_induct, dtor_set_inducts, |
1938 xtor_co_rec_thms, xtor_rel_co_induct, dtor_set_inducts, |
1939 xtor_co_rec_transfers, ...}, |
1939 xtor_co_rec_transfers, ...}, |
1940 lthy)) = |
1940 lthy)) = |
1941 fp_bnf (construct_fp mixfixes map_bs rel_bs set_bss) fp_bs (map dest_TFree unsorted_As) |
1941 fp_bnf (construct_fp mixfixes map_bs rel_bs set_bss) fp_bs (map dest_TFree unsorted_As) |
1942 (map dest_TFree killed_As) fp_eqs no_defs_lthy |
1942 (map dest_TFree killed_As) fp_eqs no_defs_lthy |
2358 |
2358 |
2359 val lthy'' = lthy' |
2359 val lthy'' = lthy' |
2360 |> live > 0 ? fold2 (fn Type (s, _) => fn bnf => register_bnf_raw s bnf) fpTs fp_bnfs |
2360 |> live > 0 ? fold2 (fn Type (s, _) => fn bnf => register_bnf_raw s bnf) fpTs fp_bnfs |
2361 |> fold_map define_ctrs_dtrs_for_type (fp_bnfs ~~ fp_bs ~~ fpTs ~~ ctors ~~ dtors ~~ |
2361 |> fold_map define_ctrs_dtrs_for_type (fp_bnfs ~~ fp_bs ~~ fpTs ~~ ctors ~~ dtors ~~ |
2362 xtor_co_recs ~~ ctor_dtors ~~ dtor_ctors ~~ ctor_injects ~~ pre_map_defs ~~ pre_set_defss ~~ |
2362 xtor_co_recs ~~ ctor_dtors ~~ dtor_ctors ~~ ctor_injects ~~ pre_map_defs ~~ pre_set_defss ~~ |
2363 pre_rel_defs ~~ xtor_maps ~~ xtor_set_thmss ~~ xtor_rel_thms ~~ ns ~~ kss ~~ mss ~~ |
2363 pre_rel_defs ~~ xtor_maps ~~ xtor_setss ~~ xtor_rel_thms ~~ ns ~~ kss ~~ mss ~~ |
2364 abss ~~ abs_injects ~~ abs_inverses ~~ type_definitions ~~ ctr_bindingss ~~ ctr_mixfixess ~~ |
2364 abss ~~ abs_injects ~~ abs_inverses ~~ type_definitions ~~ ctr_bindingss ~~ ctr_mixfixess ~~ |
2365 ctr_Tsss ~~ disc_bindingss ~~ sel_bindingsss ~~ raw_sel_default_eqss) |
2365 ctr_Tsss ~~ disc_bindingss ~~ sel_bindingsss ~~ raw_sel_default_eqss) |
2366 |> wrap_ctrs_derive_map_set_rel_thms_define_co_rec_for_types |
2366 |> wrap_ctrs_derive_map_set_rel_thms_define_co_rec_for_types |
2367 |> case_fp fp derive_note_induct_recs_thms_for_types |
2367 |> case_fp fp derive_note_induct_recs_thms_for_types |
2368 derive_note_coinduct_corecs_thms_for_types; |
2368 derive_note_coinduct_corecs_thms_for_types; |