YES O(n) TRS: { g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u)), f(x, h1(y, z)) -> h2(0(), x, h1(y, z)), f(j(x, y), y) -> g(f(x, k(y))), k(h1(x, y)) -> h1(s(x), y), k(h(x)) -> h1(0(), x), h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u)), i(f(x, h(y))) -> y, i(h2(s(x), y, h1(x, z))) -> z } Natural interpretation: Strict: { g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u)), f(x, h1(y, z)) -> h2(0(), x, h1(y, z)), f(j(x, y), y) -> g(f(x, k(y))), k(h1(x, y)) -> h1(s(x), y), k(h(x)) -> h1(0(), x), h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u)), i(f(x, h(y))) -> y, i(h2(s(x), y, h1(x, z))) -> z } Weak: {} Interpretation class: stronglylinear [h](X0) = + 1*X0 + 0 [i](X0) = + 1*X0 + 1 [s](X0) = + 1*X0 + 0 [h1](X1, X0) = + 1*X0 + 1*X1 + 0 [0] = + 0 [h2](X2, X1, X0) = + 1*X0 + 1*X1 + 1*X2 + 0 [j](X1, X0) = + 1*X0 + 1*X1 + 3 [k](X0) = + 1*X0 + 1 [f](X1, X0) = + 1*X0 + 1*X1 + 2 [g](X0) = + 1*X0 + 1 Qed