equal
deleted
inserted
replaced
270 Abs ("x", Termination.get_types D p, mk_set nat_pairT (map (tag_pair p) lm)) |
270 Abs ("x", Termination.get_types D p, mk_set nat_pairT (map (tag_pair p) lm)) |
271 |
271 |
272 val level_mapping = |
272 val level_mapping = |
273 map_index pt_lev lev |
273 map_index pt_lev lev |
274 |> Termination.mk_sumcases D (setT nat_pairT) |
274 |> Termination.mk_sumcases D (setT nat_pairT) |
275 |> Proof_Context.cterm_of ctxt |
275 |> Thm.cterm_of ctxt |
276 in |
276 in |
277 PROFILE "Proof Reconstruction" |
277 PROFILE "Proof Reconstruction" |
278 (CONVERSION (Conv.arg_conv (Conv.arg_conv (Function_Lib.regroup_union_conv sl))) 1 |
278 (CONVERSION (Conv.arg_conv (Conv.arg_conv (Function_Lib.regroup_union_conv sl))) 1 |
279 THEN (rtac @{thm reduction_pair_lemma} 1) |
279 THEN (rtac @{thm reduction_pair_lemma} 1) |
280 THEN (rtac @{thm rp_inv_image_rp} 1) |
280 THEN (rtac @{thm rp_inv_image_rp} 1) |