src/HOL/Tools/BNF/bnf_lfp_rec_sugar_more.ML
changeset 58117 9608028d8f43
parent 57993 c52255a71114
child 58131 1abeda3c3bc2
equal deleted inserted replaced
58116:1a9ac371e5a0 58117:9608028d8f43
    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);