equal
deleted
inserted
replaced
246 val iter_T = flat g_Tss ---> fp_T --> C; |
246 val iter_T = flat g_Tss ---> fp_T --> C; |
247 |
247 |
248 val ((gss, ysss), _) = |
248 val ((gss, ysss), _) = |
249 lthy |
249 lthy |
250 |> mk_Freess "f" g_Tss |
250 |> mk_Freess "f" g_Tss |
251 ||>> apfst (unflat y_Tsss) o mk_Freess "x" (flat y_Tsss); |
251 ||>> mk_Freesss "x" y_Tsss; |
252 |
252 |
253 val iter_rhs = |
253 val iter_rhs = |
254 fold_rev (fold_rev Term.lambda) gss |
254 fold_rev (fold_rev Term.lambda) gss |
255 (Term.list_comb (fp_iter, map2 (mk_sum_caseN oo map2 mk_uncurried_fun) gss ysss)); |
255 (Term.list_comb (fp_iter, map2 (mk_sum_caseN oo map2 mk_uncurried_fun) gss ysss)); |
256 in |
256 in |