src/HOL/BNF/Tools/bnf_fp_rec_sugar.ML
changeset 54201 334a29265b2d
parent 54200 064f88a41096
child 54202 0a06b51ffa56
equal deleted inserted replaced
54200:064f88a41096 54201:334a29265b2d
   229         |> map_filter (try (apsnd (fn Nested_Rec p => p)));
   229         |> map_filter (try (apsnd (fn Nested_Rec p => p)));
   230 
   230 
   231       val args = replicate n_args ("", dummyT)
   231       val args = replicate n_args ("", dummyT)
   232         |> Term.rename_wrt_term t
   232         |> Term.rename_wrt_term t
   233         |> map Free
   233         |> map Free
   234         |> fold (fn (ctr_arg_idx, (arg_idx, T)) =>
   234         |> fold (fn (ctr_arg_idx, (arg_idx, _)) =>
   235             nth_map arg_idx (K (nth ctr_args ctr_arg_idx)))
   235             nth_map arg_idx (K (nth ctr_args ctr_arg_idx)))
   236           no_calls'
   236           no_calls'
   237         |> fold (fn (ctr_arg_idx, (arg_idx, T)) =>
   237         |> fold (fn (ctr_arg_idx, (arg_idx, T)) =>
   238             nth_map arg_idx (K (retype_free T (nth ctr_args ctr_arg_idx))))
   238             nth_map arg_idx (K (retype_free T (nth ctr_args ctr_arg_idx))))
   239           mutual_calls'
   239           mutual_calls'