equal
deleted
inserted
replaced
230 |
230 |
231 fun flat_corec_preds_predsss_gettersss [] [qss] [fss] = flat_corec_predss_getterss qss fss |
231 fun flat_corec_preds_predsss_gettersss [] [qss] [fss] = flat_corec_predss_getterss qss fss |
232 | flat_corec_preds_predsss_gettersss (p :: ps) (qss :: qsss) (fss :: fsss) = |
232 | flat_corec_preds_predsss_gettersss (p :: ps) (qss :: qsss) (fss :: fsss) = |
233 p :: flat_corec_predss_getterss qss fss @ flat_corec_preds_predsss_gettersss ps qsss fsss; |
233 p :: flat_corec_predss_getterss qss fss @ flat_corec_preds_predsss_gettersss ps qsss fsss; |
234 |
234 |
235 fun mk_tupled_fun x f xs = HOLogic.tupled_lambda x (Term.list_comb (f, xs)); |
|
236 fun mk_uncurried2_fun f xss = |
235 fun mk_uncurried2_fun f xss = |
237 mk_tupled_fun (HOLogic.mk_tuple (map HOLogic.mk_tuple xss)) f (flat_rec_arg_args xss); |
236 mk_tupled_fun (HOLogic.mk_tuple (map HOLogic.mk_tuple xss)) f (flat_rec_arg_args xss); |
238 |
237 |
239 fun mk_flip (x, Type (_, [T1, Type (_, [T2, T3])])) = |
238 fun mk_flip (x, Type (_, [T1, Type (_, [T2, T3])])) = |
240 Abs ("x", T1, Abs ("y", T2, Var (x, T2 --> T1 --> T3) $ Bound 0 $ Bound 1)); |
239 Abs ("x", T1, Abs ("y", T2, Var (x, T2 --> T1 --> T3) $ Bound 0 $ Bound 1)); |