equal
deleted
inserted
replaced
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 |