src/HOL/Tools/BNF/bnf_lfp_rec_sugar.ML
changeset 55480 59cc4a8bc28a
parent 55464 56fa33537869
child 55482 61ffc2339a8c
equal deleted inserted replaced
55479:ece4910c3ea0 55480:59cc4a8bc28a
   160     val perm_Cs = map (body_type o fastype_of o co_rec_of o of_fp_sugar (#xtor_co_iterss o #fp_res))
   160     val perm_Cs = map (body_type o fastype_of o co_rec_of o of_fp_sugar (#xtor_co_iterss o #fp_res))
   161       perm_fp_sugars;
   161       perm_fp_sugars;
   162     val perm_fun_arg_Tssss =
   162     val perm_fun_arg_Tssss =
   163       mk_iter_fun_arg_types perm_ctr_Tsss perm_ns perm_mss (co_rec_of ctor_iters1);
   163       mk_iter_fun_arg_types perm_ctr_Tsss perm_ns perm_mss (co_rec_of ctor_iters1);
   164 
   164 
   165     fun unpermute0 perm0_xs = permute_like (op =) perm0_kks kks perm0_xs;
   165     fun unpermute0 perm0_xs = permute_like_unique (op =) perm0_kks kks perm0_xs;
   166     fun unpermute perm_xs = permute_like (op =) perm_indices indices perm_xs;
   166     fun unpermute perm_xs = permute_like_unique (op =) perm_indices indices perm_xs;
   167 
   167 
   168     val induct_thms = unpermute0 (conj_dests nn induct_thm);
   168     val induct_thms = unpermute0 (conj_dests nn induct_thm);
   169 
   169 
   170     val lfpTs = unpermute perm_lfpTs;
   170     val lfpTs = unpermute perm_lfpTs;
   171     val Cs = unpermute perm_Cs;
   171     val Cs = unpermute perm_Cs;