src/HOL/Codatatype/Tools/bnf_fp_sugar.ML
changeset 49177 db8ce685073f
parent 49176 6d29d2db5f88
child 49179 f9d48d479c84
equal deleted inserted replaced
49176:6d29d2db5f88 49177:db8ce685073f
   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