TRS:
 {              lt(0(), s(X)) -> true(),
                lt(s(X), 0()) -> false(),
               lt(s(X), s(Y)) -> lt(X, Y),
             append(nil(), Y) -> Y,
         append(add(N, X), Y) -> add(N, append(X, Y)),
              split(N, nil()) -> pair(nil(), nil()),
          split(N, add(M, Y)) -> f_1(split(N, Y), N, M, Y),
     f_1(pair(X, Z), N, M, Y) -> f_2(lt(N, M), N, M, Y, X, Z),
   f_2(true(), N, M, Y, X, Z) -> pair(X, add(M, Z)),
  f_2(false(), N, M, Y, X, Z) -> pair(add(M, X), Z),
                 qsort(nil()) -> nil(),
             qsort(add(N, X)) -> f_3(split(N, X), N, X),
        f_3(pair(Y, Z), N, X) -> append(qsort(Y), add(X, qsort(Z)))}
 Fail