equal
deleted
inserted
replaced
29 fun get_basic_lfp_sugars bs arg_Ts callers callssss0 lthy0 = |
29 fun get_basic_lfp_sugars bs arg_Ts callers callssss0 lthy0 = |
30 let |
30 let |
31 val ((missing_arg_Ts, perm0_kks, |
31 val ((missing_arg_Ts, perm0_kks, |
32 fp_sugars as {fp_nesting_bnfs, common_co_inducts = [common_induct], ...} :: _, |
32 fp_sugars as {fp_nesting_bnfs, common_co_inducts = [common_induct], ...} :: _, |
33 (lfp_sugar_thms, _)), lthy) = |
33 (lfp_sugar_thms, _)), lthy) = |
34 nested_to_mutual_fps Least_FP bs arg_Ts callers callssss0 lthy0; |
34 nested_to_mutual_fps Least_FP true bs arg_Ts callers callssss0 lthy0; |
35 |
35 |
36 val Ts = map #T fp_sugars; |
36 val Ts = map #T fp_sugars; |
37 val Xs = map #X fp_sugars; |
37 val Xs = map #X fp_sugars; |
38 val Cs = map (body_type o fastype_of o #co_rec) fp_sugars; |
38 val Cs = map (body_type o fastype_of o #co_rec) fp_sugars; |
39 val Xs_TCs = Xs ~~ (Ts ~~ Cs); |
39 val Xs_TCs = Xs ~~ (Ts ~~ Cs); |