src/HOL/BNF/Tools/bnf_fp_n2m_sugar.ML
changeset 53678 e55bb583342e
parent 53591 b6e2993fd0d3
child 53746 bd038e48526d
equal deleted inserted replaced
53677:b51ebeda414d 53678:e55bb583342e
   156             ([induct], fold_thmss, rec_thmss, [], [], [], []))
   156             ([induct], fold_thmss, rec_thmss, [], [], [], []))
   157         else
   157         else
   158           derive_coinduct_coiters_thms_for_types pre_bnfs (the coiters_args_types) xtor_co_induct
   158           derive_coinduct_coiters_thms_for_types pre_bnfs (the coiters_args_types) xtor_co_induct
   159             dtor_injects dtor_ctors xtor_co_iter_thmss nesting_bnfs fpTs Cs kss mss ns ctr_defss
   159             dtor_injects dtor_ctors xtor_co_iter_thmss nesting_bnfs fpTs Cs kss mss ns ctr_defss
   160             ctr_sugars co_iterss co_iter_defss (Proof_Context.export lthy no_defs_lthy) lthy
   160             ctr_sugars co_iterss co_iter_defss (Proof_Context.export lthy no_defs_lthy) lthy
   161           |> (fn ((coinduct_thms_pairs, _), (unfold_thmss, corec_thmss, _), _, _,
   161           |> (fn ((coinduct_thms_pairs, _), (unfold_thmss, corec_thmss, _), _,
   162                   (disc_unfold_thmss, disc_corec_thmss, _),
   162                   (disc_unfold_thmss, disc_corec_thmss, _), _,
   163                   (sel_unfold_thmsss, sel_corec_thmsss, _)) =>
   163                   (sel_unfold_thmsss, sel_corec_thmsss, _)) =>
   164             (map snd coinduct_thms_pairs, unfold_thmss, corec_thmss, disc_unfold_thmss,
   164             (map snd coinduct_thms_pairs, unfold_thmss, corec_thmss, disc_unfold_thmss,
   165              disc_corec_thmss, sel_unfold_thmsss, sel_corec_thmsss));
   165              disc_corec_thmss, sel_unfold_thmsss, sel_corec_thmsss));
   166 
   166 
   167       val phi = Proof_Context.export_morphism no_defs_lthy no_defs_lthy0;
   167       val phi = Proof_Context.export_morphism no_defs_lthy no_defs_lthy0;