equal
deleted
inserted
replaced
248 in |
248 in |
249 fold_rev (Term.absfree o Term.dest_Free) (Bs @ ss) rhs |
249 fold_rev (Term.absfree o Term.dest_Free) (Bs @ ss) rhs |
250 end; |
250 end; |
251 |
251 |
252 val ((alg_free, (_, alg_def_free)), (lthy, lthy_old)) = |
252 val ((alg_free, (_, alg_def_free)), (lthy, lthy_old)) = |
253 lthy |
253 lthy |
254 |> Local_Theory.define ((alg_bind, NoSyn), (alg_def_bind, alg_spec)) |
254 |> Local_Theory.define ((alg_bind, NoSyn), (alg_def_bind, alg_spec)) |
255 ||> `Local_Theory.restore; |
255 ||> `Local_Theory.restore; |
256 |
256 |
257 val phi = Proof_Context.export_morphism lthy_old lthy; |
257 val phi = Proof_Context.export_morphism lthy_old lthy; |
258 val alg = fst (Term.dest_Const (Morphism.term phi alg_free)); |
258 val alg = fst (Term.dest_Const (Morphism.term phi alg_free)); |
259 val alg_def = mk_unabs_def (2 * n) (Morphism.thm phi alg_def_free RS meta_eq_to_obj_eq); |
259 val alg_def = mk_unabs_def (2 * n) (Morphism.thm phi alg_def_free RS meta_eq_to_obj_eq); |
260 |
260 |