src/HOL/BNF/Tools/bnf_fp_rec_sugar_util.ML
changeset 53591 b6e2993fd0d3
parent 53590 b6dc5403cad1
child 53592 5a7bf8c859f6
equal deleted inserted replaced
53590:b6dc5403cad1 53591:b6e2993fd0d3
   387 
   387 
   388     val nn0 = length res_Ts;
   388     val nn0 = length res_Ts;
   389     val nn = length perm_fpTs;
   389     val nn = length perm_fpTs;
   390     val kks = 0 upto nn - 1;
   390     val kks = 0 upto nn - 1;
   391     val perm_ns = map length perm_ctr_Tsss;
   391     val perm_ns = map length perm_ctr_Tsss;
   392     val perm_mss = map (map length) perm_ctr_Tsss;
       
   393 
   392 
   394     val perm_Cs = map (domain_type o body_fun_type o fastype_of o co_rec_of o
   393     val perm_Cs = map (domain_type o body_fun_type o fastype_of o co_rec_of o
   395       of_fp_sugar (#xtor_co_iterss o #fp_res)) perm_fp_sugars;
   394       of_fp_sugar (#xtor_co_iterss o #fp_res)) perm_fp_sugars;
   396     val (perm_p_Tss, (perm_q_Tssss, _, perm_f_Tssss, _)) =
   395     val (perm_p_Tss, (perm_q_Tssss, _, perm_f_Tssss, _)) =
   397       mk_coiter_fun_arg_types perm_Cs perm_ns perm_mss (co_rec_of dtor_coiters1);
   396       mk_coiter_fun_arg_types perm_ctr_Tsss perm_Cs perm_ns (co_rec_of dtor_coiters1);
   398 
   397 
   399     val (perm_p_hss, h) = indexedd perm_p_Tss 0;
   398     val (perm_p_hss, h) = indexedd perm_p_Tss 0;
   400     val (perm_q_hssss, h') = indexedddd perm_q_Tssss h;
   399     val (perm_q_hssss, h') = indexedddd perm_q_Tssss h;
   401     val (perm_f_hssss, _) = indexedddd perm_f_Tssss h';
   400     val (perm_f_hssss, _) = indexedddd perm_f_Tssss h';
   402 
   401