equal
deleted
inserted
replaced
767 fun co_rec_spec i = |
767 fun co_rec_spec i = |
768 fold_rev (Term.absfree o Term.dest_Free) co_rec_ss (nth co_rec_specs (i - 1)); |
768 fold_rev (Term.absfree o Term.dest_Free) co_rec_ss (nth co_rec_specs (i - 1)); |
769 |
769 |
770 val ((co_rec_frees, (_, co_rec_def_frees)), (lthy, lthy_old)) = |
770 val ((co_rec_frees, (_, co_rec_def_frees)), (lthy, lthy_old)) = |
771 lthy |
771 lthy |
772 |> Local_Theory.open_target |> snd |
772 |> Local_Theory.open_target |
773 |> fold_map (fn i => |
773 |> fold_map (fn i => |
774 Local_Theory.define ((co_rec_bind i, NoSyn), (co_rec_def_bind i, co_rec_spec i))) ks |
774 Local_Theory.define ((co_rec_bind i, NoSyn), (co_rec_def_bind i, co_rec_spec i))) ks |
775 |>> apsnd split_list o split_list |
775 |>> apsnd split_list o split_list |
776 ||> `Local_Theory.close_target; |
776 ||> `Local_Theory.close_target; |
777 |
777 |