src/HOL/Tools/BNF/bnf_lfp.ML
changeset 58332 be0f5d8d511b
parent 58315 6d8458bc6e27
child 58443 a23780c22245
equal deleted inserted replaced
58331:054e9a9fccad 58332:be0f5d8d511b
   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