TRS: { test(x_0, y) -> True(), test(x_0, y) -> False(), append(l1_2, l2_1) -> match_0(l1_2, l2_1, l1_2), match_0(l1_2, l2_1, Nil()) -> l2_1, match_0(l1_2, l2_1, Cons(x, l)) -> Cons(x, append(l, l2_1)), part(a_4, l_3) -> match_1(a_4, l_3, l_3), match_1(a_4, l_3, Nil()) -> Pair(Nil(), Nil()), match_1(a_4, l_3, Cons(x, l')) -> match_2(x, l', a_4, l_3, part(a_4, l')), match_2(x, l', a_4, l_3, Pair(l1, l2)) -> match_3(l1, l2, x, l', a_4, l_3, test(a_4, x)), match_3(l1, l2, x, l', a_4, l_3, False()) -> Pair(Cons(x, l1), l2), match_3(l1, l2, x, l', a_4, l_3, True()) -> Pair(l1, Cons(x, l2)), quick(l_5) -> match_4(l_5, l_5), match_4(l_5, Nil()) -> Nil(), match_4(l_5, Cons(a, l')) -> match_5(a, l', l_5, part(a, l')), match_5(a, l', l_5, Pair(l1, l2)) -> append(quick(l1), Cons(a, quick(l2)))} Fail