src/HOL/List.thy
changeset 52131 366fa32ee2a3
parent 52122 510709f8881d
child 52141 eff000cab70f
child 52143 36ffe23b25f8
equal deleted inserted replaced
52130:86f7d8bc2a5f 52131:366fa32ee2a3
   639           end
   639           end
   640     fun make_inner_eqs bound_vs Tis eqs t =
   640     fun make_inner_eqs bound_vs Tis eqs t =
   641       (case dest_case t of
   641       (case dest_case t of
   642         SOME (x, T, i, cont) =>
   642         SOME (x, T, i, cont) =>
   643           let
   643           let
   644             val (vs, body) = strip_abs (Pattern.eta_long (map snd bound_vs) cont)
   644             val (vs, body) = strip_abs (Envir.eta_long (map snd bound_vs) cont)
   645             val x' = incr_boundvars (length vs) x
   645             val x' = incr_boundvars (length vs) x
   646             val eqs' = map (incr_boundvars (length vs)) eqs
   646             val eqs' = map (incr_boundvars (length vs)) eqs
   647             val (constr_name, _) = nth (the (Datatype.get_constrs thy (fst (dest_Type T)))) i
   647             val (constr_name, _) = nth (the (Datatype.get_constrs thy (fst (dest_Type T)))) i
   648             val constr_t =
   648             val constr_t =
   649               list_comb
   649               list_comb