We are left with following problem, upon which TcT provides the certificate YES(?,O(n^1)). Strict Trs: { merge(x, nil()) -> x , merge(nil(), y) -> y , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } Obligation: innermost runtime complexity Answer: YES(?,O(n^1)) The input was oriented with the instance of 'Small Polynomial Path Order (PS)' as induced by the safe mapping safe(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {}, safe(v) = {} and precedence empty . Following symbols are considered recursive: {merge} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: merge(x, nil();) > x merge(nil(), y;) > y merge(++(; x, y), ++(; u(), v());) > ++(; x, merge(y, ++(; u(), v());)) merge(++(; x, y), ++(; u(), v());) > ++(; u(), merge(++(; x, y), v();)) Hurray, we answered YES(?,O(n^1))