equal
deleted
inserted
replaced
155 insert Thm.eq_thm case_cong case_congs0)))) |
155 insert Thm.eq_thm case_cong case_congs0)))) |
156 (fastype_of f) ([], [], [], []); |
156 (fastype_of f) ([], [], [], []); |
157 in |
157 in |
158 Goal.prove lthy vars [] goal (fn {context = ctxt, prems = _} => |
158 Goal.prove lthy vars [] goal (fn {context = ctxt, prems = _} => |
159 mk_gfp_rec_sugar_transfer_tac ctxt def |
159 mk_gfp_rec_sugar_transfer_tac ctxt def |
160 (#co_rec_def (#fp_co_induct_sugar (nth fp_sugars kk))) |
160 (#co_rec_def (the (#fp_co_induct_sugar (nth fp_sugars kk)))) |
161 (map (#type_definition o #absT_info) fp_sugars) |
161 (map (#type_definition o #absT_info) fp_sugars) |
162 (maps (#xtor_co_rec_transfers o #fp_res) fp_sugars) |
162 (maps (#xtor_co_rec_transfers o #fp_res) fp_sugars) |
163 (map (rel_def_of_bnf o #pre_bnf) fp_sugars) |
163 (map (rel_def_of_bnf o #pre_bnf) fp_sugars) |
164 disc_eq_cases case_thms case_distribs case_congs) |
164 disc_eq_cases case_thms case_distribs case_congs) |
165 |> Thm.close_derivation |
165 |> Thm.close_derivation |